这篇文章将为大家详细讲解有关使用uWSGI和Nginx怎么部署一个Flask项目,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
uWSGI
在部署之前,我们得先了解几个概念
wsgi web应用程序之间的接口。它的作用就像是桥梁,连接在web服务器和web应用框架之间。
uwsgi 是一种传输协议,用于定义传输信息的类型。
uWSGI 是实现了uwsgi协议WSGI的web服务器。
部署
首先准备一个flask程序,名字run.py
fromflaskimportFlask app=Flask(__name__) @app.route("/") defindex(): return'部署' if__name__=='__main__': app.run()
安装uWSGI
pipinstalluwsgi
在项目的目录创建一个uwsgi的配置文件
[uwsgi] #配合nginx使用 socket=127.0.0.1:8000 #项目路径/Users/xiaoyuan/Desktop/flask_test chdir=自己项目路径 #wsgi文件run就是flask启动文件去掉后缀名app是run.py里面的Flask对象 module=run:app #指定工作进程 processes=4 #主进程 master=true #每个工作进程有2个线程 threads=2 #指的后台启动日志输出的地方 daemonize=uwsgi.log #保存主进程的进程号 pidfile=uwsgi.pid #虚拟环境环境路径 virtualenv=/Users/xiaoyuan/.virtualenvs/flask_test
然后配置Nginx,找到Nginx的配置文件nginx.conf,在http块下加上下面代码
server{ #监听端口 listen80; #监听ip换成服务器公网IP server_name127.0.0.1; #动态请求 location/{ includeuwsgi_params; uwsgi_pass127.0.0.1:8000; } #静态请求 location/static{ alias/Users/xiaoyuan/Desktop/flask_test/static; } }
启动
启动uWSGI
uwsgi--iniuwsgi.ini
启动Nginx
/etc/init.d/nginxstart
然后访问Nginx监听的IP,由于我在本地部署,就直接访问http://127.0.0.1:80/
其他命令
uwsgi重启
uwsgi--reloaduwsgi.pid
uwsgi停止
uwsgi--stopuwsgi.pid
关于使用uWSGI和Nginx怎么部署一个Flask项目就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
Django+Nginx+uWSGI定时任务怎么实现
Django+Nginx+uWSGI定时任务怎么实现今天小编给大家...
用户名
密码
记住登录状态 忘记密码?
邮箱
确认密码
我已阅读并同意 用户协议