5

我正在尝试设置 NGINX、uWSGI 和 Flask。我目前得到,


uWSGI 错误

未找到 Python 应用程序


我的 uwsgi 错误文件中有一些奇怪的错误,您可以在我的帖子底部找到这些错误。

我会直截了当地说,这是在运行 Ubuntu 13.04 64 位的新 VPS 上,这些是我运行的命令。

  • sudo apt-get 更新
  • sudo apt-get install build-essential
  • sudo apt-get install python-dev
  • sudo apt-get 安装 python-pip
  • sudo apt-get 安装 nginx
  • sudo apt-get install uwsgi
  • sudo apt-get install uwsgi-plugin-python
  • sudo pip install virtualenv

然后我创建了一个虚拟环境,激活它并运行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 样式的网站中。如果这不合适,我可以编辑我的帖子以将其包含在此处。

任何帮助将不胜感激!

4

3 回答 3

2

当您的脚本是“你好”时,您正在请求一个“运行”模块,事实上:

ImportError:没有名为运行的模块

于 2013-08-29T04:53:21.130 回答
2

通过在我的 ini 文件中添加 PythonPath 来修复,因为我的 python 文件位于 app 子目录中并使用文件名作为模块。

pp=/home/user/projects/python/flask/project/app
module=filename
于 2013-08-29T12:20:03.413 回答
0

对于在Flask、Nginx 和 uWSGI设置方面遇到类似问题的任何人,您可以关注 / fork 这个 repo:Python Flask with Nginx and uWSGI

于 2018-06-04T16:32:50.660 回答