nginx + gunicorn + django的简单部署

sudo apt-get install nginx

cd /etc/nginx/sites-available

sudo vim default

将配置文件修改为这样的 注意自己修改下面的路径

server {
     listen 80;

     server_name server_name;
     access_log /home/virusdefender/Desktop/access.log;
     error_log /home/virusdefender/Desktop/error.log;

     location / {
         proxy_pass http://127.0.0.1:8020;
         proxy_set_header Host $host;
         proxy_set_header X-Real-IP $remote_addr;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
     }
}
sudo nginx -t 测试配置文件

sudo nginx -s reload 重启nginx

然后去代码目录运行python manage.py runserver 8020测试一下

这个时候应该就能访问到了

然后运行sudo pip install gunicorn

去配置gunicorn代替runserver

在django的settings INSTALLED_APPS里面加上gunicorn

在manage.py文件夹中运行

gunicorn ×××.wsgi:application -b 127.0.0.1:8020 --reload

×××是工程名字 也就是settings所在的目录的名字
ip和端口要和上面的那个一样

这个时候应该就可以了

如果是ssh 连接 使用命令

nohup gunicorn ×××.wsgi:application -b 127.0.0.1:8011 --reload&

其实就是前面添加nohup 最后面加上&符号

进程操作的一点知识

停止进程操作 停止操作是通过向进程发送信号来进行的

步骤1:查询进程的主进程号,以nginx为例 ps -ef | grep nginx
在进程列表里面找master进程,它的编号就是主进程号了。

步骤2:发送信号 从容停止Nginx: kill -QUIT 主进程号

快速停止Nginx: kill -TERM 主进程号

强制停止Nginx: pkill -9 nginx

平滑重启 如果更改了配置就要重启Nginx,要先关闭Nginx再打开?不是的,可以向Nginx 发送信号,平滑重启。

平滑重启命令: kill -HUP 主进程号或进程号文件路径 或者使用

sudo nginx -s reload

    原文作者:virusdefender
    原文地址: https://segmentfault.com/a/1190000002417567
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞