Ubuntu 12.04、nginx 1.2.0、uwsgi 1.0.3。
次のコマンドでuwsgiを起動します。
uwsgi -s 127.0.0.1:9010 -M -t 30 -A 4 -p 4 -d /var/log/uwsgi.log
要求ごとに、nginxは502で応答し、uwsgiは次の行を記録するために書き込みます。
-- unavailable modifier requested: 0 --
元の答え
Ubuntu 11.10上のPython 2の場合、upstart
を使用して、python uWSGI
with apt-get install uwsgi-plugin-python
そして、iniファイルを使用してuWSGI
アプリを構成している場合は、plugins = python
から[uwsgi]
セクションでこの問題を解決する必要があります。
編集:Python 3およびUbuntu 17.10用に更新
Ubuntu 17.10上のPython 3の場合、systemd
を使用して、python uWSGI
with apt-get install uwsgi-plugin-python3
そして、iniファイルを使用してuWSGI
アプリを構成している場合は、plugins = python
から[uwsgi]
セクションでこの問題を解決する必要があります。
python
ファイルを使用して設定する方法など、uWSGI
/ini
アプリの使用を開始する方法の詳細については、この便利な ガイドをご覧ください。
uwsgi-plugin-python3
プラグインをインストールし、--plugin python3
オプションをuwsgi
startコマンドに追加することで解決しました
Ubuntuのupstartからuwsgiを起動しています。 apt-get install uwsgi-plugin-python
を実行してからplugins=python
を/ etc/uwsgi/applications-availableのapplication.iniに追加することで問題を解決しました。
from http://uwsgi-docs.readthedocs.org/en/latest/ThingsToKnow.html 、「リクエストを特定のプラグインにルーティングするには、ウェブサーバーはuWSGIインスタンス。デフォルトでは、この数値は0に設定されており、Pythonにマップされます。」
私はbashスクリプトに9を使用していますが、機能しています。数字とその意味はこのページにあります: http://uwsgi-docs.readthedocs.org/en/latest/Protocol.html
私のnginx設定で:
location ~ .cgi$ {
include uwsgi_params;
uwsgi_modifier1 9;
uwsgi_pass 127.0.0.1:3031;
}