Windows Server 2003 同時安裝 IIS 和 Apache,IIS 佔用 80 端口導致 Apache 啟動失敗,httpd.exe 進程無法啟動或被禁用。
# 打開配置文件
notepad D:\Apache\conf\httpd.conf
# 或對應安裝路徑
# 找到
Listen 80
# 修改為未被佔用端口,如 8080、8888、8000
Listen 8080
# 若有多個 Listen 行,全部修改或註釋無關行
# Listen 12.34.56.78:80
# Listen [::]:80
# 找到
#ServerName www.example.com:80
# 修改為
ServerName localhost:8080
# 或實際域名:端口
方法一:Apache Service Monitor(系統托盤圖標)
方法二:命令行
# 進入 bin 目錄
cd /d D:\Apache\bin
# 停止
httpd -k stop
# 啟動
httpd -k start
# 或重啟
httpd -k restart
https://localhost:8080/ 或 https://服務器IP:8080/若配置了基於端口的虛擬主機,需同步修改:
NameVirtualHost *:8080
ServerName site1.example.com
DocumentRoot "D:/Web/site1"
ServerName site2.example.com
DocumentRoot "D:/Web/site2"
| 端口 | 優點 | 缺點 | 建議場景 |
|---|---|---|---|
| 8080 | 通用 Web 代理/備用端口,認知度高 | 常被其他服務佔用(Tomcat、代理) | 開發測試、內網應用 |
| 8888 | 較少衝突 | 無特殊含義 | 生產備用、管理後台 |
| 8000 | 開發框架常用(Django、Vue CLI) | 開發工具佔用概率高 | 開發環境 |
| 8443 | HTTPS 替代端口 | 需配置 SSL | 安全測試 |
避免端口暴露,採用 IIS 作為前端反向代理:
# IIS URL Rewrite 規則 (web.config)
用戶訪问 https://iis-server/apache/app 實際代理到 Apache 8080 端口,對外僅暴露 80/443。
Apache 與 IIS 端口衝突,修改 httpd.conf 中 Listen 80 為 Listen 8080(或其他可用端口)並重啟 Apache 即可解決。生產環境建議採用反向代理統一入口,避免多端口暴露,簡化防火牆與用戶訪問。