Flask项目部署(Nginx+Gunicorn)

Flask项目部署(Nginx+Gunicorn)

flask项目刚开始在服务器上部署的时候,没有选择任何框架,只是在本地安装了python之后,直接命令行启动运行的。这样部署服务是可用的,但是经常会挂掉。同时,由于这种模式只能开单线程,性能也比较差。为了解决稳定性的问题,决定使用Nginx+Gunicorn+flask部署服务,目的在于提高服务的稳定性,提高服务的性能。

一.项目文件准备

1.安装python环境:

Python
$ sudo apt-getupdate $ sudo apt-getinstall python-dev python-pip python-virtualenv
1
2
$ sudo apt - getupdate
$ sudo apt - getinstall python - dev python - pip python - virtualenv

2.安装Nginx:

Python
$ sudo apt-get install nginx
1
$ sudo apt - get install nginx

3.新建一个文件夹,修改文件夹权限:

Python
$ sudo mkdir /var/www/my<span class="wp_keywordlink_affiliate"><a href="https://www.168seo.cn/tag/flask" title="View all posts in flask" target="_blank">flask</a></span> $ sudo chmod777 /var/www/my<span class="wp_keywordlink_affiliate"><a href="https://www.168seo.cn/tag/flask" title="View all posts in flask" target="_blank">flask</a></span>
1
2
$ sudo mkdir / var / www / myflask
$ sudo chmod777 / var / www / myflask

4.上传你的项目文件:

Python
$ scp -r myflask root@www.mydomain.com:/var/www/myflask
1
$ scp - r myflask root @ www . mydomain . com : / var / www / myflask

二.Gunicorn:

1.安装Gunicorn: Gunicorn 应该装在你的 virtualenv 环境下,安装前记得激活 venv

Python
(venv) $ pipinstall gunicorn
1
( venv ) $ pipinstall gunicorn

2.运行Gunicorn:

Python
(venv)$gunicorn -w4 -b127.0.0.1:8080 manage:application
1
( venv ) $ gunicorn - w4 - b127 . 0.0.1 : 8080 manage : application

参数说明: -W 4 :指定Gunicorn线程数 127.0.0.1:8000 :本机地址及端口号 manage:程序入口文件(不包括后缀/模块名) application:flask实例的名称 到目前为止,如果安装顺利切正确的话,你在浏览器输入127.0.0.1:8000是可以正常访问你的程序的。如果不能打开,请仔细检查你的IP地址和端口号(如果是本机,IP地址就是127.0.0.1:8000;如果是远程机器,注意设置为0.0.0.0:8000)

三.Nginx:

1.Nginx安装: 安装教程网上很多,不细讲 2.修改nginx配置文件:

Python
server { listen 80; server_name example.org; # 这是HOST机器的外部域名,用地址也行 location / { proxy_pass http://127.0.0.1:8080; # 这里是指向 gunicorn host 的服务地址 proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
1
2
3
4
5
6
7
8
9
10
server {
listen 80 ;
server_name example . org ; # 这是HOST机器的外部域名,用地址也行
 
location / {
proxy_pass http : / / 127.0.0.1 : 8080 ; # 这里是指向 gunicorn host 的服务地址
proxy_set_header Host $ host ;
proxy_set _header X - Forwarded - For $ proxy_add_x_forwarded_for ;
}
}

3.重启Nginx:

Python
sudo service nginx restart
1
sudo service nginx restart

至此,flask项目已经成功部署了,打开浏览器输入地址访问,发现确实比之前用flask框架自带的web server要快的多。

 

可以参考这个

https://www.digitalocean.com/community/tutorials/how-to-serve-flask-applications-with-gunicorn-and-nginx-on-ubuntu-14-04




  • zeropython 微信公众号 5868037 QQ号 5868037@qq.com QQ邮箱
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值