首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
V2EX  ›  Python

gunicorn 命令行运行 flask 成功,使用 supervisor 运行就失败求大神解答?

  •  
  •   sevenQu · 98 天前 · 759 次点击
    这是一个创建于 98 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有两个启动文件
    manage.py ,使用 flask-script 插件,最后是 manage.run()
    使用命令行:gunicorn manage:app -b localhost:8000 成功启动

    run.py ,我不太明白这下面两句是什么意思

    from werkzeug.contrib.fixers import ProxyFix
    app.wsgi_app = ProxyFix(app.wsgi_app)
    app.run(host='127.0.0.1',port=8000)
    
    但是使用 gunicorn run:app -b localhost:8000 同样启动成功
    
    使用 supervisor 配置文件内容如下
    
    [program:niceblog]
    command=/home/seven/.pyenv/versions/daily/bin/gunicorn manage:app -b localhost:8000
    diretory=/home/seven/Desktop/niceblog
    user=root
    autostart=true
    autorestart=true
    tdout_logfile=/home/seven/Desktop/niceblog/logs/gunicorn_supervisor.log
    
    由于使用的是 pyenv 所以 gunicorn 路径是那样,路径应该没错
    
    command 不管是 manage:app,还是 run:app 都不行
    
    manage:app,logs 提示 No module named 'manage'
    
    run:app,logs 提示 fail find application run
    
    希望有人可以帮忙指点一下,谢谢
    
    5 回复  |  直到 2018-03-16 16:41:40 +08:00
        1
    lnightk   98 天前 via Android
    command 中启动应该是 python manage.py 吧?
        2
    julyclyde   98 天前
    manage.py 里面肯定有 if __name__吧?要不然按说会和 gunicorn manage:app 方式冲突的
        3
    sevenQu   97 天前
    @julyclyde 我去掉了 if__name__也不行,我使用命令行是可以成功的,所以应该不是这个问题吧
        4
    julyclyde   97 天前
    @sevenQu 你得明白,独立运行的程序,和“被 gunicorn 命令调用的程序”不是一码事
    前者自己 run
    后者提供一个叫做 app 的变量,供 gunicorn 调用; run 是在 gunicorn 那边的
        5
    jasonqiao36   97 天前
    ProxyFix 能获取到真实的请求 IP,但是有安全问题。http://flask.pocoo.org/docs/0.12/deploying/wsgi-standalone/#deploying-proxy-setups
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   2731 人在线   最高记录 3541   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 16ms · UTC 09:52 · PVG 17:52 · LAX 02:52 · JFK 05:52
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1