本文讲述了怎样使用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
mac os x命令行查找文件
Ubuntu 更改文件夹权限及chmod详细用法
Unable to mount the CD/DVD image virtualbox解决方法
macbook air电池保养方法
安装mac os x时about a second remaining解决方法
No qualifying bean of type 'org.springframework.scheduling.TaskScheduler' available
java.sql.SQLException: The server time zone value '�й���ʱ��' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver
java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)解决方案
使用springboot和easypoi进行的数据导出的小案例