gunicorn+nginx+flask部署上线

  1. 安装gunicorn

     pip install gunicorn
    
  2. flask程序没用flask_script和flask_migrate的部署

    gunicorn+nginx+flask部署上线_第1张图片

     gunicorn -w 4 -b ip:port --access-logfile 日志文件位置 运行文件名称:Flask程序实例名
     列
     gunicorn -w 4 -b 172.168.66.238:5000 --access-logfile ./logs/log2 run:app
    
  3. 安装nginx

     sudo apt-get install nginx
    
  4. Nginx配置:

     默认安装到/usr/local/nginx/目录,进入目录。
    
     启动nginx:
     
     #启动
     sudo sbin/nginx
     #查看
     ps aux | grep nginx
     #停止
     sudo sbin/nginx -s stop
    
  5. 打开/usr/local/nginx/conf/nginx.conf文件:

     server {
         # 监听80端口
         listen 80;
         # 本机
         server_name localhost; 
         # 默认请求的url
         location / {
             #请求转发到gunicorn服务器
             proxy_pass http://172.168.66.238:5000; 
             #设置请求头,并将头信息传递给服务器端 
             proxy_set_header Host $host; 
         }
     }
     
     
     实施负载均衡的话运行两个gunicorn端口不同就行, 我这里运行了两个实际看你运行多少个
     upstream flask {
     server 172.16.66.238:5000;
     server 172.16.66.238:5001;
    }
    
     # nginx路口的配置 转交uwsgi等配置
     server {
         listen       80;
         server_name  localhost;
    
         #charset koi8-r;
    
         #access_log  logs/host.access.log  main;
    
         location / {
             # nginx看到你访问的路径是以/开头直接把你转接到flask这个组里,实施负载均衡
             proxy_pass http://flask;
             
             # 这两个参数是 用户访问nginx时用户访问的原始数据, 又nginx把用户的原始数据转交给我, 后端才知道用户的ip地址是谁
             proxy_set_header Host $host;
             proxy_set_header X-Real-IP $remote_addr;
         }
    
  6. flask应用用了flask_script和flask_migrate的部署

    gunicorn+nginx+flask部署上线_第2张图片

     gunicorn -w 4 -b 172.168.66.238:5000 --access-logfile ./logs/log2 manage:manager运行时不报错, 访问时报错
     gunicorn -w 4 -b 172.168.66.238:5000 --access-logfile ./logs/log2 manage:app这里还是用flask实例		
    
  7. nginx不变还是上面那样配置.

你可能感兴趣的:(nginx)