一、安装flask框架和Gunicorn必要的软件和包
Ubuntu16.04自带python3,所以我们直接用python3。
安装pip3, 安装python第三方库必须的。
sudo apt install python3-pip
安装gunicorn,一个python Wsgi http server,只支持在Unix系统上运行,来源于Ruby的unicorn项目。
pip3 install gunicorn
安装virtualenv,用过Pycharm IDE的就知道 每次创建新项目时生成一个项目自带的环境文件夹这样不会影响其他项目,virtualenv 也可以帮我们做这件事。
pip3 install virtualenv
安装flask,一个使用 Python 编写的轻量级 Web 应用框架。
pip3 install flask
二、实现一个flask demo
此时,输入curl http://127.0.0.1:5000 输出结果是hello flask! 就说明目前是成功的。
上图是flask+gunicorn写成的demo,此时我们有两种方法运行:
1. gunicorn 入口文件名:app
2. gunicorn -w 4 -b 127.0.0.1:8000 入口文件名:app
下面这种是开了4个进程处理外部连接。此时,输入curl http://127.0.0.1:5000 输出结果是hello flask! 就说明目前是成功的。
三、安装并配置Nginx
我们使用源码安装,一步一步进行
wget http://nginx.org/en/download/nginx-1.14.2.tar.gz
tar -zxvf nginx-1.10.3.tar.gz
cd nginx-1.10.3
./configure --prefix=/usr/local/nginx
缺少PRCE模块
sudo apt-get install libpcre3 libpcre3-dev libpcrecpp0v5
zlib not found
sudo apt-get install zlib1g-dev
OpenSSL
sudo apt-get install openssl libssl-dev
sudo apt-get install libssl-dev
make & sudo make install
此时Nginx就安装好了,下面配置Nginx,在/usr/local/nginx/conf下找到nginx.conf并修改如下,
然后启动nginx。此时,输入curl http://127.0.0.1:5000 输出结果是hello flask! 就说明Ubuntu16.04配置Nginx Gunicorn Flask成功了!(我已经如此配置了至少十遍,所以应该是不会出问题)
注:nginx配置中我们配置了 server_name karl,但是curl karl 很多人应该得不到结果,这是由于DNS的关系,虽然没在公网上注册,但是可以编辑/etc/hosts 里面增加 127.0.0.1 karl 就行了。
参考:
https://blog.csdn.net/yefengzhichen/article/details/57082398
http://www.cnblogs.com/zhang-shijie/p/5294162.html
https://blog.csdn.net/xudailong_blog/article/details/80490137
https://blog.csdn.net/xudailong_blog/article/details/80821326