• centos6.8 搭建nginx+uwsgi+Flask


    1.安装

    yum install nginx -y

    pip3 install uwsgi
    pip3 install Flask

    2.uwsgi配置(保存/etc/uwsgi.ini,run:uwsgi /etc/uwsgi.ini)

    [uwsgi]
    # uwsgi 启动时所使用的地址与端口
    socket = 127.0.0.1:50000    
    
    # 指向网站目录
    chdir = /app/db_cache_server/
    
    # 处理器数
    processes = 2
    
    #查看uwsgi状态,类似nginx的status
    stats = 127.0.0.1:9090
    
    # python 启动程序文件
    wsgi-file = db_cache_api.py
    
    # python 程序内用以启动的 application 变量名。 callable=app 这个 app 是 manage.py 程序文件内的一个变量,这个变量的类型是 Flask的 application 类 。
    callable = app
    
    #使进程在后台运行,并将日志打到指定的日志文件或者udp服务器(daemonize uWSGI)。实际上最常用的,还是把运行记录输出到一个本地文件上。
    daemonize = /var/log/uwsgi_httpServer.log
    
    #指定pid文件的位置,记录主进程的pid号。
    pidfile = /tmp/uwsgi.pid
    
    #当服务器退出的时候自动清理环境,删除unix socket文件和pid文件
    vacuum = true
    
    #以固定的文件大小(单位KB),切割日志文件。
    log-maxsize = 50000000
    
    #不记录请求信息的日志。只记录错误以及uWSGI内部消息到日志中。
    disable-logging = true

    3.nginx配置

    server {
            listen       8080;
             server_name  139.196.105.160;
    
             location / {
                 try_files $uri @uwsgi;
             }
             #定义uwsgi块
             location @uwsgi {
                 include uwsgi_params;
                 uwsgi_pass 127.0.0.1:50000;
             }
         }

    4.安装 Supervisor

    yum install supervisor -y

    Supervisor 的全局的配置文件位置在:

    /etc/supervisor/supervisor.conf

    正常情况下我们并不需要去对其作出任何的改动,只需要添加一个新的 *.conf 文件放在:

    /etc/supervisor/conf.d/

    下就可以,那么我们就新建立一个用于启动 my_flask 项目的 uwsgi 的 supervisor 配置 (命名为:my_flask_supervisor.conf):

    [program:my_flask]
    # 启动命令入口
    command=/home/www/my_flask/venv/bin/uwsgi /home/www/my_flask/config.ini
    
    # 命令程序所在目录
    directory=/home/www/my_flask
    #运行命令的用户名
    user=root
            
    autostart=true
    autorestart=true
    #日志地址
    stdout_logfile=/home/www/my_flask/logs/uwsgi_supervisor.log

    启动服务

    sudo service supervisor start

    终止服务

    sudo service supervisor stop

    参考:http://www.tuicool.com/articles/zUvqMr

  • 相关阅读:
    【Leetcode】Unique Binary Search Trees
    linux C函数之access函数的用法
    Dispatcher.BeginInvoke()方法使用不当导致UI界面卡死的原因分析
    【Leetcod】Unique Binary Search Trees II
    KVM客户机使用主机USB设备
    运行Maven是报错:No goals have been specified for this build
    SQL2008R2 express版本不支持维护计划
    已超过了锁请求超时时段的原因
    Oracle免客户端InstantClient安装使用
    将存储过程的返回值赋给变量
  • 原文地址:https://www.cnblogs.com/vijayfly/p/6290773.html
Copyright © 2020-2023  润新知