Windows下配置Apache伺服器

一.、下載

  推薦 //www.apachehaus.com/cgi-bin/download.plx

  我下載的是64位的Apache24

二、解壓

  解壓下載好的壓縮包httpd-2.4.46-win64-VS16.zip,我把其中Apache24文件夾全部存到E盤

       

三.、修改httpd.conf文件

  記事本方式打開E:\Apache24\conf\httpd.conf

  修改其中一些關鍵行,將該行內容修改如下(下面有些修改是增加運行python腳本,但不影響通用設置):

  1.第432行改為

AddHandler cgi-script .cgi .py

        在<IfModule mime_module>標籤的 AddHandler 中添加 .py 後綴,這樣我們就可以訪問 .py 結尾的 python 腳本文件,注意前面的#也要刪除

  2.第384行<Directory “${SRVROOT}/cgi-bin”>全部內容替換為

<Directory "${SRVROOT}/cgi-bin">
    AllowOverride None
    Options +ExecCGI
    Order allow,deny
    Allow from all
    Require all granted
</Directory>

  這是修改腳本文件的訪問許可權,<Directory “${SRVROOT}/htdocs”>是靜態頁面許可權

  3.第74行刪除前面的#

LoadModule access_compat_module modules/mod_access_compat.so

  4.第37行改為Apache24保存的目錄,即E:\Apache24

Define SRVROOT "E:/Apache24"

  這是Apache2.4的主目錄,路徑不要包含中文。

  5.其他設置(可不修改)

  第60行Listen 指示伺服器的埠號,默認80

  第227行需要改則刪除#,例如 ServerName localhost:80

  第251行DocumentRoot是存放靜態資源頁面的目錄

  第368行ScriptAlias是訪問腳本文件的目錄

四、安裝服務

  cmd切換到E:\Apache24\bin,運行httpd -k install,如下圖就成功了  

  

 

  如果安裝失敗,可以查看日誌(路徑:E:\Apache24\logs)或者使用httpd來查找具體原因,例如下圖

  

五、啟動服務

  建議使用ApacheMonitor.exe,路徑E:\Apache24\bin\ApacheMonitor.exe

  

六、測試服務是否啟動成功

  瀏覽器訪問//localhost,看到「It works!」則表示成功。

  訪問失敗建議關閉防火牆退出殺毒軟體。

七、靜態頁面測試  

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>測試</title>
    </head>
    <body>
        <h2>測試</h2>
    </body>
</html>

  保存到E:\Apache24\htdocs\test.html

  瀏覽器訪問//localhost/test.html,看到「測試」則表示成功。

  如果第六步成功,而第七步失敗,檢查httpd.conf

八、測試腳本運行

#!C:\Users\Administrator\AppData\Local\Programs\Python\Python37\python.exe
# -*- coding: UTF-8 -*-

print ("Content-type:text/html")
print ()
print ('<html>')
print ('<head>')
print ('<meta charset="UTF-8">')
print ('<title>測試</title>')
print ('</head>')
print ('<body>')
print ('<h2>測試</h2>')
print ('</body>')
print ('</html>')

  保存到E:\Apache24\cgi-bin\test.py

  注意:第一行是指定使用哪個python解釋器來運行腳本,這是我本機python安裝路徑,這個很重要,windows不適用#!/usr/bin/python

  瀏覽器訪問//localhost/cgi-bin/test.py,看到「測試」則表示成功。

Tags: