使用virtualenv, uwsgi, nginx来布署flask
Posted wzzkaifa
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用virtualenv, uwsgi, nginx来布署flask相关的知识,希望对你有一定的参考价值。
本文讲述了怎样使用virtualenv, uwsgi, nginx来布署flask的步骤。
升级软件包
运行下面命令,保证你的机器安装了最新的软件包。
sudo apt-get update
sudo apt-get upgrade
安装python和virtualenv
sudo apt-get install build-essential python-dev python-pip
sudo pip install virtualenv
创建存放站点的文件夹
比如,在/home/gzlihao/webservice文件夹下创建mysite文件夹
mkdir mysite
配置virtualenv和安装flask, uwsgi
进入 mysite 文件夹,然后创建虚拟环境 .env,激活虚拟环境。然后安装flask和uwsgi。
cd mysite
virtualenv .env
source .env/bin/activate
pip install flask
pip install uwsgi
在mysite文件夹下创建hello.py
hello.py的内容例如以下:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run(host=‘0.0.0.0‘, port=8080)
须要注意的是,app.run()
仅仅是开发时測试使用,故须要放置在if __name__ == "__main__"
下,这样uwsgi才不会运行app.run()
方法。
而host须要设置为0.0.0.0,表示让flask监听机器的全部ip地址的8080端口。
配置uwsgi
添加配置文件uwsgi.ini,内容例如以下:
[uwsgi]
chdir=/home/gzlihao/webservice/mysite
home=/home/gzlihao/webservice/mysite/.env
module=hello
callable=app
master=true
processes=2
socket=%(chdir)/mysite.sock
chmod-socket=666
logfile-chmod=644
daemonize=%(chdir)/uwsgi.log
uid=gzlihao
gid=gzlihao
以上是关于使用virtualenv, uwsgi, nginx来布署flask的主要内容,如果未能解决你的问题,请参考以下文章
nginx+uWSGI+django+virtualenv+supervisor发布web服务器
[原创]Flask+uwsgi+virtualenv+nginx部署配置
CentOS下实现Flask + Virtualenv + uWSGI + Nginx部署
nginx+uWSGI+django+virtualenv+supervisor发布web服务器