1

uWSGI と nginx をインストールしapt-get、uwsgi-conf.ini を /etc/uwsgi/apps-available に配置して、apps-enabled にシンボリック リンクし、nginx 構成と同じ手順に従いました。

(構成ファイルは以下にリストされています)

問題は、uWSGI が /usr/share/nginx/www/helloflask/venv にある virtualenv を開始できないことです。

行を追加しvirtualenv = /usr/share/nginx/www/helloflask/venvてサーバーにアクセスすると、502 Bad Gatewayエラーが発生しますか?

virtualenvファイルに行がないと、.ini次のメッセージが表示されます。

uWSGI Error

Python application not found

そして、ログファイルからの数行は次のとおりです。

Traceback (most recent call last):
  File "/usr/share/nginx/www/helloflask/test.py", line 1, in <module>
    from application import app
  File "/usr/share/nginx/www/helloflask/application.py", line 1, in <module>
    from flask import Flask
ImportError: No module named flask
 - unable to load app 0 (mountpoint='xx.xx.xxx.xx|') (callable not found or import error)
xx.xx.xxx.xx {address space usage: 134094848 bytes/127MB} {rss usage: 12623872 bytes/12MB} [pid: 29848|app: -1|req: -1/6] 95.166.70.107 () {44 vars in 721 bytes} [Thu May  9 08:40:29 2013] GET /favicon.ico => generated 48 bytes in 5 msecs (HTTP/1.1 500) 2 headers in 63 bytes (0 switches on core 0)

/etc/uwsgi/apps-available/uwsgi-conf.ini

[uwsgi]
plugins = python
gid = nginx
uid = nginx
vhost = true
logdate
socket = 127.0.0.1:3031
master = true
processes = 1
harakiri = 20
limit-as = 128
memory-report
no-orphans = true

/etc/nginx/sites-available/helloflask

server {
  listen 80;
  server_name xx.xx.xxx.xxx;
  location / {
    include uwsgi_params;
    uwsgi_param UWSGI_CHDIR /usr/share/nginx/www/helloflask/;
    uwsgi_param UWSGI_PYHOME /user/share/nginx/www/helloflask/;
    uwsgi_param UWSGI_SCRIPT test;
    uwsgi_pass 127.0.0.1:3031;
  }
}
4

1 に答える 1

0

次の出力から、virtualenv に必要なモジュールが不足していることは明らかです。

ImportError: No module named flask

フラスコ モジュールを virtualenv にインストールしてみてください。必要に応じて、必要な他のモジュールもインストールしてください。

source /usr/share/nginx/www/helloflask/venv/bin/activate
pip install flask
于 2013-06-15T03:42:44.930 に答える