5

問題が発生しました。Pythonスクリプトがあります。これをCGIスクリプトと呼ぶことができます。Apache2で正常に動作しますが、システムをシャットダウンする前に残っているのは1つだけで、永久に実行されます。新しいシステムはnginxを使用します。ソリューションを検索しているときに多くの人が提案したようにuwsgiを構成し、このスクリプトを実行するように仮想ホストを構成しました。uwsgi wikiの最初の例を使用して、nginxが適切に構成され、uwsgiと通信できることを確認しました。魅力のように働いた。

今私の合併症:

私のスクリプトは少し前に書かれたもので、WSGI用に設計されていません。また、書き直したい/書き直すこともできません。

そこで、uwsgi用のcgiモジュールをインストールして使ってみました。私が得るのは502エラーだけです。uwsgiは実行されていません。

これが私がこのアプリに使用している私の設定です:

[uwsgi]
plugins = cgi
socket = 127.0.0.1:9010
cgi = /=/usr/share/test/
cgi-allowed-ext = .py
cgi-helper = .py=python

index.py(テストスクリプト)にあるコードは次のとおりです。

#!/usr/bin/python
print "Content-type: text/html\n\n"
print "<html><body><h1>It works!</h1></body></html>"

次のコマンドでuwsgiをテストしようとしています。

/usr/sbin/uwsgi --http :9011 --ini /etc/uwsgi/test.ini --master

そして、ここに私が得る出力があります:

[uWSGI] getting INI configuration from /etc/uwsgi/test.ini
*** Starting uWSGI 1.1.2 (64bit) on [Fri Apr 20 15:26:33 2012] ***
compiled with version: 4.4.6 20110731 (Red Hat 4.4.6-3) on 19 April 2012 15:09:37
current working directory: /home/user
detected binary path: /usr/sbin/uwsgi
your memory page size is 4096 bytes
detected max file descriptor number: 1024
lock engine: pthread mutexes
uWSGI http bound on :9011 fd 3
uwsgi socket 0 bound to TCP address 127.0.0.1:9010 fd 6
your server socket listen backlog is limited to 100 connections
*** Operational MODE: single process ***
initialized CGI mountpoint: / = /usr/share/test/
*** no app loaded. going in full dynamic mode ***
*** uWSGI is running in multiple interpreter mode ***
spawned uWSGI master process (pid: 6727)
spawned uWSGI worker 1 (pid: 6728, cores: 1)
spawned uWSGI http 1 (pid: 6729)
-- unavailable modifier requested: 0 --
-- unavailable modifier requested: 0 --
-- unavailable modifier requested: 0 --
-- unavailable modifier requested: 0 --

問題はどこにありますか?助けてください。

前もって感謝します。

4

1 に答える 1

7

Ok。uwsgi WIKIを十分に読んでいませんでした。私がしなければならなかったのは--http-modifier1 9、コマンドラインスイッチまたはuwsgi_modifier1 9;nginx構成に追加することだけです.

location / {
     include /etc/nginx/uwsgi_params;
     uwsgi_modifier1 9;
     uwsgi_pass 127.0.0.1:9010;
}

/usr/sbin/uwsgi --http :9011 --http-modifier1 9 --ini /etc/uwsgi/test.ini --master
于 2012-04-21T14:02:24.183 に答える