nginx的安装和配置:http://blog.csdn.net/cjh6311882/article/details/7693575
1.安装
pip install uwsgi
3.配置
cp nginx/uwsgi_params /usr/local/nginx/conf/ vi /usr/local/nginx/conf/nginx.conf
编辑Nginx配置文件添加,uWSGI监听9090端口:
server {
listen 80;
root /var/www/django1.23;
index index.html index.htm;
server_name uwsgiadmin.django.obmem.info;
access_log /var/log/nginx/django.access.log;
location /media/ {
root /var/www/django1.23/adminmedia;
rewrite ^/media/(.*)$ /$1 break;
}
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:9090;
}
}
4.运行命令:
uwsgi --chdir=/data/antispam/code/spam_web --module=spam_web.wsgi:application --env DJANGO_SETTINGS_MODULE=spam_web.settings --master --socket=127.0.0.1:3400 --daemonize=/data/antispam/code/spam_web/web.log
具体的含义见文档:https://docs.djangoproject.com/en/1.8/howto/deployment/wsgi/uwsgi/
这里要注意的是
--module=spam_web.wsgi:application
application不是你的app名字,只是这里恰好是application而已。
5.特别注意
如果要开多进程同时响应访问请求,操作如下:
1.uwsgi的配置如下:
[uwsgi]
socket = 127.0.0.1:8100 #这里表示需要监听的端口数
socket = 127.0.0.1:8101
socket = 127.0.0.1:8102
socket = 127.0.0.1:8103
socket = 127.0.0.1:8104
socket = 127.0.0.1:8105
socket = 127.0.0.1:8106
socket = 127.0.0.1:8107
socket = 127.0.0.1:8108
socket = 127.0.0.1:8109
master = true
chdir = <project_dir>
module = <project_name>.wsgi
env = true
DJANGO_SETTINGS_MODULE = <project_name>.settings
master = true
daemonize = <log_dir>/web.log
processes = 10 #这里表示需要开的进程数,如果只有1个,只能单进程访问
2.nginx配置
upstream django {
server 127.0.0.1:8100; # 这里对应uwsgi的监听端口数
server 127.0.0.1:8101;
server 127.0.0.1:8102;
server 127.0.0.1:8103;
server 127.0.0.1:8104;
server 127.0.0.1:8105;
server 127.0.0.1:8106;
server 127.0.0.1:8107;
server 127.0.0.1:8108;
server 127.0.0.1:8109;
server 127.0.0.1:8110;
}
...
location / {
uwsgi_pass django;
include uwsgi_params;
}
...