gpt4 book ai didi

python - 带有 UWSGI : Python application not found 的 flask

转载 作者:太空宇宙 更新时间:2023-11-03 18:10:50 25 4
gpt4 key购买 nike

我已关注Linode guide在使用 Flask 应用程序设置 UWSGI 时,一切似乎都正常,直到我尝试放置我的应用程序而不是示例应用程序,此时我收到“uWSGI 错误 Python 应用程序未找到”。

我在/srv/www/xxx.com/xxx/中的文件结构是:

app/
__init__.py
uwsgi.py

__init__.py 文件包含用于运行应用程序的行:

if __name__ == '__main__':
app.run()

并且 uwsgi.py 导入应用程序:

#!flask/bin/python

from app import app

if __name__ == "__main__":
app.run(debug = False)

当我手动尝试运行 python uwsgi.py 时,该应用程序似乎可以正常工作,因此没有错误或错误的导入。如果我将 uwsgi.py 的内容更改为如下内容(来自示例):

import os
import sys

sys.path.append('/srv/www/example.com/application')

os.environ['PYTHON_EGG_CACHE'] = '/srv/www/example.com/.python-egg'

def application(environ, start_response):
status = '200 OK'
output = 'Hello World!'

response_headers = [('Content-type', 'text/plain'),
('Content-Length', str(len(output)))]
start_response(status, response_headers)

return [output]

应用程序似乎正在运行,因此 UWSGI 和 nginx 工作正常并运行 uwsgi.py 文件,但当我将其指向我的应用程序时却无法运行。

我的uwsgi配置:

<uwsgi>
<plugin>python</plugin>
<socket>/run/uwsgi/app/xxx.com/xxx.com.socket</socket>
<pythonpath>/srv/www/xxx.com/application/xxx/</pythonpath>
<app mountpoint="/">

<script>uwsgi</script>

</app>
<master/>
<processes>4</processes>
<harakiri>60</harakiri>
<reload-mercy>8</reload-mercy>
<cpu-affinity>1</cpu-affinity>
<stats>/tmp/stats.socket</stats>
<max-requests>2000</max-requests>
<limit-as>512</limit-as>
<reload-on-as>256</reload-on-as>
<reload-on-rss>192</reload-on-rss>
<no-orphans/>
<vacuum/>
</uwsgi>

我的 nginx 配置:

server {
listen 80;
server_name $hostname;
access_log /srv/www/xxx.com/logs/access.log;
error_log /srv/www/xxx.com/logs/error.log;

location / {
uwsgi_pass unix:///run/uwsgi/app/xxx.com/xxx.com.socket;
include uwsgi_params;
uwsgi_param UWSGI_SCHEME $scheme;
uwsgi_param SERVER_SOFTWARE nginx/$nginx_version;

}

location /static {
root /srv/www/xxx.com/public_html/static/;
index index.html index.htm;

}

}

这是 uwsgi 错误日志:

added /srv/www/xxx.com/application/xxx/ to pythonpath.
- unable to load app 0 (mountpoint='/') (callable not found or import error)
- *** no app loaded. going in full dynamic mode ***
- *** uWSGI is running in multiple interpreter mode ***
- spawned uWSGI master process (pid: 21982)
- spawned uWSGI worker 1 (pid: 21990, cores: 1)
- set cpu affinity for worker 1 toTue Sep 23 16:51:19 2014 - 0Tue Sep 23 16:51:19 2014 -
- spawned uWSGI worker 2 (pid: 21991, cores: 1)
- *** Stats server enabled on /tmp/stats.socket fd: 14 ***
- set cpu affinity for worker 2 toTue Sep 23 16:51:19 2014 - 0Tue Sep 23 16:51:19 2014 -

谁能指出我哪里出错了?我花了几个小时尝试各种解决方案,但似乎没有任何效果,我一定是遗漏了一些重要的东西,但找不到它。

最佳答案

尝试添加<callable>application</callable>

关于python - 带有 UWSGI : Python application not found 的 flask ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26000572/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com