用supervisor+nginx部署服务的流程

以chat_service为例:

1、将项目拷贝至某一路径

2、更改supervisor配置文件:supervisor.conf(一般在/etc/目录下)

  • 在/etc/supervisor.d/目录下新建chat_service.conf配置文件,如下:
[program:chat_service]
command=/usr/local/bin/gunicorn -b 0.0.0.0:8001 -w 40 -k gevent -t 300 chat_service.wsgi:application
directory=/home/hongkeyuan/chat/bin/chat_system/chat_service
autostart=true
autorestart=true
redirect_stderr=true
stdout_logfile=/home/hongkeyuan/chat/log/chat_service.log
stderr_logfile=/home/hongkeyuan/chat/log/chat_service.err
  • 将配置文件包含到supervisor.conf中,在supervisor.conf中加入:
[include]
files = /etc/supervisor.d/*.conf

3、更改nginx配置文件,/etc/nginx/conf.d/目录下新建chat_service.conf配置文件,如下:

upstream chat_service {
        server localhost:8001;
}

server {
        listen 8000;
        location /static {
                alias /home/robot/chat/bin/chat_system/chat_service/static;
        }
        location / {
                proxy_pass_header Server;
                proxy_set_header Host $http_host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Scheme $scheme;
                proxy_pass http://chat_service;
        }
}

4、重新加载supervisor:supervisorctl -c /etc/supervisor.conf reload,此时配置的服务也将重启。

5、重新加载nginx:nginx -s reload。

tips:

  • 如果需要sudo权限,相关命令前需要加sudo。
  • 这里nginx主要起重定向作用,如果不需要重定向,则无需配置nginx。
标签:部署SupervisorNginx 发布于:2019-11-06 15:24:34