首页 文章

aws ec2 - 用bash命令运行python uwsgi继续返回 - 找不到python应用程序

提问于
浏览
1

我正在尝试按照此链接中的教程运行我的烧瓶应用程序 - https://www.digitalocean.com/community/tutorials/how-to-serve-flask-applications-with-uwsgi-and-nginx-on-ubuntu-14-04#configure-uwsgi

使用亚马逊服务器的ec2来运行这个...

Amazon Linux AMI 2017.09.1(HVM),所有选项都免费提供 .

我的文件结构如下:

/home/ec2-user/login_test/login_test/app.py
                                    /wsgi.py
                         /venv/

所以我给了一个 uwsgi --socket 0.0.0.0:8000 --protocol=http -w wsgi 命令,如教程中所述,"Testing uWSGI Serving"部分,这将返回:

--- no python application found, check your startup logs for errors --- [pid: 24218|app: -1|req: -1/1] 127.0.0.1 () {24 vars in 257 bytes} [Wed Apr 11 07:01:38 2018] GET / => generated 21 bytes in 0 msecs (HTTP/1.1 500) 2 headers in 83 bytes (0 switches on core 0) 浏览器返回 Internal Server Error

所以......我应该怎么做才能检查?如果我没有使用uwsgi(只需 python app.py 命令)并通过家用计算机上的cmd(Windows 10)激活此应用程序,该应用程序工作正常

编辑:我的wsgi.py内容:

from app import app as application

if __name__ == "__main__":
    application.run()

1 回答

  • 0

    这是一个最小的工作示例:

    wsgi.py:

    from flask_app import app
    

    flask_app.py:

    来自flask进口烧瓶

    app = Flask('my test app')
    
    @app.route("/ping")
    def ping():
    
        return 'pong'
    

    命令: uwsgi --socket 0.0.0.0:5000 --protocol=http -w wsgi:app

    或没有 wsgi.py 文件:
    uwsgi --socket 0.0.0.0:5000 --protocol=http -w flask_app:app

    需要注意的事项:

    • wsgi :( -w参数)表示您有一个名为的文件: wsgi.py

    • app(-w参数)是导入的烧瓶对象(Flask())

相关问题