# 介绍
Gunicorn
Gunicorn 是一个 Python 的 WSGI HTTP 服务器。它所在的位置通常是在反向代理(如 Nginx)或者 负载均衡(如 AWS ELB)和一个 web 应用(比如 Django 或者 Flask)之间。它是一个移植自Ruby的Unicorn项目的pre-fork worker模型,即支持eventlet也支持greenlet。 如果对Flask框架还有不清楚的地方,可以查看本文一分钟学会Flask框架的安装与快速使用 Gunicorn启动项目之后一定会有一个主进程Master和一个或者多个工作进程。工作进程的数量可以指定。工作进程是实际处理请求的进程。主进程是维护服务器的运行。
nginx
Nginx是一个高性能的HTTP和反向代理web服务器,所谓的方向代理即使将访问用户a地址,nginx将a地址指向了b地址,即使用户通过a地址访问b地址。
supervisor
Supervisor(Supervisor: A Process Control System)是用Python开发的一个client/server服务,,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制。我们在shells上运行gunicorn时候或者其他,只要我们一退出shell,这个进程就会杀死。所以需要这个框架来守护我们运行的gunicorn.保证网站系统不被关闭。
前期准备
在搭建前我们需要准备项目所要的环境,首先在开始这前我们需要创建新的用户来搭建环境,因为使用root不安全,一般不使用root.
# 添加用户
adduser 新用户名
# 为创建的新用户设置密码
passwd 新用户名
# 将新用户添加超级权限组
usermod -aG wheel 新用户名
# 切换新用户
su 新用户名
# 安装wget便于下载软件
sudo yum install -y wget
在创建密码的时候输入密码不显示,将用户添加到wheel用户组下,wheel用户组为管理组,
python环境搭建
首先下载python包到我们新用户目录下的src文件下,这个目录需要我们先创建
# 创建/home/新用户名/src目录
mkdir ~/src
# 进入目录
cd ~/src
# 下载python文件
wget https://www.python.org/ftp/python/3.6.9/Python-3.6.9.tgz
#安装可能需要的依赖
sudo yum install -y openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel
# 解压文件且进入目录
tar -zxvf Python-3.6.9.tgz
cd Python-3.6.9
# 编辑配置文件--prefix是python的安装目录
./configure --prefix=/usr/local/python3
make
make install
# 建立软连接,(Python与pip都建立软连接,分别为python3、pip3与系统自带的Python2区分)可以使用命令`ls -l /usr/bin/查看软连接是否已创建成功`
ln -s /usr/local/python3/bin/