站長資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

如何使用 Apache Web 服務(wù)器配置多個(gè)站點(diǎn)

如何在流行而強(qiáng)大的 Apache Web 服務(wù)器上托管兩個(gè)或多個(gè)站點(diǎn)。

在我的上一篇文章中,我解釋了如何為單個(gè)站點(diǎn)配置 Apache Web 服務(wù)器,事實(shí)證明這很容易。在這篇文章中,我將向你展示如何使用單個(gè) Apache 實(shí)例來服務(wù)多個(gè)站點(diǎn)。

注意:我寫這篇文章的環(huán)境是 Fedora 27 虛擬機(jī),配置了 Apache 2.4.29。如果你用另一個(gè)發(fā)行版或不同的 Fedora 版本,那么你使用的命令以及配置文件的位置和內(nèi)容可能會(huì)有所不同。

正如我之前的文章中提到的,Apache 的所有配置文件都位于 /etc/httpd/conf/etc/httpd/conf.d。默認(rèn)情況下,站點(diǎn)的數(shù)據(jù)位于 /var/www 中。對(duì)于多個(gè)站點(diǎn),你需要提供多個(gè)位置,每個(gè)位置對(duì)應(yīng)托管的站點(diǎn)。

基于名稱的虛擬主機(jī)

使用基于名稱的虛擬主機(jī),你可以為多個(gè)站點(diǎn)使用一個(gè) IP 地址?,F(xiàn)代 Web 服務(wù)器,包括 Apache,使用指定 URL 的 hostname 部分來確定哪個(gè)虛擬 Web 主機(jī)響應(yīng)頁面請(qǐng)求。這僅僅需要比一個(gè)站點(diǎn)更多的配置。

即使你只從單個(gè)站點(diǎn)開始,我也建議你將其設(shè)置為虛擬主機(jī),這樣可以在以后更輕松地添加更多站點(diǎn)。在本文中,我將從上一篇文章中我們停止的地方開始,因此你需要設(shè)置原來的站點(diǎn),即基于名稱的虛擬站點(diǎn)。

準(zhǔn)備原來的站點(diǎn)

在設(shè)置第二個(gè)站點(diǎn)之前,你需要為現(xiàn)有網(wǎng)站提供基于名稱的虛擬主機(jī)。如果你現(xiàn)在沒有站點(diǎn),請(qǐng)返回并立即創(chuàng)建一個(gè)。

一旦你有了站點(diǎn),將以下內(nèi)容添加到 /etc/httpd/conf/httpd.conf 配置文件的底部(添加此內(nèi)容是你需要對(duì) httpd.conf 文件進(jìn)行的唯一更改):

  1. <VirtualHost 127.0.0.1:80>
  2.     DocumentRoot /var/www/html
  3.     ServerName www.site1.org
  4. </VirtualHost>

這將是第一個(gè)虛擬主機(jī)配置節(jié),它應(yīng)該保持為第一個(gè),以使其成為默認(rèn)定義。這意味著通過 IP 地址或解析為此 IP 地址但沒有特定命名主機(jī)配置節(jié)的其它名稱對(duì)服務(wù)器的 HTTP 訪問將定向到此虛擬主機(jī)。所有其它虛擬主機(jī)配置節(jié)都應(yīng)跟在此節(jié)之后。

你還需要使用 /etc/hosts 中的條目設(shè)置你的網(wǎng)站以提供名稱解析。上次,我們只使用了 localhost 的 IP 地址。通常,這可以使用你使用的任何名稱服務(wù)來完成,例如 Google 或 Godaddy。對(duì)于你的測試網(wǎng)站,通過在 /etc/hosts 中的 localhost 行添加一個(gè)新名稱來完成此操作。添加兩個(gè)網(wǎng)站的條目,方便你以后不需再次編輯此文件。結(jié)果如下:

  1. 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 www.site1.org www.site2.org

讓我們將 /var/www/html/index.html 文件改變得更加明顯一點(diǎn)。它應(yīng)該看起來像這樣(帶有一些額外的文本來識(shí)別這是站點(diǎn) 1):

  1. <h1>Hello World</h1>
  2. Web site 1.

重新啟動(dòng) HTTPD 服務(wù)器,已啟用對(duì) httpd 配置的更改。然后,你可以從命令行使用 Lynx 文本模式查看網(wǎng)站。

  1. [root@testvm1 ~]#systemctl restart httpd
  2. [root@testvm1 ~]# lynx www.site1.org
  3. HelloWorld
  4. Web site 1.
  5. <snip>
  6. Commands:Use arrow keys to move,'?'for help,'q' to quit,'<-' to go back.
  7. Arrow keys:UpandDown to move.Right to follow a link;Left to go back.
  8. H)elp O)ptions P)rint G)o M)ain screen Q)uit /=search [delete]=history list

你可以看到原始網(wǎng)站的修改內(nèi)容,沒有明顯的錯(cuò)誤,先按下 Q 鍵,然后按 Y 退出 Lynx Web 瀏覽器。

配置第二個(gè)站點(diǎn)

現(xiàn)在你已經(jīng)準(zhǔn)備好建立第二個(gè)網(wǎng)站。使用以下命令創(chuàng)建新的網(wǎng)站目錄結(jié)構(gòu):

  1. [root@testvm1 html]#mkdir-p /var/www/html2

注意,第二個(gè)站點(diǎn)只是第二個(gè) html 目錄,與第一個(gè)站點(diǎn)位于同一 /var/www 目錄下。

現(xiàn)在創(chuàng)建一個(gè)新的索引文件 /var/www/html2/index.html,其中包含以下內(nèi)容(此索引文件稍有不同,以區(qū)別于原來的網(wǎng)站):

  1. <h1>Hello World -- Again</h1>
  2. Web site 2.

httpd.conf 中為第二個(gè)站點(diǎn)創(chuàng)建一個(gè)新的配置節(jié),并將其放在上一個(gè)虛擬主機(jī)配置節(jié)下面(這兩個(gè)應(yīng)該看起來非常相似)。此節(jié)告訴 Web 服務(wù)器在哪里可以找到第二個(gè)站點(diǎn)的 HTML 文件。

  1. <VirtualHost 127.0.0.1:80>
  2.     DocumentRoot /var/www/html2
  3.     ServerName www.site2.org
  4. </VirtualHost>

重啟 HTTPD,并使用 Lynx 來查看結(jié)果。

  1. [root@testvm1 httpd]#systemctl restart httpd
  2. [root@testvm1 httpd]# lynx www.site2.org
  3. HelloWorld--Again
  4. Web site 2.
  5. <snip>
  6. Commands:Use arrow keys to move,'?'for help,'q' to quit,'<-' to go back.
  7. Arrow keys:UpandDown to move.Right to follow a link;Left to go back.
  8. H)elp O)ptions P)rint G)o M)ain screen Q)uit /=search [delete]=history list

在這里,我壓縮了輸出結(jié)果以適應(yīng)這個(gè)空間。頁面的差異表明這是第??個(gè)站點(diǎn)。要同時(shí)顯示兩個(gè)站點(diǎn),請(qǐng)打開另一個(gè)終端會(huì)話并使用 Lynx Web 瀏覽器查看另一個(gè)站點(diǎn)。

其他考慮

這個(gè)簡單的例子展示了如何使用 Apache HTTPD 服務(wù)器的單個(gè)實(shí)例來服務(wù)于兩個(gè)站點(diǎn)。當(dāng)考慮其他因素時(shí),配置虛擬主機(jī)會(huì)變得有點(diǎn)復(fù)雜。

例如,你可能希望為這些網(wǎng)站中的一個(gè)或全部使用一些 CGI 腳本。為此,你可能為 CGI 程序在 /var/www 目錄下創(chuàng)建一些目錄:/var/www/cgi-bin/var/www/cgi-bin2,以與 HTML 目錄命名一致。然后,你需要將配置指令添加到虛擬主機(jī)節(jié),以指定 CGI 腳本的目錄位置。每個(gè)站點(diǎn)可以有下載文件的目錄。這還需要相應(yīng)虛擬主機(jī)節(jié)中的條目。

Apache 網(wǎng)站描述了管理多個(gè)站點(diǎn)的其他方法,以及從性能調(diào)優(yōu)到安全性的配置選項(xiàng)。

Apache 是一個(gè)強(qiáng)大的 Web 服務(wù)器,可以用來管理從簡單到高度復(fù)雜的網(wǎng)站。盡管其總體市場份額在縮小,但它仍然是互聯(lián)網(wǎng)上最常用的 HTTPD 服務(wù)器。

via: https://opensource.com/article/18/3/configuring-multiple-web-sites-apache

作者:David Both 譯者:MjSeven 校對(duì):wxy

本文由 LCTT 原創(chuàng)編譯,Linux中國 榮譽(yù)推出

贊(0)
分享到: 更多 (0)
網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
亚洲а∨天堂久久精品| 亚洲av永久无码精品网址| 国产亚洲精品精品精品| 国内精品一区二区三区最新| 99热成人精品国产免国语的| 国产网红无码精品视频| 精品无人区无码乱码毛片国产| 日韩精品久久无码人妻中文字幕| 国产看午夜精品理论片| 国产精品一卡二卡三卡四卡| 2021国内久久精品| 久久精品国产2020| 亚洲精品91在线| 91情国产l精品国产亚洲区| 99视频精品全部在线| 亚洲爆乳精品无码一区二区三区| 国产探花在线精品一区二区| 曰韩精品无码一区二区三区| 在线精品自拍无码| 日韩精品无码一区二区视频| 成人精品视频99在线观看免费| 久久精品成人免费观看97| 国产精品午夜福利在线无码| 国产高清在线精品一本大道国产| 6一12呦女精品| 国产精品福利片免费看| 国产精品片在线观看手机版| 精品国产热久久久福利| 九九久久精品无码专区| 国内精品久久久久影院网站| 成人区人妻精品一区二区不卡视频| 精品国产不卡一区二区三区| 精品久久久无码中文字幕天天| 精品人妻少妇一区二区三区| 久久久久人妻精品一区三寸蜜桃| 久久精品这里只有精99品| 99在线热播精品免费99热| 真实国产乱子伦精品视频| 久久精品隔壁老王影院| 99re视频精品全部免费| 亚洲国产成人精品无码一区二区 |