您的位置:首页 > 运维架构 > Nginx

django+nginx+supervisor+gunicorn+gevent 网站部署

2017-02-28 19:21 435 查看
django,nginx,supervisor,gunicorn,gevent这几个都是在本领域大名鼎鼎的软件,下面的部署都是在ubuntu12.04里面验证成功的!

首先是安装这些软件在ubuntu下面都比较简单,nginx和supservisor的安装如下

apt-get install nginx,supervisor


在ubuntu下使用python,强烈建议安装python-dev

安装django,gunicorn,gevent,使用虚拟环境安装,不要污染了系统库

配置gunicorn

gunicorn app.wsgi:application -w 4 -b :%(proxy_port)s -k gevent --max-requests 500 --access-logfile=%(access_log)s --error-logfile=%(error_log)s


supervisor配置

[program:dyzww]
autorestart=true
command= 这里写上面gunicorn 的command
directory= 网站所在的目录
process_name= top 中显示的进程名
redirect_stderr=true
stdot_logfile=log文件


nginx配置

server {
listen 80 default;
server_name _;
default_type application/octet-stream;
gzip on;
gzip_http_version 1.0;
gzip_proxied any;
gzip_min_length 500;
gzip_disable "MSIE [1-6]\.";
gzip_types text/plain text/html text/xml text/css
text/comma-separated-values
text/javascript application/x-javascript
application/atom+xml image/jpeg image/gif image/png;

location /static/ {
alias 静态文件目录,后面的斜杠必须要/;

}

location /media/ {
alias 媒体文件目录,后面斜杠必须有/;
expires 30d;
}

location / {
try_files $uri @proxied;
}

location @proxied {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass 这里填写gunicorn监听的地址;
}

access_log log文件;
}


按照上面的配置,django网站就能够驱动起来了,静态文件全部由nginx处理,只有动态文件需要django处理,这样大大的增加了性能!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: