• Flask+nginx+Gunicorn部署


    当我们开发完Flask项目后是不能直接通过命令启动服务来使用的(扛不住的)

    Gunicorn 

    是一个给 UNIX 用的 WSGI HTTP 服务器。这是一个从 Ruby 的 Unicorn 项目移植的 pre-fork worker 模式。它既支持 eventlet ,也 支持 greenlet 。在这个服务器上运行 Flask 应用是相当简单的,该服务器支持高并发,所以我们现在使用gunicorn来需要我们的flask程序

    安装gunicorn

       pip3 install gunicorn

    使用gunicorn来启动flask程序

      gunicorn命令可通过gunicorn -h来查看

      常用的命令 

        --access-logfile FILE  The Access log file to write to. [None]

        -b ADDRESS, --bind ADDRESS The socket to bind. [['127.0.0.1:8000']]

        -w INT, --workers INT The number of worker processes for handling requests

      gunicorn -w 4 -b 127.0.0.1:4000 myproject:app
      表示启动 4个work进程,绑定在 127.0.0.1:4000,myproject 表示flask实例所在的py文件,app表示 flask实例变量名

    使用nginx

    # 定义负载均衡的池子
        upstream flask {
             server 127.0.0.1:4000; # 添加一个server,可添加多个
            }
        
        server {
            listen       80;
            server_name  192.168.25.35;
            
           location /static/~(.*)(.jpg|.png|.gif|.jepg|.css|.js|.css){
                    alias   html;
            }
    
            location / {
                     proxy_pass http://flask; # 将请求192.168.25.35的http转发到upstream池子的server
               proxy_set_header   Host             $host;
                  proxy_set_header   X-Real-IP        $remote_addr;
                  proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
             }

    访问 http://192.168.25.35/,完成!

    可参考 http://www.pythondoc.com/flask/deploying/wsgi-standalone.html#gunicorn

    更多分享请关注微信公众号

    
    
    
  • 相关阅读:
    linux 内核升级
    maven 热部署至tomcat
    Executor多线程框架使用
    数据库中的一些连接
    Ajax传统操作
    第三篇、简单的图片下载器
    第二篇、通过蓝牙连接外设
    第一篇、实现上拉和下拉刷新
    解决Git报错:The current branch is not configured for pull No value for key branch.master.merge found in configuration
    Spark核心概念
  • 原文地址:https://www.cnblogs.com/yaoqingzhuan/p/10891464.html
Copyright © 2020-2023  润新知