Ubuntu16.04配置Nginx Gunicorn Flask

一、安装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

Flask Demo

        此时,输入curl http://127.0.0.1:5000 输出结果是hello flask! 就说明目前是成功的。

Flask+Gunicorn

上图是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配置

然后启动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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容