参考

不用ini文件

http启动方式
配置到nginx
server {
    server_name py.bnv.com;
    listen 80;

    location / {
        proxy_pass http://127.0.0.1:9796; # 直接通过代理的方式
    }
}
socket启动方式
  • uwsgi --socket :9796 --wsgi-file app.py
socket启动方式还要配置nginx
upstream uwsgi_py {
    server 127.0.0.1:9796;
}

server {
    server_name py.bnv.com;
    listen 80;

    location /{
        include uwsgi_params;
        uwsgi_pass uwsgi_py; # socket方式
    }
}
或者
server {
    server_name py.bnv.com;
    listen 80;

    location /{
        include uwsgi_params;
        uwsgi_pass 127.0.0.1:9796; # socket方式
    }
}
uwsgi_params文件:
uwsgi_param  QUERY_STRING       $query_string;
uwsgi_param  REQUEST_METHOD     $request_method;
uwsgi_param  CONTENT_TYPE       $content_type;
uwsgi_param  CONTENT_LENGTH     $content_length;

uwsgi_param  REQUEST_URI        $request_uri;
uwsgi_param  PATH_INFO          $document_uri;
uwsgi_param  DOCUMENT_ROOT      $document_root;
uwsgi_param  SERVER_PROTOCOL    $server_protocol;
uwsgi_param  HTTPS              $https if_not_empty;

uwsgi_param  REMOTE_ADDR        $remote_addr;
uwsgi_param  REMOTE_PORT        $remote_port;
uwsgi_param  SERVER_PORT        $server_port;
uwsgi_param  SERVER_NAME        $server_name;

使用ini文件

  • uwsgi --ini uwsgi.ini
[uwsgi]
#http = 0.0.0.0:9796
socket = 0.0.0.0:9000
wsgi-file = ./server.py

  • http通过ip可以直接访问,socket要配置ng
  • 要注意ng权限,如果不是管理员则启动时要加上sudo

更多的详细请参考官方文档
  • 重启 uwsgi --reload uwsgi.pid
  • 关闭 uwsgi --stop uwsgi.pid
  • 停止所有 sudo pkill -f uwsgi -9
ini文件里设置pidfile,通过该pid文件可以控制uwsgi的重启和停止
chdir=/xxx/   #当前项目的绝对路径
pidfile=%(chdir)/uwsgi/uwsgi.pid
stats=%(chdir)/uwsgi/uwsgi.status

实时动态查看状态 - uwsgitop

pip3 install uwsgitop
uwsgitop uwsgi/uwsgi.status

results matching ""

    No results matching ""