04.03 图解CentOS7下nginx+uwsgi+Flask 环境的快速配置(基于python3)

图解CentOS7下nginx+uwsgi+flask 环境搭建

按很简单,重点是配置。。。 。。。

一、安装nginx

具体操作请参考本头条号中《图解在CentOS7配置nginx服务(支持多域名,禁IP直访,防恶意解析)》一文

安装完毕后能够直接支持静态网页访问,今天安装的uwsgi和flask是提供基于python的 动态网页实现。

二、安装python3

CentOS7下默认使用的是python2,似乎现在用python3才是主流了,因此请安装python3。

具体操作请参考本头条号中《在终端命令行下为CentOS7安装Python3(系统自带的是Python2)》一文

安装完毕后,2、3两个版本并存,互不干扰。执行python3和pip3的时候使用的是版本3。

三、安装uwsgi和flask

pip3 install flask

pip3 install uwsgi

两条命令搞定

四、【重点】配置文件修改

1、定义一个uwsgi的ini文件,该文件负责定义出uwsgi对外工作端口,并指定Flask项目的程序代码及app对象,

命令行启动

uwsgi --ini /root/配置.ini

2、nginx配置中,定义一个服务,将yiuwsgi_pass 指向 uwsgi对外工作端口

图解CentOS7下nginx+uwsgi+Flask 环境的快速配置(基于python3)

具体配置参考

1、nginx中的配置 参考

server {

listen 80 ;

server_name 你的域名;

root /工作目录;

include /etc/nginx/default.d/*.conf;

location / {

include uwsgi_params;

uwsgi_pass 127.0.0.1:5051;

}

error_page 404 /404.html;

location = /40x.html {

}

error_page 500 502 503 504 /50x.html;

location = /50x.html {

}

}

注意其中5051是指向uwsgi的端口,具体值由uwsgi配置文件内设置。两处配置中端口需要一致。

2、uwsgi配置文件参考

[uwsgi]

#uwsgi的客户端将要连接的socket

socket = 127.0.0.1:5051

#载入文件

wsgi-file = /root/1111.py

callable = app

#为预先派生模式设置工作进程的数量

processes = 4

threads = 2

daemonize = /root/server.log

其中socket定义了uwsgi的对外端口,nginx通过该端口与之通讯。

五、测试实录

准备一段测试代码

图解CentOS7下nginx+uwsgi+Flask 环境的快速配置(基于python3)

from flask import Flask

app = Flask(__name__)

@app.route("/")

def hello():

return "这是一个Flask程序!"

if __name__ == "__main__":

app.run()

将代码放在/root目录下备用

同时在/root目录下创建uwsgi配置文件 demo1.ini

图解CentOS7下nginx+uwsgi+Flask 环境的快速配置(基于python3)

[uwsgi]

#uwsgi的客户端将要连接的socket

socket = 127.0.0.1:5051

#载入文件

wsgi-file = /root/1111.py

callable = app

#为预先派生模式设置工作进程的数量

processes = 4

threads = 2

daemonize = /root/server.log

最后修改nginx的配置文件,文件为 /etc/nginx/nginx.conf

图解CentOS7下nginx+uwsgi+Flask 环境的快速配置(基于python3)

server {

listen 80 ;

server_name www.pianyixing.com;

root /root;

include /etc/nginx/default.d/*.conf;

location / {

include uwsgi_params;

uwsgi_pass 127.0.0.1:5051;

}

error_page 404 /404.html;

location = /40x.html {

}

error_page 500 502 503 504 /50x.html;

location = /50x.html {

}

}

实际运行效果

图解CentOS7下nginx+uwsgi+Flask 环境的快速配置(基于python3)

更多的配置细节,建议您参考专门的书籍。

敬请继续关注“有只狗狗叫多多”,不要错过哦!感谢您收藏、转发。


分享到:


相關文章: