Linux
如何使用 Apache2 for Windows 配置反向代理
我在 Linux(Ubuntu)下的 apache2 上啟動並執行反向代理。現在我看到 Windows 下有不同的文件夾結構。我的 linux-conf - 文件在 Windows 下不起作用還是我錯了?
請給我指路
正如 John 所暗示的,安裝在 Windows 上的 Apache 的預設配置是
Program Files\Apache2.2\httpd.conf
在一個平面文件中。路徑可能有些不同,因為我目前手邊沒有 Windows 機器。大多數 Linux 發行版都有自己的自定義層次結構,如下所示。此範例來自 Debian,可能因其他發行版而異。
/etc/apache2/
apache2.conf
包提供的配置conf.d/
- 單個配置文件,通常來自其他包,但也可以是本地配置文件
httpd.conf
本地配置文件。覆蓋 apache2.conf 的內容mods-available/
- 單獨的模組配置文件,由包和任何支持包提供
mods-enabled/
- 中文件的連結
mods-available
。a2enmod
使用和創建/刪除連結a2dismod
。創建連結啟用給定的模組。ports.conf
啟用的埠sites-available/
- 個人
VirtualHost
風格的配置文件sites-enabled
- 中文件的連結
sites-available
。a2ensite
使用和創建/刪除連結a2dissite
。創建連結啟用給定站點。我已經描述了所有這些,希望可以更容易地理解如何在 Windows 下複製它。除了在 Windows 下不能很好地支持連結(這在 Vista/Server 2008/Windows 7 中是否發生了變化?),設置這種結構相對容易。但是您必須手動執行此操作,因為預設配置不會為您執行此操作。確保您調整以下內容以匹配您要從中遷移的 Linux 發行版。
- 假設 Windows 上的原始配置文件位於
\Program Files\Apache2.2\httpd.conf
(同樣,這可能不是正確的位置,我需要檢查 Windows 機器以確定),創建以下目錄:
\Program Files\Apache2.2\conf.d\
\Program Files\Apache2.2\sites-enabled\
您不需要sites-available
目錄,因為 Windows 不支持連結。如果你願意,你可以添加它們,但事情不會一樣。另外,我建議將模組配置放入 httpd.conf 文件中。由於它們不受包管理器的管理,因此將它們放在一個位置會更容易。
- 從 Linux
httpd.conf
文件對 Windows 文件進行任何修改。如果你apache2.conf
在 Linux 下有一個文件,這很容易,因為httpd.conf
只有apache2.conf
.- 如果需要,添加一個
ports.conf
文件。它的內容也可以存在於 httpd.conf 文件中。- 將 Linux 目錄中存在的文件複製
conf.d
到 Windows 目錄中。確保文件名以 結尾.conf
,如果之前沒有,請添加它。這樣做是為了幫助使目錄解析(在下面設置)更不容易出錯。- 將 Linux 目錄中存在的文件複製
sites-enabled
到 Windows 目錄中。與第 4 步一樣,確保文件名以 結尾.conf
,如果在 Linux 下不存在,則添加它。- 將以下內容添加到 httpd.conf 文件的末尾:
# If you added a ports.conf file, add the following Include ports.conf # Include the conf.d files Include conf.d/*.conf # Include the enabled sites Include sites-enabled/*.conf
- 重啟阿帕奇。確保檢查並更正任何配置錯誤。
這可能不會讓你 100% 到達那裡,但它應該讓你接近。