Zeray Rice

..

使用 Uwsgi 代替 Mod_wsgi

上一篇说了 编译 nginx 跟 mod_wsgi .. 昨天 CMGS 大牛在豆瓣上跟我说 nginx 的新版本里面已经自带的 uwsgi 直接用就行了… 于是就跑去研究了下.. 据说效率很不错..

这回编译 nginx 就方便多了 直接去获取最新版 1.0.0

1
wget http://nginx.org/download/nginx-1.0.0.tar.gz

解压,编译,安装

1
2
3
4
tar xf nginx-1.0.0.tar.gz
cd nginx-1.0.0
./configure
make && sudo make install

到这里 nginx 安装完毕.. 默认安装在 /usr/local/nginx

下面开始安装 uwsgi .. 到官网获取最新版

1
wget http://projects.unbit.it/downloads/uwsgi-0.9.7.2.tar.gz

解压 安装..(需要安装 libxml2-devel 包..)

1
2
3
4
sudo yum install libxml2-devel
tar xf uwsgi-0.9.7.2.tar.gz
cd uwsgi-0.9.7.2
sudo python setup.py install

到此,所有东西安装完毕..下面说说怎么配置 nginx

编辑下 nginx 的 conf 文件

1
sudo gvim /usr/local/nginx/conf/nginx.conf

location / {容器中加上下面的东西:

1
2
include uwsgi_params
uwsgi_pass :9000; # uwsgi端口号

保存,退出,然后说说 uwsgi 的启动。

uwsgi 有各种选项,直接讲讲各种选项的使用好了..

–socket/-s 这个选项是指定监听的socket地址,可以是文件也可以是端口(端口格式为 -s :port

–module/-w 这个选项用来指定 python 文件..(就是带application = app..wsgifunc()的那个文件 )

–processes/–worker/-p(这个-p选项在–help中出现了2次..不知道是否等价)这个选项用来指定线程个数,后面跟一个数字。

–master/-M 这个选项用来指定一个主控制进程,这个选项无参数..

–daemonize/-d 这个选项用来指定日志文件地址(如果启用这个选项则默认进入后台模式),另外这个选项似乎也支持发送日志到某个 address 似乎走的是 UDP 协议,没研究过..

好了,这个全水的文章结束了。

Comments