本文讲述了怎样使用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
readline与readlines不能同时使用
for i in xrange(0,5)使用过程中遇到的问题
xrange()与range()
Maven install 、 Maven package 与 Maven clean package 的区别
Java--mv clean package命令
Java----如何解决下载依赖包失败问题
Jmeter工具学习(六)-- 逻辑控制器 While Controller(转载)
Jmeter工具学习(五)--JDBC Request执行多条SQL语句
Sqlmap POST注入 三种方法(转载)
- 最新文章
-
三 : spring-uploadify上传文件
【转】appium_python_API文档
MongoDB基本操作命令
postman使用教程
接口测试--转自测试百晓生微信公众号
Mysql基本操作命令
appium的xpath定位
使用appium模拟用户发送短信
初探appium之元素定位(1)
多设备同时安装apk问题(安卓)
- 热门文章
-
初探appium之appium的使用
APP测试流程
初探appium之环境搭建
[转载]python中multiprocessing.pool函数介绍
/home 和 /root
selenium+python在Windows的环境搭建
python下载时报错 Errno 10060] A connection attempt failed because the connected party did not properly respond after a period of time
python返回null和空的不同
python 如何读取大文件
timeit模块 与 time模块,计时的区别