我正在尝试设置NGINX,uWSGI和Flask。我现在正在,
uWSGI错误
找不到Python应用程序
我的uwsgi错误文件中出现了一些奇怪的错误,您可以在我的帖子底部找到。
我会直截了当地说,这是运行Ubuntu 13.04 64bit的全新VPS,这些是我运行的命令。
然后我创建了一个虚拟环境,激活它并运行 pip install flask 然后我创建了一个名为app的文件夹,并将一个名为hello.py的文件放在同一个文件夹中
/project
/app
-hello.py
/bin
/include
/lib
/local
这是我的NGINX文件(nginx错误文件为空)
server {
listen 80;
server_name project.domain.net;
location / {
try_files $uri @app;
}
location @app {
include uwsgi_params;
uwsgi_pass unix:/tmp/uwsgi.sock;
}
location ~ /\. {
deny all;
}
}
这是我的uWSGI ini文件
[uwsgi]
chdir = /home/user/projects/python/flask/project
uid = www-data
gid = www-data
chmod-socket = 666
plugin = python
socket = /tmp/uwsgi.sock
module = run
callable = app
virtualenv = /home/user/projects/python/flask/project
这是我的hello.py文件
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello_word():
return "Hello World!"
if __name__ == "__main__":
app.run()
这是我的uWSGI错误文件https://p.kk7.me/sepukinulu.applescript它很长,所以我想我会把它粘贴在一个pastebin风格的网站上。如果不行,我可以编辑我的帖子以包含它。
非常感谢任何帮助!
答案 0 :(得分:2)
当您的脚本为“hello”时,您正在请求“运行”模块,实际上是:
ImportError:没有名为run
的模块答案 1 :(得分:2)
通过在我的ini文件中添加PythonPath来修复,因为我将我的python文件放在app子目录中,并使用文件名作为模块。
pp=/home/user/projects/python/flask/project/app
module=filename
答案 2 :(得分:0)
对于任何与 Flask,Nginx& uWSGI 设置,你可以关注/分叉这个回购:Python Flask with Nginx and uWSGI