Ubuntu | Flask + Gunicorn + Nginx 部署服务器环境

Posted 核电站

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu | Flask + Gunicorn + Nginx 部署服务器环境相关的知识,希望对你有一定的参考价值。

现在我们手里有一个准备发布的项目,那么如何将他上传到你的服务器,并让外网访问呢?

前提: 
1. 安装了Python环境 apt-get install python-dev 
2. 安装Flask pip install flask 
3. 安装UWSGI pip install uwsgi 
2. 安装了nginx apt-get install nginx 
3. 安装了Gunicorn pip install gunicorn

准备
首先在你的/var/www/目录下创建一个测试目录,比如/var/www# mkdir test

然后使用chmod更改此目录的权限chmod 777 /var/www/test

这里讲一下chmod的规则,因为这里是测试用例,所以为了方便,直接使用777。

Nginx
Ubuntu下的Nginx的目录结构大致如下: 
1. 所有的配置文件都在/etc/nginx下,每个虚拟主机已经安排在了/etc/nginx/sites-available目录下 
2. 启动程序文件在/usr/sbin/nginx 
3. 日志文件放在了/var/log/nginx中,分别是access.log和error.log 
4. 在/etc/init.d/下创建了启动脚本nginx 
5. 默认的虚拟主机的目录设置在了/usr/share/nginx/www

启动服务:/etc/init.d/nginx start,重启服务:/etc/init.d/nginx restart

现在,我们需要进入到Nginx的配置中,改动配置文件。vim /etc/nginx/site-avalidable/default

如图

如图

更改配置文件后重启服务/etc/init.d/nginx restart,或者service nginx restart

Gunicorn
Gunicorn 绿色独角兽 是一个Python WSGI UNIX的HTTP服务器。这是一个pre-fork worker的模型,从Ruby的独角兽(Unicorn )项目移植。该Gunicorn服务器大致与各种Web框架兼容,只需非常简单的执行,轻量级的资源消耗,以及相当迅速。

此时需要在“准备”步骤中创建的测试目录下放入我们的测试运行项目,我选择的FTP工具是:xftp。我传入了一个简单的用来测试的Python文件wsgi.py,使用命令/var/www/myflask# vim wsgi.py预览。 
wsgi.py

此时在测试目录下键入命令gunicorn -w 4 -b 127.0.0.1:8000 wsgi:app运行。 
开始运行

此时,访问服务器,可以看到“Hello World”已经可以正常显示了。 
hello world

  

以上是关于Ubuntu | Flask + Gunicorn + Nginx 部署服务器环境的主要内容,如果未能解决你的问题,请参考以下文章

如何使用Nginx和uWSGI或Gunicorn在Ubuntu上部署Flask Web应用

flask + supervisor + gunicorn

Flask+ gunicorn+ upstart+ nginx

Docker Image与uWSGI / Gunicorn + Nginx for CentOS中的Flask应用程序

Flask + Gunicorn + Nginx 部署

Flask + Gunicorn + Nginx 部署