配置目的:
由于django自带的web服务器弱爆了,用于开发测试还可以;如果在正式环使用就需要nginx+uwsgi+django了。
本文侧重uwsgi环境搭建,如想学习本文中1、2步的环境搭建方法,待我今后有时间再整理发博文了。
配置前提,python+django环境已经OK,并且项目已经可以web访问!
服务器环境:
centos6.4x64
python2.7.3
注意:下文的mysite代指django的项目名称
1.安装配置好nginx,django等相关软件(略)
2.安装配置好setuptools,pip等相关软件(略)
3.安装uwsgi
#pip install uwsgi
测试uwsgi是否正常:
新建test.py文件,内容如下:
def application(env, start_response): start_response('200 OK', [('Content-Type','text/html')]) return "Hello World"
然后在终端运行:
#uwsgi --http :8001 --wsgi-file test.py
如果页面出现 Hello World 说明配置成功。
4.配置nginx.conf文件:
#vim nginx.conf server { listen 80; server_name 192.168.232.10; location / { include uwsgi_params; uwsgi_pass 0.0.0.0:9000; } location /static { expires 30d; autoindex on; add_header Cache-Control private; alias /opt/share/mysite/statics/; #注意此处为django项目下的静态目录 } }
之后重启nginx服务。
5.配置uwsgi
#cd django项目目录
#ls
db.sqlite3 hosts manage.py mysite statics templates uploads uwsgi.ini uwsgi.log
#vim uwsgi.ini [uwsgi] socket = 0.0.0.0:9000 processes = 8 #进程数 chdir = /opt/share/mysite/ pythonpath = /usr/bin/python env = DJANGO_SETTINGS_MODULE=mysite.settings module = django.core.wsgi:get_wsgi_application()
说明:http=0.0.0.0:9000 是指用http方式,这样不通过Nginx等web服务器,也可以外部访问这个程序。如果是使用web服务器,必须使用socket方式.
6.启动uwsgi
前台启动:
#uwsgi uwsgi.ini
后台启动:
#/usr/bin/uwsgi /opt/share/mysite/uwsgi.ini -d /opt/share/mysite/uwsgi.log
关闭uwsgi:
#pkill uwsgi
配置nginx及uwsgi开机启动:
#vim /etc/rc.d/rc.local /etc/init.d/nginx start /usr/bin/uwsgi /opt/share/mysite/uwsgi.ini -d /opt/share/mysite/uwsgi.log
7.测试访问
在本地,访问 192.168.232.10 ,如果能正常访问说明配置OK。
效果图: