亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > Apache > 正文

爛泥:apache虛擬主機的學習與應用

2024-08-27 18:29:19
字體:
來源:轉載
供稿:網友
爛泥:apache虛擬主機的學習與應用

本文由秀依林楓提供友情贊助,首發于爛泥行天下。

要配置apache的虛擬主機,我們需要分以下幾步進行:

1、 檢查apache虛擬主機模塊

2、 開啟apache虛擬主機功能

3、 httpd-vhosts.conf文件詳解

4、 根據ip配置虛擬主機

5、 根據端口配置虛擬主機

6、 根據域名配置虛擬主機

一、檢查apache虛擬主機模塊

apache要配置虛擬主機,就需要先查看apache是否編譯vhost_alias_module模塊。當然apache默認是已經編譯該模塊的,我們可以通過以下命令查看是否已經編譯模塊,如下:

/usr/local/apache2/bin/apachectl -M

clip_image001

二、開啟apache虛擬主機功能

要開啟apache虛擬主機功能,我們需要修改apache配置文件http.conf。打開apache的安裝目錄,找到httpd.conf文件,去掉Include conf/extra/httpd-vhosts.conf前的#。如下:

vi httpd.conf

clip_image002

該行的作用是,把conf/extra/目錄下的httpd-vhosts.conf文件導入虛擬主機配置中。

clip_image003

下面我們所有有關虛擬主機的配置都在httpd-vhosts.conf文件中進行。如下:

clip_image004

apache虛擬主機配置主要分為三種,分別是根據IP地址、根據端口、根據域名。

這三種虛擬主機,我們主要講解基于域名的虛擬主機?;贗P與基于端口在生產環境中使用的比較少,我們在此只大致講解其配置。

注意在此之前,我們還要修改httpd.conf文件把有關目錄訪問權限的配置選項去掉。否則在訪問虛擬主機時,會報403錯誤。如下:

clip_image005

httpd.conf文件去掉Order deny,allow和Deny from all行,修改如下:

<Directory />

Options FollowSymLinks

AllowOverride None

</Directory>

clip_image006

值得注意的是,當我們為apache啟用虛擬主機之后,那么所有的用戶請求都會交由對應的虛擬主機來處理。如果apache找不到對應的虛擬主機,則會把該請求交給配置文件中排在最前面的虛擬主機來處理。

同時如果配置基于域名的虛擬主機,我們必須要啟用NameVirtualHost *:80行。如下:

clip_image007

三、httpd-vhosts.conf文件詳解

httpd-vhosts.conf文件內容大致如下:

NameVirtualHost *:80

<VirtualHost *:80>

ServerAdmin webmaster@dummy-host.example.com

DocumentRoot "@@ServerRoot@@/docs/dummy-host.example.com"

ServerName dummy-host.example.com

ServerAlias www.dummy-host.example.com

ErrorLog "logs/dummy-host.example.com-error_log"

CustomLog "logs/dummy-host.example.com-access_log" common

</VirtualHost>

NameVirtualHost指定虛擬主機所使用的IP地址或域名,但是最好是IP地址。使用基于域名的虛擬主機時,NameVirtualHost是必要的指令。NameVirtualHost可以定義多個。所有符合NameVirtualHost或<VirtualHost>標簽定義的請求,都會被作為虛擬主機處理,而主服務器將不理會。NameVirtualHost定義了而<VirtualHost>標簽沒有定義的的請求,服務器會找不到相應的虛擬主機而將無法處理。所以每個NameVirtualHost定義的參數至少要有一個<VirtualHost>相匹配。

如果設置NameVirtualHost或<VirtualHost>為*:80的話,所有針對80端口的請求,都會被虛擬主機處理,請求會根據域名指向某個虛擬主機。如果有來自80端口的請求,而所請求的域名沒有被配置為虛擬主機,那將指向第一個虛擬主機。這樣主服務器將無法收到來自80端口的任何請求。為此也要為主服務器配置一個虛擬主機。

想要配置基于域名的虛擬主機,則必須使用NameVirtualHost指令,該指令用于指定對于當前服務器的哪些IP地址和端口可以接受虛擬主機的相關訪問請求,而且這些IP地址和端口必須包含在服務器監聽的地址和端口之中。

如果你希望用到服務器上所有的IP地址,你可以使用指令:NameVirtualHost *。

如果apache監聽了多個端口(例如:常規的80端口和SSL的443端口),那么必須在NameVirtualHost指令中指定一個端口,例如:NameVirtualHost *:80。

我們可以使用VirtualHost配置段來添加一個虛擬主機,如果有多個虛擬主機,我們可以添加多個這樣的配置段。

在VirtualHost配置段中,我們可以使用配置指令來對該虛擬主機進行設置,除了諸如創建進程等少數特殊的指令外,幾乎所有的指令都可以出現在VirtualHost配置段中。如果沒有設置某些指令,則該虛擬主機將采用主服務器范圍內相同的全局指令作為默認設置。當然,VirtualHost配置段至少應該包含ServerName和DocumentRoot這兩個配置指令,用以指定虛擬主機的域名和站點文檔目錄的路徑。如下:

<VirtualHost *:80>

DocumentRoot "/www/a.ilanni.com"

ServerName a.ilanni.com

</VirtualHost>

ServerAdmin管理員郵箱。

DocumentRoot網站目錄(注意:如果網站目錄中的路徑有空格,請在路徑兩端加上雙引號)。

ServerName要綁定的域名(必填)。

ServerAlias要綁定的虛擬主機的別名。(可選,如果多個域名,中間以空格分隔,如果沒有,則去掉該行)。支持*,?兩種通配符,比如*.abc.com,表示任意一個abc.com的二級域名都可訪問。

CustomLog用戶日志文件(可選,如果不需要,則去掉該行)。

ErrorLog 錯誤日志(可選,如果不需要,則去掉該行)。

四、根據IP配置虛擬主機

apache基于IP虛擬主機在實際的生產環境中使用比較少,主要是使用在單網卡多IP的情況下。

我們要測試此功能,需要給服務器的網卡增加一個IP。首先查看服務器的IP地址,如下:

ifconfig eth0|grep "inet addr"|awk '{PRint $2}'|cut -d: -f2

ifconfig eth2|grep "inet addr"|awk '{print $2}'|sed 's/addr://g'

clip_image008

可以看到目前服務器的IP是192.168.1.213,再增加一個IP地址為192.168.1.215。eth0網卡增加IP地址,可以通過網卡配置文件實現。如下:

cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:0

cat /etc/sysconfig/network-scripts/ifcfg-eth0:0

/etc/init.d/network restart

ping 192.168.1.215

clip_image009

IP地址增加完畢后,我們現在來修改虛擬主機的配置文件httpd-vhosts.conf。如下:

cat httpd-vhosts.conf|grep -v ^$|grep -v ^#

clip_image010

httpd-vhosts.conf修改完畢后,我們需要檢查該虛擬主機配置是否正確,使用-S命令。如下:

/etc/init.d/httpd –S

clip_image011

通過上圖可以看到該虛擬主機的配置是正確。

為虛擬主機192.168.1.215創建主頁文件,如下:

mkdir /www/192.168.1.215

echo "this is web-server 192.168.1.215">/www/192.168.1.215/index.html

cat /www/192.168.1.215/index.html

clip_image012

訪問192.168.1.215虛擬主機。如下:

clip_image013

或者通過elinks進行測試,如下:

elinks -dump http://192.168.1.215

clip_image014

可以看到虛擬主機192.168.1.215,已經可以正常訪問了。

現在訪問192.168.1.213,看看實際效果。如下:

clip_image015

五、根據端口配置虛擬主機

apache默認是監聽80端口,這個可以通過apache配置文件httpd.conf進行查看。如下:

cat /usr/local/apache2/conf/httpd.conf|grep 80

clip_image016

apache基于端口虛擬主機在實際生產環境中也不多見,一般是為公司內部人員提供訪問的,如頁面的后臺、CMS發布、phpmyadmin等。

現在我們開始配置基于端口的虛擬主機,在此之前我們需要修改兩個文件一是apache的配置文件httpd.conf,二是apache虛擬主機配置文件httpd-vhosts.conf。

現在我們使用8088這個端口來設置虛擬主機。修改httpd.conf。如下:

vim /usr/local/apache2/conf/httpd.conf

clip_image017

此文件修改完畢后,我們再來修改httpd-vhosts.conf。如下:

cat httpd-vhosts.conf|grep -v ^$|grep -v ^#

clip_image018

為虛擬主機192.168.1.215:8088創建主頁文件,如下:

mkdir 192.168.1.215:8088

echo "his is web-server 192.168.1.215:8088">index.php

cat index.php

clip_image019

現在訪問虛擬主機192.168.1.215:8088,如下:

clip_image020

或者使用elinks,如下:

elinks -dump http://192.168.1.215:8088

clip_image021

六、根據域名配置虛擬主機

apache基于域名的虛擬主機是我們經常使用的,也是在生產環境中最常見的。

配置基于域名的虛擬主機,我們還是要編輯httpd-vhosts.conf文件。如下:

vim httpd-vhosts.conf

:45,48s/192.168.1.215:8088/a.ilanni.com/g

clip_image022

clip_image023

以上修改完畢后,我們來創建虛擬主機a.ilanni.com默認主頁。如下:

mkdir /www/a.ilanni.com

echo "<?php phpinfo();?>">/www/a.ilanni.com/index.php

cat /www/a.ilanni.com/index.php

clip_image024

以上配置完畢后,重新加載apache的配置文件,即優雅重啟apache。如下:

/etc/init.d/httpd graceful

clip_image025

訪問虛擬主機a.ilanni.com,如下:

clip_image026

或者使用elinks,如下:

elinks -dump http://a.ilanni.com

clip_image027

通過上圖,可以看到目前虛擬主機a.ilanni.com,已經可以正常訪問了。

七、混合配置虛擬主機

以上我們介紹了apache基于IP、基于端口和基于域名的虛擬主機配置。下面我們給出apache混合虛擬主機配置,配置文件如下:

<VirtualHost b.ilanni.com:8088>

ServerAdmin webmaster@dummy-host.example.com

DocumentRoot "/www/b.ilanni.com:8088"

ServerName b.ilanni.com:8088

ErrorLog "logs/b.ilanni.com:8088-error_log"

CustomLog "logs/b.ilanni.com:8088-access_log" common

</VirtualHost>

clip_image028

虛擬主機混用時的問題:

1、虛擬主機混用可以這樣理解:一行NameVirtualHost指令定義的所有虛擬主機為一組;該組與一個基于IP的虛擬主機平級。即把一行NameVirtualHost定義的整個組看作是一個基于IP的虛擬主機。

2、虛擬主機指定的端口必須是Listen定義的。如果虛擬主機沒有指定端口,則認為是80端口。如果NameVirtualHost * 這樣定義,是指所有地址的所有已定義端口。

3、更具體的地址定義優先。比如NameVirtualHost指令定義了*:80,而某個基于IP的虛擬主機定義為192.168.0.1:80,那么此時如有對192.168.0.1:80的請求,那請求會被優先指向192.168.0.1:80定義的虛擬主機。所以為了避免混亂,不要定義相互有交叉或包含的地址區間。

4、一個虛擬主機,可以同時為基于域名和基于IP的。如上一例中最后一個虛擬主機。這樣符合兩種定義的請求都會被指同一個虛擬主機。有時要區別內外網對虛擬主機的訪問時可以這樣,因為來自內網的請求可能和來自外網的請求可能不一樣,但是它們需要指向同一個虛擬主機。

使用"_default_"虛擬主機,這個虛擬主機可以理解成基于IP的虛擬主機。如下:

<VirtualHost _default_:*>

DocumentRoot /www/default

</VirtualHost>

這個虛擬主機將接管與其它虛擬主機IP和端口不匹配的請求。不過如此一來,主服務器將不會處理任何請求。因此把主服務器配置成一個虛擬主機是必要的。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久999精品| 国产亚洲精品美女久久久| 91精品视频在线看| 国产精品视频99| 国产一区二区丝袜高跟鞋图片| 国产91九色视频| 国产精品日韩欧美综合| 国产精品扒开腿做爽爽爽男男| 亚洲国语精品自产拍在线观看| 亚洲男人天堂网| 久久国产精品影片| 亚洲欧美资源在线| 97avcom| 欧美黑人xxx| 国产精品女人久久久久久| 国产精品对白刺激| 久久久精品2019中文字幕神马| 国产精品中文字幕在线观看| 精品一区二区三区三区| 亚洲国产免费av| 欧美日韩国产第一页| 久久琪琪电影院| 日韩视频永久免费观看| 亚洲男人天堂视频| 国产精品高清免费在线观看| 中文字幕欧美日韩| 国产精品国产三级国产aⅴ浪潮| 国产欧美亚洲精品| 国产在线日韩在线| 中文字幕精品久久久久| 欧美日韩亚洲网| 欧美国产欧美亚洲国产日韩mv天天看完整| 亚洲高清一区二| 欧美激情第一页xxx| 在线播放日韩欧美| 一本色道久久综合亚洲精品小说| 日韩欧美在线视频免费观看| 韩国精品美女www爽爽爽视频| 日韩h在线观看| 精品国产精品三级精品av网址| 午夜精品福利在线观看| 色综合老司机第九色激情| 精品国产成人在线| 日本中文字幕久久看| 日韩视频在线观看免费| 精品爽片免费看久久| 欧美性xxxx极品hd欧美风情| 91精品国产综合久久男男| 亚洲一区亚洲二区亚洲三区| 欧美精品video| 欧美一级大片在线观看| 欧美日韩日本国产| 欧美中文字幕第一页| 国产日韩中文在线| 久久成人精品电影| 在线亚洲男人天堂| 久久久久亚洲精品国产| 色综合久久精品亚洲国产| 亚洲欧美www| 日韩电视剧免费观看网站| 午夜精品久久久久久久99热浪潮| 欧美性高跟鞋xxxxhd| 亚洲精品国产欧美| 亚洲国产精品视频在线观看| www.日韩视频| 性金发美女69hd大尺寸| 欧美激情一区二区三级高清视频| 综合欧美国产视频二区| 欧美限制级电影在线观看| 日韩av免费在线播放| 欧美午夜视频在线观看| 欧美日韩一区二区免费在线观看| 精品色蜜蜜精品视频在线观看| 亚洲男人的天堂网站| 亚洲精品丝袜日韩| 欧美日韩国产麻豆| 欧美成人免费在线观看| 欧美日韩亚洲国产一区| 日韩成人在线视频网站| 狠狠躁18三区二区一区| 日韩网站免费观看高清| 国产网站欧美日韩免费精品在线观看| 国产精品永久在线| 最近2019年好看中文字幕视频| 九九热精品视频| 国内外成人免费激情在线视频| 国产伦精品一区二区三区精品视频| 国产最新精品视频| 欧美超级免费视 在线| 日韩美女在线观看一区| 中文字幕国产亚洲2019| 欧美日韩国产91| 亚洲aⅴ男人的天堂在线观看| 97久久精品国产| 欧美中文字幕在线播放| 尤物99国产成人精品视频| 久久婷婷国产麻豆91天堂| 97在线观看免费高清| 欧美午夜激情在线| 久久久亚洲国产天美传媒修理工| 亚洲欧美变态国产另类| 欧美日韩国产中文字幕| 日本在线精品视频| 亚洲成人激情在线观看| 久热精品视频在线观看| 91亚洲午夜在线| 亚洲一区二区三区视频| 91久久嫩草影院一区二区| 国产一区二区三区中文| 亚洲精品综合久久中文字幕| 国产精品久久久亚洲| 日韩精品视频免费在线观看| 91久久嫩草影院一区二区| 在线看日韩av| 九九热99久久久国产盗摄| 欧美日韩国产二区| 欧美一乱一性一交一视频| 亚洲伦理中文字幕| 亚洲美女福利视频网站| 久久精品国产亚洲一区二区| 欧美成人国产va精品日本一级| 亚洲v日韩v综合v精品v| 91sao在线观看国产| 日本久久91av| 国产精品女主播视频| 亚洲国产成人av在线| 91在线观看免费高清完整版在线观看| 国产99久久精品一区二区永久免费| 色吧影院999| 亚洲综合精品一区二区| 亚洲欧美日韩国产精品| 国a精品视频大全| 国产精品入口免费视| 亚洲男人av在线| 性色av一区二区三区红粉影视| 欧美日韩第一页| 亚洲第一天堂av| 一二美女精品欧洲| 亚洲成人av片| 欧美二区乱c黑人| 国产免费一区二区三区在线观看| 国产激情综合五月久久| 奇米一区二区三区四区久久| 亚洲精品视频久久| 91啪国产在线| 成人黄色免费看| 欧美电影第一页| 国产精品国产三级国产aⅴ9色| 日韩免费在线看| 久久久精品999| 欧美精品生活片| 欧美中在线观看| 午夜美女久久久久爽久久| 亚洲国产精彩中文乱码av| 亚洲最大中文字幕| 久久黄色av网站| 91高清视频免费观看| 国产精品久久久av久久久| 亚洲欧美国产日韩中文字幕| 久久综合九色九九| 亚洲欧美日韩国产中文专区| 欧美性jizz18性欧美| 国产美女主播一区| 亚洲偷熟乱区亚洲香蕉av|