gunicorn+anaconda+nginx部署django项目(ubuntu)

时间:2021-10-30 23:42:26

首先进入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() * +
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 ;
charset utf-;
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