打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
linux下使用nginx + uWSGI运行flask程序

红客VIPhttp://www.hongkevip.com):linux下使用nginx + uWSGI运行flask程序

flask通常是做小应用程序的,我们下文来介绍的是在linux下使用nginx + uWSGI运行flask程序了,有举的可以进入看看。

如果你自己Google过,你可能会发现一个关键字uWSGI,他就是本篇的主角。

名词解释

Web服务器网关接口(Python Web Server Gateway Interface,缩写为WSGI。
uwsgi与WSGI一样,是一个通信协议。
uWSGI,一个实现了WSGI,uwsgi,http等协议的服务器,与nginx在一个层次。

鉴于国内的一些教程都写成翔了,那老高就赶紧记录分享一下。

. 这个教程不限定于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反响代理也需要同时修改。

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Docker 容器化部署 Python 应用
Flask + Gunicorn + Nginx 部署 - Ray Liang - 博客园
Flask一步步搭建web应用
Ubuntu 12.04 下部署 Nginx+uWSGI+Flask
Virtualenv+Django+uWSGI+Nginx部署方式备忘录
window 下安装python3.5 flask框架
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服