centos中如何配置flask+uwsgi+nginx?

前言
flask+uwsgi+nginx这个组合是一种基于python的web运行环境,使用这种结构的数据请求流程如下图:

image.png

flask是一个基于python的web应用框架,我们使用这个框架来编写代码。
nginx作为代理服务器负责请求转发以及结果返回等。
uwsgi在这里作为nginx和flask的中介。


如何配置?
1.安装flask

使用pip工具安装: pip3 install flask.


2.安装uwsgi
同样使用pip: pip3 install uwsgi

image.png


3.编写uwsgi的配置文件
新建一个配置文件uwsgi.ini,输入以下内容:

image.png

wsgi-file: flask程序启动的文件,
http:程序使用的地址和端口
chdir:项目目录
callable:程序中应用的变量名,也就是hello.py文件中的app = Flask(__name__)里的app

module:模块名也就是hello.py去掉后缀,app与callable解释一样。


4.用uwsgi启动程序
uwsgi --ini uwsgi.ini
uwsgi后加上参数--ini后接配置文件路径即可。程序启动后就可以通过浏览器访问了,不需要再手动运行hello.py。

image.png

到这一步就实现了uwsgi + flask的配置,接下来再添加一个nginx。


5.配置nginx
nginx的安装自行百度,打开配置文件nginx.conf进行如下配置(蓝色字体部分被注释掉,截图没截到#)

image.png

uwsgi的配置在location中,uwsgi_pass对应uwsgi配置中的地址和端口。需要注意的是使用nginx要把uwsgi配置文件中的http=ip:port改为socket=ip:port。
UWSGI_CHDIR表示项目根目录,

UWSGI_SCRIPT表示启动程序的主程序。


6.启动nginx,启动uwsgi,通过浏览器访问。此时直接输入IP地址而不需要跟8081端口,因为配置中nginx监听的是默认端口80,相当于输入IP地址访问的是nginx,然后通过nginx转到127.0.0.1:8081(uwsgi_pass)。


演示站
上一篇:执行scp时提示 warning remote host identification has changed
下一篇:Qt for android 设置窗口为固定大小无效

发表评论