uWSGI的安装与配置(官网摘录)

■ 安装uwsgi:

作为一个严谨(其实就是有强迫症)的程序,为了确保正确安装这个东西,费了我好长时间。首先,查找包里的readme,发现没有安装提示。各种被墙,辗转良久,才查看到uwsgi的官方文档说明:
http://uwsgi-docs.readthedocs.org/en/latest/WSGIquickstart.html

所以,也就有了本文。

言归正传,下面是 uwsgi 的两种安装方式


方式一:

采用源码(source tarball)安装uwsgi。

可以去pypi,搜索uwsgi下载:

https://pypi.python.org/pypi/uWSGI/

安装命令如下:

tar xvzf uwsgi-2.0.9.tar.gz

cd uwsgi-2.0.9

make

方式二:

使用pip安装uwsgi(这也是django1.7文档里推荐的方式):

pip install uwsgi


注:下图为官网的安装说明截图:


■ 配置uwsgi:

首先要明确的是,如果你喜欢用命令行的方式(如shell)敲命令,那可以省去任何配置。

但是,绝大多数人,还是不愿意记那么长的命令,反复敲的。所以uwsgi里,就给大家提供了多种配置,省去你启动时候,需要敲一长串命令的过程。

uwsgi 有多种配置可用:

1,ini

2,xml

3,json

4,yaml


从uwsgi的官方文档来看,貌似(我个人的理解)推荐用ini方式,所以下面的配置也都是基于ini的。


● ini 格式说明:

1,ini配置为 key=value 形式

2,在ini配置文件里,#号为注释,

3,布尔值为 true false 

4,在命令行里,uwsgi myconf.ini 等价于 uwsgi --ini myconf.ini 


●  ini 配置示例:

[uwsgi]
socket = 127.0.0.1:8000
workers = 4

■ uwsgi 选项说明:

● 选项的格式:

1,命令行参数格式:--<option>

2,配置格式(以ini为例):option = xxxx


● 常用选项:

socket : 地址和端口号,例如:socket = 127.0.0.1:50000

processes : 开启的进程数量

workers : 开启的进程数量,等同于processes(官网的说法是spawn the specified number of  workers / processes

chdir : 指定运行目录(chdir to specified directory before apps loading)

wsgi-file : 载入wsgi-file(load .wsgi file)

stats : 在指定的地址上,开启状态服务(enable the stats server on the specified address)

threads : 运行线程。由于GIL的存在,我觉得这个真心没啥用。(run each worker in prethreaded mode with the specified number of threads)

master : 允许主进程存在(enable master process)

daemonize : 使进程在后台运行,并将日志打到指定的日志文件或者udp服务器(daemonize uWSGI)。实际上最常用的,还是把运行记录输出到一个本地文件上。

log-maxsize :以固定的文件大小(单位KB),切割日志文件。 例如:log-maxsize = 50000000  就是50M一个日志文件。

pidfile : 指定pid文件的位置,记录主进程的pid号。

vacuum : 当服务器退出的时候自动清理环境,删除unix socket文件和pid文件(try to remove all of the generated file/sockets)

disable-logging : 不记录请求信息的日志。只记录错误以及uWSGI内部消息到日志中。如果不开启这项,那么你的日志中会大量出现这种记录:

[pid: 347|app: 0|req: 106/367] 117.116.122.172 () {52 vars in 961 bytes} [Thu Jul  7 19:20:56 2016] POST /post => generated 65 bytes in 6 msecs (HTTP/1.1 200) 2 headers in 88 bytes (1 switches on core 0)


其他选项说明:

其他选项,具体可以通过 --help 选项来查看:

uwsgi --help







注:下图为官网的 django  ini 配置说明截图:


====================================================================================

■ 下面是一些比较实用的配置:

[uwsgi]
socket = 127.0.0.1:50000
chdir = /home/httpServer/
wsgi-file = httpServer/wsgi.py
processes = 4
stats = 127.0.0.1:9090
daemonize = /home/log/httpServer.log
pidfile = /tmp/uwsgi.pid
vacuum = true
log-maxsize = 50000000

disable-logging = true



■ 参考:

A,《官方文档》:

http://uwsgi-docs.readthedocs.org/en/latest/WSGIquickstart.html

B,《uWSGI参考资料》:

http://www.cnblogs.com/zhouej/archive/2012/03/25/2379646.html





  • 5
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
uWSGI是一个Web服务器,它支持多种Web服务器协议和Python应用程序的部署。uWSGI还支持多线程和异步请求处理,可以提高Web应用程序的性能。下面是uwsgi模式_uwsgi配置详解: 1. 安装uWSGI 在Linux系统中,可以使用以下命令安装uWSGI: ```bash pip install uwsgi ``` 2. 编写uWSGI配置文件 uWSGI配置文件是一个INI文件,可以指定uWSGI服务器的各种参数。以下是一个简单的uWSGI配置文件示例: ```ini [uwsgi] socket = 127.0.0.1:8000 chdir = /path/to/project module = myapp.wsgi:application processes = 4 threads = 2 ``` 以上配置文件中,指定了uWSGI服务器监听的IP地址和端口号、应用程序的根目录、应用程序的入口模块和函数、启动的进程数和线程数。 3. 启动uWSGI服务器 可以使用以下命令启动uWSGI服务器: ```bash uwsgi --ini uwsgi.ini ``` 以上命令会读取当前目录下的uwsgi.ini文件,并使用其中的配置启动uWSGI服务器。 4. 配置Nginx服务器 uWSGI服务器通常和Nginx服务器一起使用,可以通过Nginx代理请求到uWSGI服务器。以下是一个简单的Nginx配置文件示例: ```nginx server { listen 80; server_name example.com; location / { uwsgi_pass 127.0.0.1:8000; include uwsgi_params; } } ``` 以上配置文件中,指定了Nginx服务器监听的IP地址和端口号、请求的域名、代理请求到的uWSGI服务器地址和端口号、以及uWSGI服务器的参数。 总结: 以上是uwsgi模式_uwsgi配置详解。通过uWSGI服务器和Nginx服务器的配合,可以快速部署Python Web应用程序,并提高Web应用程序的性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值