flask部署实践

用flask mongodb开发了内部工具,部署在了ucloud centos上

已经稳定的跑了半个月了

现在记录一下部署的过程

使用gunicorn怪兽作为wsgi 指定gevent 协程作为其worker-class

使用supervisor来管理和自动重启,使用nginx来反向代理

#supervisor

###supervisor

#web ui
[inet_http_server]         ; inet (TCP) server disabled by default
port=*:9002      ; (ip_address:port specifier, *:port for all iface)
username=root007              ; (default is no username (open server))
password=toor@root007              ; (default is no password (open server))

#co.xxxx.com
[program:co]
command = gunicorn --worker-class=gevent -w5 -b0.0.0.0:3000 run:app
directory=/home/www/co.xxxx.com/
autostart=true
user=www
redirect_stderr=true
stdout_logfile=/home/www/datas/supervisorlog/co.log
stdout_logfile_maxbytes=1MB   ; max # logfile bytes b4 rotation (default 50MB)
stdout_logfile_backups=10     ; # of stdout logfile backups (default 10)

#nginx

#/usr/local/nginx/conf/vhost
server {
    listen 80;
    server_name co.xxxx.com;
    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Cookie $http_cookie;
        proxy_pass http://127.0.0.1:3000;
        proxy_set_header Host $http_host;
    }

    location ^~ /static/ {
        root /home/www/co.xxxx.com/;
        expires 30d;
    }
}

#启动过程

#supervisor
supervisord #supervosirctl #
supervisor> status co
#nginx
/usr/local/nginx/sbin/nginx -s reload

;)

原文地址:https://www.cnblogs.com/shiv/p/5663056.html