Ubuntu

UWSGI 無法使用 nginx 和燒瓶導入模組“mysite”

  • July 25, 2013

我是使用 uwsgi 和 nginx 的新手,但我無法弄清楚為什麼我會從 uwsgi 收到此錯誤:

ImportError: No module named mysite
unable to load app 0 (mountpoint='my_ipaddr|') (callable not found or import error)

這是我的 nginx 配置文件:

server {
   listen   80;
   server_name my_ipaddr;

   location /static {
     alias /var/www/mysite/static;
   }

   location / {
         include      uwsgi_params;
         uwsgi_pass   unix:/tmp/mysite.sock;
         uwsgi_param  UWSGI_PYHOME  /var/www/mysite/venv;
         uwsgi_param  UWSGI_CHDIR /var/www/mysite;
         uwsgi_param  UWSGI_MODULE app;
         uwsgi_param  UWSGI_CALLABLE app;
   }

這是我的 uwsgi 的 mysite.ini:

[uwsgi]
vhost=true
socket=/tmp/mysite.sock
venv = /var/www/mysite/venv

這是我的 app.py:

from flaskext.markdown import Markdown
from views import app

Markdown(app)

def main():
   app.run()

if __name__ == '__main__':
   main()

從命令行啟動應用程序時,我可以使用 uwsgi 執行該應用程序,但我無法使用上述設置使其與 nginx 一起使用。

將設置從 nginx 移動到 uswgi 解決了我的問題:

mysite.ini:

[uwsgi]
vhost=true
socket=/tmp/mysite.sock
venv = /var/www/mysite/venv
chdir = /var/www/mysite
module = app
callable = app

nginx配置文件:

server {
       listen   80;
       server_name my_ipaddr;

       location /static {
         alias /var/www/mysite/static;
       }

       location / {
             include      uwsgi_params;
             uwsgi_pass   unix:/tmp/mysite.sock;
       }

引用自:https://serverfault.com/questions/526220