在ubuntu13.10下使用gunicorn部署flask程序

其实我使用的linuxmint16 ,不过他是基于ubuntu13.10的,按照从网上找到的一片博文操作,基本ok,不过还是除了一些小问题,记录一下:

博文地址:How to Run Flask Applications with Nginx Using Gunicorn

我没用virtualenv

第一步:安装gunicorn

sudo pip install gunicorn
#也可以
sudo easy_install gunicorn

第二步:


app.run()

的前面加上:

from werkzeug.contrib.fixers import ProxyFix
app.wsgi_app = ProxyFix(app.wsgi_app)

运行它:

gunicorn hello:app

这个hello就是

app.run()

所在文件的名字,至于冒号后面的app自然就是app.run()的app了。

其实在文档里还有这样一种运行方法,不过我没成功:

gunicorn -w 4 -b 127.0.0.1:4000 myproject:app

第三步,安装、配置nginx。

 sudo apt-get install nginx
 sudo gedit /etc/nginx/sites-available/default

server {
    listen 80;
    server_name localhost;
 
    root /home/ranvane/develop/cdlist_flask;
    
    access_log /home/ranvane/develop/cdlist_flask/logs/access.log;
    error_log /home/ranvane/develop/cdlist_flask/logs/error.log;
 
    location / {
        proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_redirect off;
        if (!-f $request_filename) {
            proxy_pass http://127.0.0.1:5000;
            break;
        }
    }
}

修改完用

sudo nginx -t

 检查一下配置文件是否正确。

/home/ranvane/develop/cdlist_flask是有app.run()文件的目录,proxy_pass http://127.0.0.1:5000;是端口转发,这里我就遇到了问题,其实gunicorn hello:app是转发到了8000端口,但是nginx就是不能解析,我看这控制台显示的还是调试时显示的“* Running on http://127.0.0.1:5000/”,于是就试着把端口改为5000,就成了。


这其实就是我遇到的问题:

gunicorn运行时绑定的端口nginx不会转发。。。。。。。。。

唉,先用着吧。。。等会再查查。


嘿嘿,找到问题了,只要将 app.run()  注释掉就可以了。

转载于:https://my.oschina.net/ranvane/blog/207319

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值