簡體   English   中英

從Apache運行python腳本的最簡單方法

[英]Easiest way to run python script from Apache

我花了很長時間試圖找出答案。 我基本上是在嘗試開發一個網站,當用戶單擊特定按鈕時,我必須在該網站上執行python腳本。 在研究了Stack Overflow和Google之后,我需要配置Apache以能夠運行CGI腳本。 我已經看到了許多可以實現此目的的軟件示例,例如mod_wsgi 問題是我對這些軟件的說明非常困惑,尤其是對於mod_wsgi 我完全不了解其中的說明,也無法安裝該軟件並使任何工作正常進行。

如果有人有一個非常簡單的方法來在Apache中執行python腳本,我將不勝感激。 如果有人想解釋如何使用mod_wsgi,我也將不勝感激,因為到目前為止,我還不知道如何使用它,並且安裝說明使我感到困惑。

如您所說,使用CGI並不是那么容易,而是在某種程度上很簡單。 您可以在Apache文檔Python CGI模塊文檔中找到更多信息。

但是,基本上,您必須將服務器設置為運行cgi sripts。 這可以通過編輯httpd.conf或.htaccess文件來完成:對於第一個選項,請添加或取消注釋以下內容:

LoadModule cgi_module modules/mod_cgi.so

ScriptAlias /cgi-bin/ /usr/local/apache2/cgi-bin/ # update the second location according to your configuration. It has to be a place where apache is allow to use, otherwise see apache documentation for setting another directory.

然后,您只需要在上面設置的目錄中添加python腳本即可。

請注意,如Apache文檔所述,腳本輸出必須帶有mime-type標頭。

因此,hello world腳本可以命名為hello.py,其內容可以是:

#!/usr/bin/python
print('Content-type: text/html') # the mime-type header.
print() # header must be separated from body by 1 empty line.
print('Hello world')

然后,您可以從瀏覽器調用scrit:

http://localhost/cgi-bin/hello.py

請注意,Python在其cgi realized內置模塊內部具有一些優點。 cgi模塊將為您提供處理表單的方法,而cgitb將為您提供一種有用的(但不是完美的)調試腳本的方法。 有關更多信息,請再次閱讀文檔。

最后,直接使用cgi運行python腳本為您提供了處理http請求的原始方法。 有許多已經完成的框架,例如flask和django,可以輕松為您提供更多功能。 您可以檢查一下。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM