gunicorn+anaconda+nginx部署django项目(ubuntu)
首先进入conda 虚拟环境:
source activate test
安装gunicorn:
pip install gunicorn
运行gunicorn
gunicorn -w 2 -b 127.0.0.1:9200 -D test.wsgi:application # -D 为后台运行
或者配置gunicorn.py 文件,并放置在项目根目录下:
from gevent import monkey monkey.patch_all() import multiprocessing debug = True loglevel = 'debug' bind = '127.0.0.1:9200' //绑定与Nginx通信的端口 pidfile = 'log/gunicorn.pid' logfile = 'log/debug.log' workers = multiprocessing.cpu_count() * 2 + 1 worker_class = 'gevent' //默认为阻塞模式,最好选择gevent模式
并运行 gunicorn -c gunicorn.py test.wsgi:application -D
这时可以用ps -ef | grep gunicorn 命令看gunicorn是否运行
接下来配置nginx:
在配置nginx前,先要在django setting 文件中host中加上localhost,否则会报400错误。并重启gunicorn, kill -HUP pid (ps -ef | grep gunicorn 查看pid)
首先安装nginx, 运行命令 sudo apt install nginx
nginx 命令:
sudo service nginx start 启动
sudo service nginx stop 停止
sudo service nginx restart 关闭
配置文件:
sudo vim /etc/nginx/site-available/test.conf
server { listen 8000; charset utf-8; client_max_body_size 75M; location / { proxy_pass http://127.0.0.1:9200; } }
并生成软链接 sudo ln -s /etc/nginx/site-available/test.conf /etc/nginx/site-enabled/test.conf
重启nginx, sudo service nginx restart