首先仍是先在官網下載Apache,版本爲Apache 2.4.26 x64,下載64位的
地址爲:http://www.apachehaus.com/cgi-bin/download.plxhtml
下載完成後解壓,Apache24移動到你想放置的地方python
我這裏是把Apache24放在G盤下。 apache
接下來進行CGI配置瀏覽器
進入conf,用記事本(或者Notepad等編輯器)編輯httpd.conf文件服務器
【簡潔版修改步驟:這裏只列出了要修改的關鍵地方】(後面有介紹詳細修改步驟)
# STEP:1.設置Appache在你電腦的安裝目錄 Define SRVROOT "G:/Apache24" ServerRoot "${SRVROOT}" ...
#Listen 12.34.56.78:80 # STEP:2.修改監聽端口 Listen 88 ...
# STEP:3.開啓基於主機的組受權(去掉下面這行的註釋便可) LoadModule access_compat_module modules/mod_access_compat.so ... # STEP:4.開啓apache的代理模塊(直接去掉前面的註釋便可) LoadModule proxy_module modules/mod_proxy.so ... # STEP:5.開啓代理http和https請求(直接去掉前面的註釋便可) LoadModule proxy_http_module modules/mod_proxy_http.so ...
# STEP:6.開啓rewrite模式(直接去掉前面的註釋便可) LoadModule rewrite_module modules/mod_rewrite.so ...
# STEP:7.開啓虛擬主機動態配置(直接去掉前面的#註釋便可)
LoadModule vhost_alias_module modules/mod_vhost_alias.so
...
# STEP:8.開啓CGI路徑的訪問權限 <Directory "G:/var/www/cgi-bin/"> AllowOverride All Options +ExecCGI Order allow,deny Allow from all </Directory> ... # STEP:9.修改映射地址 ScriptAlias /cgi-bin/ "G:/var/www/cgi-bin/" ... # STEP:10.添加後綴 AddHandler cgi-script .cgi .pl .py ... # STEP:11.開啓虛擬主機配置 # Virtual hosts Include conf/extra/httpd-vhosts.conf
...
詳細講解配置步驟:編輯器
Step:1.修改安裝目錄,在39行左右
當前Apache安裝存放的目錄,例如我這裏的"G:/Apache"
修改Define SRVROOT後面的路徑ide
Step:2.修改Listen端口,在67行左右
默認爲80,80端口可能會被其餘程序佔用,因此我這裏修改成88,固然也能夠修改成其餘的808八、90等,只要沒有被佔用就好了學習
Step:3.開啓基於主機的組受權(名稱或IP地址),在81行左右ui
直接去掉前面的#註釋便可
LoadModule access_compat_module modules/mod_access_compat.sospa
Step:4.開啓apache的代理模塊 ,在149行左右
直接去掉前面的#註釋便可
LoadModule proxy_module modules/mod_proxy.so
Step:5.開啓代理http和https請求,在157行左右
直接去掉前面的#註釋便可
LoadModule proxy_http_module modules/mod_proxy_http.so
Step:6.開啓rewrite模式,在167行左右
直接去掉前面的#註釋便可
LoadModule rewrite_module modules/mod_rewrite.so
Step:7.開啓虛擬主機動態配置,在188行左右
直接去掉前面的#註釋便可
LoadModule vhost_alias_module modules/mod_vhost_alias.so
Step:8.設置CGI路徑的訪問權限,在239行左右
本來的內容爲
<Directory />
AllowOverride none
Require all denied
</Directory>
刪掉或註釋掉,修改成下面的內容
<Directory " G:/var/www/cgi-bin/">
AllowOverride All
Options +ExecCGI
Order allow,deny
Allow from all
</Directory>
注意,全部的HTTP服務器執行CGI程序都保存在一個預先配置的目錄。
這個目錄被稱爲CGI目錄,並按照慣例,它被命名爲/var/www/cgi-bin目錄。
因此這裏修改的目錄爲「G:/var/www/cgi-bin/」。(我在G盤手動建立了"G:/var/www/cgi-bin/"目錄)
Step:9.設置CGI腳本文件路徑,在373行左右
後面的路徑修改成「G:/var/www/cgi-bin/」,跟上一步同樣
這裏的意思是將" G:/var/www/cgi-bin/"映射爲/cgi-bin/,當經過瀏覽器訪問/cgi-bin/目錄時,實際上就是訪問" G:/var/www/cgi-bin/"目錄
Step:10.AddHandler中添加.py後綴,,在428行左右
這樣咱們就能夠訪問.py結尾的Python腳本文件
先去掉前面的#註釋,再在後面加上.py就好了,注意用空格隔開
Step:11.開啓虛擬主機配置,在509行左右
直接去掉前面的#註釋便可
Include conf/extra/httpd-vhosts.conf
這樣修改httpd.conf就能夠了,保存便可。
而後把Apache安裝成Windows後臺服務
使用命令:httpd -k install -n "Apache2.4"
前面的配置沒問題的話,通常是安裝成功的
注意要先指定到Apache的bin目錄下再執行命令
啓動Apache 啓動:httpd.exe -w -n "Apache2.4" -k start 中止:httpd.exe -w -n "Apache2.4" -k stop 重啓:httpd.exe -w -n "Apache2.4" -k restart
注意,若是啓動失敗,出現這樣的錯誤, make_sock: could not bind to address [::]:443
請參考這篇文章的處理方式:http://www.javashuo.com/article/p-muvsisvc-mm.html
啓動成功後,瀏覽器輸入 http://localhost:88/
現實這樣即爲成功。
若是提示啓動失敗
進行winsock的修復
在運行裏輸入:netsh winsock reset
而後重啓電腦便可
在G:/var/www/cgi-bin目錄下面放一個文件
chap15.5.cgi文件內容以下。這是我學習Python基礎教程第15章的一個示例。
注意,第1行必需要加上Python解釋器。不然會出錯。
#!C:\Users\heliang\AppData\Local\Programs\Python\Python38-32\python.exe print("Content-type:text/plain") print() print("-------使用CGI建立動態網頁--------") """ python -m http.server --cgi 若是是在Linux下面,則第1行 應該像下面這麼寫 #!/usr/bin/env python """ # http://localhost:88/cgi-bin/chap15.5.cgi print("Hello, world!") print() print("CGI")
在瀏覽器中輸入:
http://localhost:88/cgi-bin/chap15.5.cgi
大功告成。
PS:
若是想刪除服務
執行:sc delete apache2.4
參考地址: