我的生产环境为Centos7,python3.5。
使用的模块为flask+gunicorn+nginx+supervisor。
flask我们已经较熟悉,是一个开发web应用的python模块。gunicorn用于调用我们的python代码,符合wgsi的规范。
nginx 是一个高性能的web服务器。通常用来在前端做反向代理服务器。
什么叫反向代理?举例如下,你的电脑在局域网,发出一个请求,经过代理服务器到达互联网中的一个服务器(比如百度的服务器),这个过程叫正向代理。一个来自互联网的请求,经过代理服务器到达局域网中的一个服务器,这个过程叫反向代理。正向代理是把局域网中的一堆请求收集起来发向互联网,反向代理是把互联网发过来的一堆请求分发给局域网的服务器。在正向代理中,代理服务器和客户端在同一个局域网;在反向代理中,代理服务器和服务器在同一个局域网。
接下来开始具体的工作。
1、设置虚拟环境
虚拟环境是python这种有大量可用轮子的语言必备的。简而言之就是分给你一块地,随便你怎么折腾,可以安装各种各样的模块。虚拟环境和外面的环境、虚拟环境和虚拟环境之间都不会冲突。很方便。
配置虚拟环境的代码如下:
cd /home/www
mkdir venv
python3 -m venv venv
首先进入/home/www路径,新建名为venv的文件夹,然后使用python中的虚拟环境命令将虚拟环境安装在venv文件夹中。
python -m venv xxxx 就会把虚拟环境的文件放在这个xxxx文件夹里面。
之后使用
source venv/bin/activate
激活虚拟环境。现在我们是在www文件夹中,因此source中的路径包含venv,要是在venv文件夹中,就只需要bin/activate了。
激活成功会在每一行之前有一个(venv),表示目前在虚拟环境中。
想要退出虚拟环境,使用deactivate即可。
2、安装模块
flask模块的安装在之前已经讲过,再次不再赘述。
安装gunicorn,代码如下:
pip3 install gunicorn
安装nginx,代码如下:
$ yum -y install nginx
原来ngin