來源:阿里雲大學——開發者課堂——Python自學手冊
python
什麼是CGI?web
CGI 目前由NCSA維護,NCSA定義CGI以下:編程
CGI(Common Gateway Interface),通用網關接口,它是一段程序,運行在服務器上如:HTTP服務器,提供同客戶端HTML頁面的接口。瀏覽器
網頁瀏覽服務器
爲了更好的瞭解CGI是如何工做的,咱們能夠從在網頁上點擊一個連接或URL的流程:架構
· 一、使用你的瀏覽器訪問URL並鏈接到HTTP web 服務器。less
· 二、Web服務器接收到請求信息後會解析URL,並查找訪問的文件在服務器上是否存在,若是存在返回文件的內容,不然返回錯誤信息。ide
· 三、瀏覽器從服務器上接收信息,並顯示接收的文件或者錯誤信息。阿里雲
CGI程序能夠是Python腳本,PERL腳本,SHELL腳本,C或者C++程序等。spa
CGI架構圖
Web服務器支持及配置
在你進行CGI編程前,確保您的Web服務器支持CGI及已經配置了CGI的處理程序。
Apache 支持CGI 配置:
設置好CGI目錄:
ScriptAlias /cgi-bin/ /var/www/cgi-bin/複製代碼
全部的HTTP服務器執行CGI程序都保存在一個預先配置的目錄。這個目錄被稱爲CGI目錄,並按照慣例,它被命名爲/var/www/cgi-bin目錄。
CGI文件的擴展名爲.cgi,python也能夠使用.py擴展名。
默認狀況下,Linux服務器配置運行的cgi-bin目錄中爲/var/www。
若是你想指定其餘運行CGI腳本的目錄,能夠修改httpd.conf配置文件,以下所示:
<Directory "/var/www/cgi-bin">
AllowOverride None
Options +ExecCGI
Order allow,deny
Allow from
all</Directory>
複製代碼
在 AddHandler 中添加 .py 後綴,這樣咱們就能夠訪問 .py 結尾的 python 腳本文件:
AddHandler cgi-script .cgi .pl .py複製代碼
來自: 阿里雲大學——開發者課堂——Python自學手冊