EC2 インスタンスの html フォルダーから .py ファイルを実行しようとしています。
Python 2.6.8 をインストールし、/var/www/html ディレクトリ内の cgi .py ファイルを認識して実行できるように httpd.conf を構成しました。
テスト用の index.py ファイルには、次のスクリプトが含まれています。
#!/usr/bin/python
# enable debugging
import cgitb
cgitb.enable()
print "Content-Type: text/plain\r\n\r\n"
print "Hello World!"
mywebsite.com/index.py を実行するたびに、ブラウザーは内部サーバー エラーがあると表示します。httpd error_log から、次の情報が得られます。
[Sun Sep 09 21:52:46 2012] [error] (2)No such file or directory: exec of '/var/www/html/index.py' failed
[Sun Sep 09 21:52:46 2012] [error] Premature end of script headers: index.py
私が考えているのは、 #!/usr/bin/python がスクリプトを実行するための python を見つけていないということです。そこで、コンソールに次のように入力しました。
ls -l -F /usr/bin/python*
そして、それは私に次のことを与えます:
lrwxrwxrwx 1 root root 9 Sep 7 18:31 /usr/bin/python -> python2.6*
lrwxrwxrwx 1 root root 9 Sep 7 18:31 /usr/bin/python2 -> python2.6*
-rwxr-xr-x 2 root root 3536 Jun 29 06:51 /usr/bin/python26*
-rwxr-xr-x 2 root root 3536 Jun 29 06:51 /usr/bin/python2.6*
-rwxr-xr-x 1 root root 1418 Jun 29 06:51 /usr/bin/python2.6-config*
したがって、技術的には、リクエストは機能するはずです。私は何が欠けていますか?
注: .py ファイルは実行可能になるように chmod されており、(当面の間) 777 アクセスできることに注意してください。
編集: WSGI をインストールしましたが、実行中かどうかわかりません。また、 whereis python と入力したところ、次の結果が得られました。
python: /usr/bin/python2.6-config /usr/bin/python /usr/bin/python2.6 /usr/lib/python2.6 /usr/include/python2.6