共計 1747 個字符,預計需要花費 5 分鐘才能閱讀完成。
Ubuntu Apache Web 服務器是什么,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面丸趣 TV 小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
在向大家詳細介紹 Apache 之前,首先讓大家了解下 Ubuntu Apache,然后全面介紹 Ubuntu Apache,希望對大家有用。Ubuntu 包含了非常好的翻譯和容易使用的架構,這些由自由軟件社團將不斷的提供, 將盡可能的使大多數人方便使用 Ubuntu。一般情況下,我們會在 Web 服務器上寄放多個 Web 站點,并且每個站點都有它自己的虛擬服務器。對于 Ubuntu Apache 來說,它同時支持基于名稱的虛擬服務器和基于 IP 的服務器。
對于基于 IP 的虛擬服務器,每個站點都具有一個單獨的 IP 地址,這樣的缺點是使用太多的 IP 地址,但如今 IPv4 的地址已有枯竭的跡象,所以不提倡使用,通常在要求使用 SSL 時才使用。
對于基于名稱的虛擬服務器,多個 Web 站點共享一個 IP 地址。在這種情況下,通常根據 HTTP 請求頭部來決定將其發給哪一個站點。為此,我們需要為每個虛擬服務器分別建立一個配置,給作為 Web 站點的根的目錄以及主機命名。但是,如果這樣的話我們每當添加一個新的虛擬服務器時,就要修改 Ubuntu Apache 的配置并重新啟動,這的確很煩人呢!
值得高興的是,如果使用動態虛擬主機技術的話,可以隨時加入虛擬主機時而不必重新配置或啟動 Ubuntu Apache。該技術要用到一個模塊,稱為 vhost_alias。我們可以通過在 Apache2 已啟用的模塊目錄中建立一個符號鏈接來啟用該模塊,命令如下所示:
$ sudo ln -s /etc/apache2/mods-available/vhost_alias.load \
/etc/apache2/mods-enabled/vhost_alias.load 要想使 vhost_alias 正常工作,我們還需要修改 /etc/apache2/apache2.conf 來關閉常規名稱(canonical names),修改日志文件的配置,并為我們的虛擬主機規定存放位置。下面是一個實例:
# 從 Host: 頭中取得主機名
UseCanonicalName Off
# 這種日志格式可以從 *** 個字段中提取出主機名
LogFormat %V %h %l %u %t %r %s %b vcommon
CustomLog /var/log/apache2/access_log vcommon
# 在返回請求的文件名路徑中包含主機名
VirtualDocumentRoot /var/www/vhosts/%0/web
VirtualScriptAlias /var/www/vhosts/%0/cgi-bin 接下來,創建存放虛擬主機的目錄,命令如下:
$ sudo mkdir /var/www/vhosts 新建一個基干虛擬服務器,命令如下所示:
$ sudo mkdir -p /var/www/vhosts/skeleton/cgi-bin
$ sudo cp -a /var/www/apache2-default /var/www/vhosts/skeleton/web 重新啟動 apache2,使得上面的配置生效,方法如下所示:
$ sudo /etc/init.d/apache2 restart 好了,現在我們可以建立基于名稱的虛擬主機了。方法是將基干拷貝到要響應的主機名。舉例來說,要想為 www.mysite.com 新建一個虛擬服務器的話,只要運行下面的命令就行了:
$ sudo cp -a /var/www/vhosts/skeleton /var/www/vhosts/
現在,所有到達你的 Ubuntu Apache 服務器的 HTTP 連接中,只要其“Host:”頭部被設成,那么將由對應的虛擬服務器來響應。為了早些看到我們的勞動成果,可以在本地進行測試。為此編輯 /etc/hosts,加入下面一項:
127.0.0.1 www. mysite.com 這樣,在本機上就能訪問該站點了。但是,為了讓所有用戶都能訪問虛擬主機,還需申請域名,并且我們還需要在公共 DNS 服務器上進行設置。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注丸趣 TV 行業資訊頻道,感謝您對丸趣 TV 的支持。