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

问题描述 投票:1回答: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命令,如教程中所述,“测试uWSGI服务”部分,这将返回:

--- 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()
python amazon-web-services nginx flask
1个回答
0
投票

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

我是个i.朋友:

from flask_app import app

flask_app.朋友:

来自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())
© www.soinside.com 2019 - 2024. All rights reserved.