【问题标题】:aws ec2 - running python uwsgi with bash command keeps returning --no python application foundaws ec2 - 使用 bash 命令运行 python uwsgi 不断返回 --no python application found
【发布时间】:2018-09-20 23:28:29
【问题描述】:

我正在尝试按照此链接中编写的教程运行我的烧瓶应用程序 - 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 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()

【问题讨论】:

  • 我尝试看到类似的问题,但它们是关于设置 ini 文件等....不是真的使用 bash 命令所以....:/
  • 我认为在您的 wsgi 模块中您还需要导入应用程序(app=Flask() from your app.py)并执行:-w wsgi:app
  • 哦,是的,我忘了提......刚刚添加了我的 wsgi.py 文件内容。
  • 如果 name == "main": application.run() wsgi 不会执行这个。试试 -w wsgi:application
  • 所以uwsgi --socket 0.0.0.0:5000 --protocol=http -w wsgi:application?嗯....还是一样的:(

标签: python amazon-web-services nginx flask


【解决方案1】:

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

wsgi.py:

from flask_app import app

flask_app.py:

从烧瓶导入烧瓶

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对象(Flask())导入

【讨论】:

  • 哦,所以....我根本不应该在内容中输入app.run()wsgiwsgi.py 本身,而后面的 app 是来自 from flask_app import app 的烧瓶对象,对吗?好的....我会尝试将它应用到我的...
  • aaa 成功了。谢谢。 uuug 第一次进入服务器,这真是令人头疼......
  • 它变得更容易...... :) 祝你好运,阅读文档是关键!复制粘贴通常会给你更多的努力,而不是仅仅阅读和自己做
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-06-30
  • 1970-01-01
  • 2020-07-25
  • 2011-05-14
  • 1970-01-01
  • 2020-10-02
相关资源
最近更新 更多