本文讲述了怎样使用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

posted @
2017-07-16 08:36 
wzzkaifa 
阅读(...) 
评论(...) 
编辑 
收藏

最新文章

  1. C语言 · Interval · 求矩阵元素和
  2. HashMap & HashTable的区别
  3. Intellij IDEA工具Java web 环境搭建
  4. IOS密码加密
  5. MySQL不能插入中文字符及中文字符乱码问题
  6. 一个PHP写的简单webservice服务端+客户端
  7. EditPlus使用心得及常用快捷键
  8. 【转】Ajax 基础学习
  9. JQuery中的AJAX参数详细介绍
  10. Hive 创建和生成Rcfile 和SequenceFile格式的表
  11. Xamarin原生跨平台概述(精简概述,命中要害。PS:无图)
  12. 老李分享:android app自动化测试工具合集
  13. C#实现阿拉伯数字(小写金额)到大写中文(大写金额)的转换
  14. TV 丽音(NICAM)功能
  15. HBuilder git使用-建立仓库,邀请用户
  16. jfinal afterJFinalStart中执行长久循环操作的解决方案:创建新线程
  17. chrome浏览器onunload方法无法执行window.location.href
  18. freeswitch设置支持视频语音编码
  19. gulp 使用案例
  20. codevs 3022 西天收费站

热门文章

  1. [SQL server] IF ELSE 和 CASE WHEN 的用法
  2. Leetcode 357.计算各个位数不同的数字个数
  3. CSU-1336: Interesting Calculator,最短路思想!
  4. 九度oj 题目1201:二叉排序树
  5. PAT天梯赛练习题——L3-007. 天梯地图(多边权SPFA)
  6. BZOJ 3450 Tyvj1952 Easy ——期望DP
  7. UOJ 274 【清华集训2016】温暖会指引我们前行 ——Link-Cut Tree
  8. wsgi 简介
  9. android开发里遇到的坑——eclipse项目导入android studio以后Run按钮灰色
  10. *Codeforces961G. Partitions