阿里云ecs上用nginx+uwsgi搭建flask运行环境

之所以写这篇文章,是因为搭建python环境相对复杂一些,还有就是网上很多资料写的都不算完整,按照文档归最后都不成功,所以为避免后续兄弟们再重蹈覆辙,我提前扫了下雷,给大家分享下,避免再遇到问题,另外这个是简易版环境,算是开发版环境,如果要正式用,请深入学习下nginx 和uwsgi官网文档,其实搭建flask环境可以采用很多不同方法,例如apache 的mod_wsgi,不过网上说uwsgi是效率最高的一个,所以后续环境就打算用它了,准备开始,我是用的阿里云ECS机器,如果你是在自己服务器上,请作为参考,基本步骤:

  1. 安装nginx
  2. 安装uwsgi
  3. 配置nginx 文件
  4. 配置 uwsgi文件
  5. 测试

1、安装nginx,我直接yum安装的

yum install nginx

安装完的版本是nginx-1.0.15-12

2、安装uwsgi

3、修改nginx 配置文件

4、配置uwsgi文件

我的项目文件目录是在/home/flaskc下,所以先cd 到这个目录,然后vi myapp_config.xml (这个文件是新增,配置如下:

简单解释,flaskc是你写的模块程序名称,也就是你在当前目录下由一个 flaskc.py的文件,127.0.0.1:5000是与nginx通信用的。

5、启动测试

启动nginx

/etc/init.d/nginx start

启动uwsgi

uwsgi -x myapp_config.xml -d uwsgi.log

-x 是指定xml配置文件,-d是后台运行,日志写入uwsgi.log文件

6、访问http://domain or ip:8080将看到可以正常访问,我因为在服务器上已经有80了,所以我用的8080,大家不必这样做,直接用80就可以。

7、关闭uwsgi,killall -9 uwsgi