Windows 配置Apache+CGI

首先仍是先在官網下載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

 

 

參考地址:

https://blog.csdn.net/zhuanshu666/article/details/74936940

相關文章
相關標籤/搜索