本文主要是介绍TEST杂记:flask+uwsgi+nginx,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、搭建web环境(flask+uwsgi+nginx)
- 安装flask
- 安装和配置uwsgi
- 配置nginx
1.创建虚拟环境
pip3 install --upgrade virtualenv
cd /var
mkdir web2
cd web2
virtualenv -p python3 .env进入虚拟环境安装flask
source .env/bin/activate
pip3 install flask
deactivate
写一个简单的测试程序
from flask import Flaskapp = Flask(__name__)@app.route("/helloWorld")
def helloWorld():return "Hello World"if __name__ == '__main__':app.run(host='0.0.0.0', port=8787, debug=True)
2.安装和配置uwsgi
1. 在安装uwsgi之前,需要安装python-dev,否则可能会安装失败
apt-get
yum install python3.6-dev()
pip3 install uwsgi
find / -name uwsgi
ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi
2. 创建uwsgi.ini配置文件
[uwsgi]
chdir=/www/wwwroot/test # 工程目录
home=/www/wwwroot/test/.env # 虚拟环境目录
module=test # 启动flask应用的文件名,不用加.py
callable=app # 应用名,与我们hell
master=true
processes=2 # worker的进程个数
chmod-socket=666
logfile-chmod=644
procname-prefix-spaced=test # uwsgi的进程名称前缀,启动后可通过ps -ef | grep test查找到这个进程
py-autoreload=1 #py文件修改,自动加载,也就是设置热启动了
#http=0.0.0.0:8080 #监听端口,测试时使用vacuum=true # 退出uwsgi是否清理中间文件,包含pid、sock和status文件
socket=%(chdir)/uwsgi/uwsgi.sock # socket文件,配置nginx时候使用
stats=%(chdir)/uwsgi/uwsgi.status # status文件,可以查看uwsgi的运行状态
pidfile=%(chdir)/uwsgi/uwsgi.pid # pid文件,通过该文件可以控制uwsgi的重启和停止
daemonize=%(chdir)/uwsgi/uwsgi.log # 设置后台模式,然后将日志输出到uwsgi.log。当调试时,可先注释掉此内容
*************************************************************************************************************************************************************
[uwsgi]
chdir=/www/wwwroot/test
home=/www/wwwroot/test/.env
module=test
callable=app
master=true
processes=2
chmod-socket=666
logfile-chmod=644
procname-prefix-spaced=test
py-autoreload=1
#http=0.0.0.0:8080vacuum=true
socket=%(chdir)/uwsgi/uwsgi.sock
stats=%(chdir)/uwsgi/uwsgi.status
pidfile=%(chdir)/uwsgi/uwsgi.pid
daemonize=%(chdir)/uwsgi/uwsgi.log
3.创建其它相关文件
mkdir uwsgi
cd uwsgi
touch file uwsgi.pid uwsgi.sock uwsgi.status uwsgi.log
常用命令:
uwsgi --ini uwsgi.ini # 启动
uwsgi --reload uwsgi.pid # 重启
uwsgi --stop uwsgi.pid # 关闭
配置nginx.conf
vi nginx.conf
location / {include uwsgi_params;uwsgi_pass unix:/www/wwwroot/test/uwsgi/uwsgi.sock;
}
这篇关于TEST杂记:flask+uwsgi+nginx的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!