これは、uwsgi「pyApp.py」を実行するための私の.iniファイルです。
[uwsgi]
plugins = cgi
socket = 127.0.0.1:9010
cgi = /=/usr/share/test/
cgi-allowed-ext = .py
cgi-helper = .py=python
/usr/share/test/firstapp.pyの場所に「firstapp.py」というファイルがあります。その内容は次のとおりです。
#!/usr/bin/python
print "Content-type: text/html\n\n"
print "<html><body><h1>It works! Cool!!</h1></body></html>"
コマンドでuwsgiのインスタンスを実行しています
uwsgi --http :9011 --http-modifier1 9 --ini pyApp.ini --master
Nginxを使用していくつかのvhostを構成しました。また、「/ cgi-bin /」を含むURLがある場合、そのうちの1つはディレクトリ/ usr/share/test /を指している必要があります。
Nginxの設定は-[他の中で唯一のデフォルトのものでもあります]
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /var/www/pythonsite.com/html;
index index.html index.htm;
server_name pythonsite.com www.pythonsite.com;
location / {
try_files $uri $uri/ =404;
}
location /cgi-bin {
include uwsgi_params;
uwsgi_modifier1 9;
uwsgi_pass 127.0.0.1:9010;
}
}
しかし、ブラウザからURLを介して「cgi」スクリプトにアクセスしようとすると
http://pythonsite.com/cgi-bin/firstapp.py
デフォルトのURL「pythonsite.com」は正常に機能しているようですが、「cgi-bin」が含まれている上記のURlには何かが欠けているようです。 「502BadGateway」が表示されます。私は何が欠けています。 pythonスクリプトをこのように使用するには?
編集:
また、ブラウザでURL http://pythonsite.com/cgi-bin/firstapp.py "をリクエストするたびに、uwsgiサーバーインスタンスに次のようなログがあります。
-- unavailable modifier requested: 9 --
編集2:
uwsgiログで、127.0..0.1:9010の「無効なリクエストブロックサイズ:21573(最大4096)...スキップ」が表示され、ブラウザページで接続がリセットされました
および「127.0.0.1:9011/」の場合。ブラウザに「内部サーバーエラー」メッセージが表示されます。およびuwsgiは"--- no python application found, check your startup logs for errors ---"
としてログに記録します
何がうまくいかない可能性がありますか? :|
CGIプラグインはインストールされていますか?
同じ構成でエラーを再現できますが、CGIプラグインをインストールし、/ tmp/uwsgiの新しいバイナリを使用して実行すると機能します。
curl http://uwsgi.it/install | bash -s cgi /tmp/uwsgi