之前用uwsgi搭建flask环境配置的地方比较多,相对比较复杂,不便小白快速学习(兄弟我只想学个开发的为毛要学这么深的环境部署呀),而且从网上搜了下,在后续使用过程中,有些支持的不够好,可能会有问题,所以就更换成用官方推荐的最简单的搭建方法了,其实搭建环境真没什么技术含量,网上一搜一大堆,不过不好的是很多都是之前的版本了,实际用的时候会有很多因为版本不同导致的问题,对一些新手学习造成很大困惑,白白浪费的个人时间去解决不必要的问题,每个人青春有限呀,所以今天的就是教大家如何搭建flask开发环境的,以下内容本人全部亲测,无任何问题,而起全部用的目前最新版本,另外这篇文章假设你是刚安装好的系统,没有做任何配置,所以从基本的开始:
安装ez_setup.py&pip (用来安装后续使用的python库):
下载:
wget –no-check-certificate https://bootstrap.pypa.io/ez_setup.py
wget –no-check-certificate https://pypi.python.org/packages/source/p/pip/pip-7.1.2.tar.gz#md5=3823d2343d9f3aaab21cf9c917710196
运行
#python ez_setup.py
安装pip:
#tar -zxvf pip-7.1.2.tar,gz
#cd pip-7.1.2
#python setup.py install
安装flask 库:
#pip install Flask
安装nginx:
下载:
#wget http://nginx.org/download/nginx-1.9.6.tar.gz
#下载安装nginx依赖包
#wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.36.tar.gz
#wget http://zlib.net/zlib-1.2.8.tar.gz
以上两个包安装命令一样,都是:
#./configure
#make
#make install
安装ssl:
#wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz
#./config
#make
#make install
Nginx安装:
1 |
#./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-zlib=/usr/local/src/zlib-1.2.8 --with-pcre --with-openssl=/usr/local/src/openssl-1.0.1c/ --without-http_autoindex_module --with-pcre=/usr/local/src/prc.8.3 |
–with-http_stub_status_module 可以用来启用Nginx的NginxStatus功能,以监控Nginx的当前状态
好了,到这我自己以为搞定了,结果启动报错(NND,我就知道不能这么容易),根据错误信息应该是包没找到,所以接着敲:
#cd lib64/
#ln -s libpcre.so.0.0.1 libpcre.so.1
以上命令搞定,启动不报错了,测试配置文件:
#/usr/local/nginx/sbin/nginx –t
#/usr/local/nginx/sbin/nginx 启动,访问页面如果出现nginx页面就表示成功安装,接下来我们要关闭nginx,因为我们还没配置跟gunicorn结合呢。
#kill -QUIT 10964 关闭
修改配置文件,打开nginx.conf,修改如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
server { listen 80; server_name 10.1.1.8; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://10.1.1.8:8000; ##所有请求交给本机8000端口 proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } |
然后我们该安装gunicorn了,有了pip一切都简单了:
#pip install gunicorn
启动,默认端口8000
#gunicorn index:app #index是我写的一个py文件
启动nginx:
#/usr/local/nginx/sbin/nginx
访问,应该会显示你index视图函数返回的内容。
关于gunicorn其它启动方式补充:
gunicorn 指定线程和端口启动(4线程80001端口):
gunicorn -w 4 -b 10.1.1.8:8001 index:app
gunicorn支持配置文件启动:
gunicorn –config gunicorn.conf app:app
gunicorn.conf内容:
1 2 3 4 |
workers = 4 bind = ‘10.1.1.8:8001′ proc_name = ‘app’ pidfile = ‘/tmp/app.pid’ |
全部OK了,如果你是这个文章一步一步来完成的,基本的环境肯定就没问题了,安心体验写代码的乐趣吧。
注:所有命令前的#号表示,这是root下执行,表示提示符。