|
配置目的:
由于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
测试uwsgi是否正常:
新建test.py文件,内容如下:
1
2
3
| def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return "Hello World"
|
然后在终端运行:
1
| #uwsgi --http :8001 --wsgi-file test.py
|
如果页面出现 Hello World 说明配置成功。
4.配置nginx.conf文件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| #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
1
2
3
4
5
6
7
8
| #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
前台启动:
后台启动:
1
| #/usr/bin/uwsgi /opt/share/mysite/uwsgi.ini -d /opt/share/mysite/uwsgi.log
|
关闭uwsgi:
配置nginx及uwsgi开机启动:
1
2
3
| #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。
效果图:
|
|
|
|
|
|
|