• Flask配置方法


    flask应用的配置(使用uWSGI和Nginx在CentOS 7上搭建)

    基础的Nginx 数据库等配置省略

    创建python虚拟环境

    sudo pip install virtualenv
    mkdir ~/myproject
    cd ~/myproject
    virtualenv myprojectenv
    source myprojectenv/bin/activate
    

    安装 Flask 和 uWSGI

    pip install uwsgi flask
    

    创建一个小应用

    vi ~/myproject/myproject.py
    
    from flask import Flask
    application = Flask(__name__)
    
    @application.route("/")
    def hello():
        return "<h1 style='color:blue'>Hello There!</h1>"
    
    if __name__ == "__main__":
        application.run(host='0.0.0.0')
    

    运行

    python myproject.py
    

    浏览器打开服务器5000端口,看到蓝色的Hello There!就表示成功了。

    创建 WSGI 入口

    vi ~/myproject/wsgi.py
    
    from myproject import application
    
    if __name__ == "__main__":
        application.run()
    

    运行

    uwsgi --socket 0.0.0.0:8000 --protocol=http -w wsgi
    

    浏览器打开服务器8000端口,看到蓝色的Hello There!就表示成功了。

    创建uWSGI Configuration文件

    vi ~/myproject/myproject.ini
    
    [uwsgi]
    module = wsgi
    
    master = true
    processes = 5
    
    socket = myproject.sock
    chmod-socket = 660
    vacuum = true
    
    die-on-term = true
    

    创建Systemd Unit文件

    sudo vi /etc/systemd/system/myproject.service
    
    [Unit]
    Description=uWSGI instance to serve myproject
    After=network.target
    
    [Service]
    User=user
    Group=nginx
    WorkingDirectory=/home/user/myproject
    Environment="PATH=/home/user/myproject/myprojectenv/bin"
    ExecStart=/home/user/myproject/myprojectenv/bin/uwsgi --ini myproject.ini
    
    [Install]
    WantedBy=multi-user.target
    

    这样就能用systemd命令控制我们的小应用了

    sudo systemctl start myproject
    sudo systemctl enable myproject
    

    配置nginx

    sudo nano /etc/nginx/nginx.conf
    

    server {}上方添加一个server {}脚本

    http {
        . . .
    
        include /etc/nginx/conf.d/*.conf;
    
        server {
        }
    
        server {
            listen 80 default_server;
    
            . . .
    
    server {
        listen 80;
        server_name server_domain_or_IP;
    
        location / {
            include uwsgi_params;
            uwsgi_pass unix:/home/user/myproject/myproject.sock;
        }
    }
    

    将nginx user加入你的user group

    sudo usermod -a -G user nginx
    

    配置group的权限

    chmod 710 /home/user
    

    看看nginx配置文件有没有语法错误

    sudo nginx -t
    

    之后启动

    sudo systemctl start nginx
    sudo systemctl enable nginx
    

    这样就能在80端口访问我们的小应用了!

  • 相关阅读:
    [转载]实战经验:IIS网站服务器性能优化攻略
    如何检测本页中的iframe是否“加载”完成
    悟透JavaScript读书笔记闭包与原型
    HttpConnection访问时ArrayIndexOutofBoundException的解释[javaME]
    [JavaME]手机同时播放两个音乐 探讨一
    封装MIDP 1.0 HttpConnection用于商业应用[javaME]
    Nokia S60真机的全屏getHeight()返回值BUG说明
    [JavaME]在高级UI上的keyPressed事件截获的说明
    手机同时播放两个音乐 探讨二[JavaME]
    Bloglines手机伴侣开发纪事[1][j2me]
  • 原文地址:https://www.cnblogs.com/tilmto/p/9260080.html
Copyright © 2020-2023  润新知