Python

如何讓 apache 在 RHEL6 中使用 MOD_WSGI 或 MOD_PYTHON 執行 python 腳本?

  • June 17, 2011

我正在嘗試讓 apache 執行 python 腳本。我在 RHEL6 上安裝了 MOD_WSGI 、 Apache 、 Python 。我什至編輯了 httpd.conf 文件以包含這些行。

<Directory /var/www/>
 Options Indexes FollowSymLinks MultiViews ExecCGI

 AddHandler cgi-script .cgi
 AddHandler wsgi-script .wsgi

 AllowOverride None
 Order allow,deny
 allow from all
</Directory>

我也重新啟動了apache伺服器。但是當我嘗試執行 python 腳本時,它只是在瀏覽器中列印為純文字。它根本沒有被執行。請有人幫忙。

apache2ctl -t -D DUMP_MODULES通過發出或來查看模組是否正確載入apachectl -t -D DUMP_MODULES。如果不是,請編輯您的httpd.conf或包含的文件以包含以下內容(如果需要,請替換liblib64):

LoadModule wsgi_module /usr/lib/httpd/modules/mod_wsgi.so

請注意,您不能使用 WSGI 執行任何 python 腳本——如果我沒記錯的話,它必須支持與 WSGI 處理程序的介面。如果你想執行任何 python 腳本,也許你應該使用普通的舊 CGI,它很慢(如果你的使用者比你自己多,請不要在生產中使用它)但很容易。如果您的腳本在其中並且它們在頂部cgi-bin有正確的shebang ,那麼它們應該已經可以正常工作了。

如果您想使用 mod_python 讓 Apache 執行正常 python 腳本,請首先確保您正在載入模組:

 LoadModule python_module modules/mod_python.so

然後將其添加到您的配置中,例如在目錄塊中,首先刪除您的其他更改:

 AddHandler mod_python .py
 PythonHandler mod_python.publisher

引用自:https://serverfault.com/questions/281487