PYTHON安装扩展包有两个easy_install和pip,现安装pip
然后用pip 安装 uwsgi
sudo pip install uwsgi
好了。然后进去你的DJANGO项目目录下
新建一个django.ini的文件。
配置内容:
[uwsgi]
# set the http port
http-socket=:8001
# set socket port
socket=127.0.0.1:8000
# change to django project directory
chdir=/Users/piglet/wwwroot/zhima
# load django
module=zhima.wsgi:application
然后,保存可以启动了
uwsgi --ini django.ini
注意配置文件中配置了两个端口。第一个http-socket是配置可以通过端口访问的HTTP地址
第二个配置SOCKET连接地址,这样子就可以通过
http://127.0.0.1:8001访问。
另一个端口是配置给nginx用的。
配置nginx的站点文件
server {
listen 80;
server_name z.my.com;
location / {
uwsgi_pass 127.0.0.1:8000;
include uwsgi_params;
}
}
因为NGINX是自带uwsgi的。所以直接用就可以了。
搞定。现在就可以访问啦。
uwsgi的配置还有很多参数
http://uwsgi-docs.readthedocs.org/en/latest/Options.html
django官方关于uwsgi配置的文档
https://docs.djangoproject.com/en/1.4/howto/deployment/wsgi/uwsgi/
后续会有些问题,关于文件自动更新的问题,修改了代码但是没有及时更新需要重启uwsgi,
这里需要去监听文件,自动重启uwsgi
可以在项目的wsgi.py中加入如下代码
- import uwsgi
- from uwsgidecorators import timer
- from django.utils import autoreload
- @timer(3)
- def change_code_gracefull_reload(sig):
- if autoreload.code_changed():
- uwsgi.reload()
但是当重新运行uwsgi --ini django.ini的时候,发现报错啦。
原来需要以master的方式启动
uwsgi --master --ini django.ini
现在可以啦。
还有就是import uwsgi这个模块要导入,需要以uwsgi的方式运行才行,要不会出现这个模块不存在的错误