ubuntu16下部署 Nginx+uWSGI+Flask

来源:互联网 发布:淘宝怎么样用微信支付 编辑:程序博客网 时间:2024/06/06 04:33

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

http://blog.csdn.net/a18373279153/article/details/78554980


安装并运行Nginx:

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


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

nginx

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

pip3 install uwsgi


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

sudo rm /etc/nginx/sites-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进程了




阅读全文
0 0
原创粉丝点击