本文讲述了怎样使用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
JavaPersistenceWithMyBatis3笔记-第1章-001
算法Sedgewick第四版-第1章基础-2.3 Quicksort-001快速排序
算法Sedgewick第四版-第1章基础-2.1Elementary Sortss-008排序算法的复杂度(比较次数的上下限)
算法Sedgewick第四版-第1章基础-2.1Elementary Sortss-007归并排序(自下而上)
算法Sedgewick第四版-第1章基础-2.1Elementary Sortss-006归并排序(Mergesort)
算法Sedgewick第四版-第1章基础-2.1Elementary Sortss-005插入排序的改进版
算法Sedgewick第四版-第1章基础-2.1Elementary Sortss-004希尔排序法(Shell Sort)
常用的Expression调用形式
C#调用JAVA接口WSSE方式用WebClient方式
- 最新文章
-
Android学习笔记之性能优化SparseArray
Android学习笔记之横向二级菜单实现
Android学习笔记之使用百度地图实现路线规划+公交信息检索
Android学习笔记之使用百度地图实现Poi搜索
Android学习笔记之使用百度地图实现地图控制
Android学习笔记之使用LBS实现定位
Android学习笔记之Drawable 文件夹
Android 学习笔记之使用多线程实现断点下载...
hexo使用上传命令hexo g -d出现“”
zabbix agent端报错zbx_realloc: out of memory. Requested 37852 bytes
- 热门文章
-
telnet一个端口后显示建立连接,但是很快就close退出了
关于zabbix的模板引用问题
debian10上的ufw防火墙设置某个端口被某个特定主机允许访问
nmap端口扫描
zabbix监控vmware exsi系统
xshell中某个终端卡死如何解决?
telnet免交互
virtual安装了一台windows7虚拟机,现在使用共享文件功能
JavaPersistenceWithMyBatis3笔记-第4章SQL Mappers Using Annotations-001
JavaPersistenceWithMyBatis3笔记-第3章SQL Mappers Using XMLs-001