使用 uWSGI+ nginx 部署 Flask web 应用

1.flask安装

pip install flask

使用flask开发完成后,需要部署到生产环境,这时候就需要用到 nginx+uwsgi了

2.uwsgi安装

pip install uwsgi

3. 在项目根目录添加uwsgi.ini文件  uwsgi.ini配置文件编辑

[uwsgi]
#http = 0.0.0.0:8083   //仅用uwsgi启动时配置
socket = 127.0.0.1:5000  //监听nginx转发
wsgi-file=/data/app/bak_handle/approval_flow/flaskr/app.py  //项目目录下应用文件
callable=app    //程序内启用的application变量名,可以是其他名称,根据app名称设置
processes=4      //进程数
threads=2      //每个进程下的线程数
  • 配置好后,输入指令uwsgi uwsgi.ini启动
  • 这里没配日志路径,是因为随后在supervisor中启动,可以查看supervisor的日志
  • 可以配置到supervisor中守护运行,具体方式可以参照之前配置Django+gunicorn+supervisor的博客
  • 如看看大 [uWSGI] getting INI configuration from hello_uwsgi.ini, 则正常

4.nginx配置文件修改

 

http {

  

  include mime.types;
  default_type application/octet-stream;

  log_format main '$remote_addr - $remote_user [$time_local] "$request" '
  '$status $body_bytes_sent "$http_referer" '
  '"$http_user_agent" "$http_x_forwarded_for"';

 
  

  access_log /data/logs/nginx/access_flow.log;



server { listen
8083; server_name localhost;    #charset koi8-r; #access_log logs/host.access.log main; location / { include uwsgi_params; uwsgi_pass 127.0.0.1:5000; uwsgi_param UWSGI_CHDIR /data/app/bak_handle/approval_flow/flaskr; #项目根目录 uwsgi_param UWSGI_SCRIPT run:app; #启动程序的主程序 #root html; #index index.html index.htm; }

上述代码中为nginx的nginx.conf中的一段配置

检查nginx配置文件语法:sudo /usr/local/nginx/sbin/nginx -t

重新载入nginx: sudo /usr/local/nginx/sbin/nginx -s reload

5.启动uwsgi,启动nginx

这时候访问,输入:IP:8083

就可以访问了

你可能感兴趣的:(使用 uWSGI+ nginx 部署 Flask web 应用)