nginx加上gunicorn配置和supervisor

nginx中的配置

server {
        listen 80; 
        root /www/demo;
        server_name localhost;
        location / {
            proxy_set_header x-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $http_host;
            proxy_pass http://localhost:5000/; # gunicorn绑定的端口号
        }
        # 配置static的静态文件:
        location ~ ^\/static\/.*$ {
            root /www/demo;
        }
}

gunicorn的配置文件gunicorn.py

import os
from multiprocessing import cpu_count

bind = "127.0.0.1:9000"
daemon = True

workers = cpu_count() * 2
worker_class = "gevent"
forwarded_allow_ips = '*'

keepalive = 6
timeout = 65
graceful_timeout = 10
worker_connections = 65535

gunicorn启动命令: gunicorn -c gunicorn.py manager:app

supervisor配置问题

# 安装好了supervisor之后再/etc下有两个文件,一个是supervisord.conf,这个是主要的配置文件,supervisord.d是放置自己配置文件的目录
# 如创建一个test.ini,必须是.ini为后缀名结尾,可以在supervisord.conf中的include之下更改
# test.py
[program:test]
command=/root/anaconda3/bin/gunicorn -c /root/gconfig.py test:app
directory=/root
user=root
autorestart=true
startretires=3

然后使用supervisorctl命令 supervisorctl update

开启supervisor: supervisord 如果有已经打开的,先关闭

开启supervisord报错, 使用python2开启,如: /usr/bin/python2.7 /usr/bin/supervisord -c /etc/supervisord.conf

# 配置supervisor可视化界面的坑
;[inet_http_server]         ;HTTP服务器,提供web管理界面
;port=9001        ;Web管理后台运行的IP和端口,如果开放到公网,需要注意安全性
;username=user              ;登录管理后台的用户名
;password=123               ;登录管理后台的密码

# 只需要将这一部分的 ; 去掉就行了, 主要port只需要端口号,不用ip,其它的有ip的都是坑(坑了我近几个小时,自己慢慢摸索出来的,其它的都加上了ip,但是启动supervisor的时候会报错,或者访问不了界面),亲测!!!!!!!!!!!!!!!!

你可能感兴趣的:(nginx加上gunicorn配置和supervisor)