如果你自己Google过,你可能会发现一个关键字uWSGI,他就是本篇的主角。
名词解释
Web服务器网关接口(Python Web Server Gateway Interface,缩写为WSGI。
uwsgi与WSGI一样,是一个通信协议。
uWSGI,一个实现了WSGI,uwsgi,http等协议的服务器,与nginx在一个层次。
鉴于国内的一些教程都写成翔了,那老高就赶紧记录分享一下。
ps. 这个教程不限定于flask、web.py、django同样适用。
I. 安装环境
Centos x64
python 2.6
II. 安装uWSGI
pip install uWSGI
III. 安装配置virtualenv
一般我们会用virtualenv配置项目的运行环境
pip install virtualenv
# 假设 ~/app_dir 为你的项目目录
mkdir ~/app_dir && cd ~/app_dir
# 最简单的flask示例
vi hello_world.py
# add
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run('0.0.0.0', 8080)
--------:wq
virtualenv venv
# 激活virtualenv
. venv/bin/activate
#pip install flask qrcode image
pip install flask
# 退出virtualenv
deactivate
IV. 测试运行
项目与运行环境已经准备完毕,我们先用uWSGI现在试试运行项目。
# 激活virtualenv
. venv/bin/activate
python hello_world.py
# 现在访问你的ip:8080试试看
V. nginx配置
这里我们使用http反向代理
vi hello_world.conf
server{
listen 80;
location / {
proxy_pass http://127.0.0.1:9090;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Referer http://$host;
}
}
VI. 运行uWSGI服务器
uwsgi --http-socket 127.0.0.1:9090 --wsgi-file /root/app_dir/hello_world.py --callable app -H /root/app_dir/venv
或
uwsgi --http :9090 --wsgi-file /root/app_dir/hello_world.py --callable app -H /root/app_dir/venv
以上命令我们使用http运行uWSGI服务器,绑定端口9090,用绝对路径指定了入口文件hello_world.py,并使用-H参数指定virtualenv的地址。
当然,运行uWSGI服务器的方式还有很多种,比如我们可以以配置文件的形式启动,再比如我们还可以使用sock的形式运行,当然相应的nginx反响代理也需要同时修改。
荒野乱斗国际版 (BrawlStars)最新版本v56.274
下载一波超人内置修改器菜单版 安卓版v1.0.2
下载敢达决战官方正版 安卓版v6.7.9
下载敢达决战 安卓版v6.7.9
下载继承了一座戏园子无限声望铜钱版 内置菜单最新版v1.7
继承了一座戏园子折相思版是游戏的破解版本,在该版本中为玩家提
山河半世橙光清软金手指版 无限鲜花v3.24
山河半世是一款超级好玩的橙光恋爱游戏,在游戏中玩家们需要扮演
蓬莱手游折相思版 安卓版v1.0.0
蓬莱免广告版是游戏的修改版本,在该版本中为玩家去除了广告,玩
当红影后橙光游戏破解版2025 最新版v1.0
当红影后橙光破解版是一款超级好玩的娱乐圈题材的橙光游戏,在这
忽然成了万人迷清软完结版 无限鲜花版v12.15
忽然成了万人迷破解版是一款非常好玩的男性向橙光游戏,在有一天