ubuntu16下部署 Nginx+uWSGI+Flask

前端之家收集整理的这篇文章主要介绍了ubuntu16下部署 Nginx+uWSGI+Flask前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

创建虚拟环境,安装好所需的flask相关插件,并将python写的app文件都拷贝到这个目录下,详情请看我的博客

http://www.jb51.cc/article/p-wvxejdqr-bqv.html


安装并运行Nginx

sudo apt-get install Nginx
sudo /etc/init.d/Nginx start


打开浏览器访问你的服务器,输入http://localhost/,你应该能看到Nginx欢迎页:


Nginx是一个提供静态文件访问的web服务,然而,它不能直接执行托管Python应用程序,而uWSGI解决了这个问题。让我们在虚拟环境中安装uWSGI,稍候再配置Nginx和uWSGI之间的交互。

pip3 install uwsgi


配置Nginx
首先删除Nginx的默认配置文件

sudo rm /etcNginxsites-enabled/default


创建一个我们应用使用的新配置文件/etc/Nginx/sites-enabled/my_Nginx.conf:

server {
  listen   80;
  server_name localhost;
  charset  utf-8;
  client_max_body_size 75M;

  location / { try_files $uri @yourapplication; }
  location @yourapplication {
    include uwsgi_params;
    uwsgi_pass unix:/home/clark/py3env/uwsgi.sock;    
  }
}


将刚建立的配置文件使用符号链接Nginx配置文件文件夹中,重启Nginx

sudo ln -s /etc/Nginx/sites-enabled/my_Nginx.conf /etc/Nginx/conf.d/
sudo /etc/init.d/Nginx restart


配置uWSGI,

在虚拟环境中创建一个新的uWSGI配置文件/home/clark/py3env/uwsgi.ini:

[uwsgi]
base = /home/clark/py3env
#设置主app的名称,例如manage.py 就写如下
app = manage
module = %(app)
pythonpath = %(base)
socket = /home/clark/py3env/uwsgi.sock
chmod-socket = 666
callable = app
logto = /home/clark/py3env/uwsgi.log

执行uWSGI,用新创建的配置文件作为参数:

uwsgi --ini uwsgi.ini

接下来访问你的服务器,现在Nginx可以连接到uWSGI进程了

猜你在找的Ubuntu相关文章