美文网首页
flask+uwsgi+nginx简单部署应用

flask+uwsgi+nginx简单部署应用

作者: 清风徐来_简 | 来源:发表于2019-06-10 16:56 被阅读0次
  • 1,创建虚拟环境mkvirtualenv flask_uwsgi_demo

  • 2,安装flask : pip install flask

  • 3,安装和配置uwsgi:pip install uwsgi

    vim uwsgi.ini

    [uwsgi]
    #使用nginx连接时使用
    socket=0.0.0.0:10000
    #这个必须写,不然会报找不到application
    callable = app    
    #项目目录绝对路径
    chdir=/project/flask_demo
    #指定flask运行的文件,是一个相对路径
    wsgi-file =flask_uwsgi_demo.py   
    #指定解释器目录,每一个虚拟环境的python目录不同,用which python查看
    home=/root/Envs/flask_uwsgi_demo
    processes=4
    threads=2
    master=True
    pidfile=uwsgi.pid
    
  • 4,配置nginx: vi /etc/nginx/nginx.conf

    server {
        listen       80;
        server_name  10.0.0.11;  #(注意不带斜杠,加引号)
        location /index {
            include uwsgi_params; 
            uwsgi_pass  10.0.0.11:10000;
            }
        }
    
  • 5,编写flask:vim flask_uwsgi_demo.py

    from flask import Flask
    
    app = Flask(__name__)
    
    @app.route("/index")
    def helloWorld():
        return "Hello World"
    
    if __name__ == '__main__':
        app.run(host='0.0.0.0', port=10000)
    
  • 6,启动uwsgi,启动nginx,访问

    (flask_uwsgi_demo) [root@slave flask_demo]# uwsgi --ini uwsgi.ini 
    
    [root@slave project]# /usr/sbin/nginx    #如果是重启,加上-s reload
    
    10.0.0.11/index
    
  • 7,目录结构

    [root@slave project]# tree
    ├── flask_demo
        ├── flask_uwsgi_demo.py
        ├── __pycache__
        │   └── flask_uwsgi_demo.cpython-34.pyc
        ├── uwsgi.ini
        └── uwsgi.pid
    
  • 8,启动uwsgi报错

    以下报错,没有进入虚拟环境,或者uwsgi.ini配置错误,没找对环境

    *** Operational MODE: preforking+threaded ***
    Traceback (most recent call last):
      File "./flask_uwsgi_demo.py", line 1, in <module>
        from flask import Flask
    ImportError: No module named 'flask'
    unable to load app 0 (mountpoint='') (callable not found or import error)
    

    以下报错,没有找到app,主要是配置文件错误,我添加了callable = app,问题解决

    *** Operational MODE: preforking+threaded ***
    unable to find "application" callable in file flask_uwsgi_demo.py
    unable to load app 0 (mountpoint='') (callable not found or import error)
    *** no app loaded. going in full dynamic mode ***
    uWSGI running as root, you can use --uid/--gid/--chroot options
    

    以下正确

    *** Operational MODE: preforking+threaded ***
    WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x121ff90 pid: 13743 (default app)
    

相关文章

  • flask+uwsgi+nginx简单部署应用

    1,创建虚拟环境: mkvirtualenv flask_uwsgi_demo 2,安装flask : ...

  • Flask+uwsgi+Nginx部署应用

    之前用Flask写了个网站,然后就想部署到云主机上。搜索了一番,决定采用的部署方案是: Web 服务器采用uWSG...

  • 使用Flask+uwsgi+Nginx部署Flask正式环境

    在本文中,我们将以实际项目为例,讲解如何使用Flask+uwsgi+Nginx部署Flask正式环境。 环境准备 ...

  • flask+uwsgi+nginx 部署,no moudle n

    在flask+uwsgi+nginx 方式部署时,遇到无法导入自定义的 moudle,需要在 启动app时 加入项...

  • 简介

    Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署...

  • Angular 发布应用

    当你准备把 Angular 应用部署到远程服务器上时,有很多可选的部署方式。 最简单的部署选项 在完整部署应用之前...

  • 简单部署nodejs应用

    2017/05/02整理一下自己使用 pm2 部署 express 小应用碰到的一些问题,服务器是linux环境。...

  • 在阿里云部署 Flask 应用

    原文首发于CSDN,略有增删 在阿里云部署 Flask 应用 本文简单记录在阿里云部署 Flask 应用的过程。由...

  • 应用服务器

    Jboss: 安装jboss很简单,它不需要安装,直接解压到一个目录下即可 部署应用:部署应用跟apache一样,...

  • Helm部署和体验jenkins

    如何快速且简单的部署 通过helm可以快速且简单的部署多种应用,关于helm的安装和使用请参考 环境信息 本次实战...

网友评论

      本文标题:flask+uwsgi+nginx简单部署应用

      本文链接:https://www.haomeiwen.com/subject/yrxtfctx.html