麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 網(wǎng)站 > Apache > 正文

爛泥:apache虛擬主機(jī)的學(xué)習(xí)與應(yīng)用

2024-08-27 18:29:19
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
爛泥:apache虛擬主機(jī)的學(xué)習(xí)與應(yīng)用

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

要配置apache的虛擬主機(jī),我們需要分以下幾步進(jìn)行:

1、 檢查apache虛擬主機(jī)模塊

2、 開啟apache虛擬主機(jī)功能

3、 httpd-vhosts.conf文件詳解

4、 根據(jù)ip配置虛擬主機(jī)

5、 根據(jù)端口配置虛擬主機(jī)

6、 根據(jù)域名配置虛擬主機(jī)

一、檢查apache虛擬主機(jī)模塊

apache要配置虛擬主機(jī),就需要先查看apache是否編譯vhost_alias_module模塊。當(dāng)然apache默認(rèn)是已經(jīng)編譯該模塊的,我們可以通過(guò)以下命令查看是否已經(jīng)編譯模塊,如下:

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

clip_image001

二、開啟apache虛擬主機(jī)功能

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

vi httpd.conf

clip_image002

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

clip_image003

下面我們所有有關(guān)虛擬主機(jī)的配置都在httpd-vhosts.conf文件中進(jìn)行。如下:

clip_image004

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

這三種虛擬主機(jī),我們主要講解基于域名的虛擬主機(jī)。基于IP與基于端口在生產(chǎn)環(huán)境中使用的比較少,我們?cè)诖酥淮笾轮v解其配置。

注意在此之前,我們還要修改httpd.conf文件把有關(guān)目錄訪問(wèn)權(quán)限的配置選項(xiàng)去掉。否則在訪問(wèn)虛擬主機(jī)時(shí),會(huì)報(bào)403錯(cuò)誤。如下:

clip_image005

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

<Directory />

Options FollowSymLinks

AllowOverride None

</Directory>

clip_image006

值得注意的是,當(dāng)我們?yōu)閍pache啟用虛擬主機(jī)之后,那么所有的用戶請(qǐng)求都會(huì)交由對(duì)應(yīng)的虛擬主機(jī)來(lái)處理。如果apache找不到對(duì)應(yīng)的虛擬主機(jī),則會(huì)把該請(qǐng)求交給配置文件中排在最前面的虛擬主機(jī)來(lái)處理。

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

clip_image007

三、httpd-vhosts.conf文件詳解

httpd-vhosts.conf文件內(nèi)容大致如下:

NameVirtualHost *:80

<VirtualHost *:80>

ServerAdmin [email protected]

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指定虛擬主機(jī)所使用的IP地址或域名,但是最好是IP地址。使用基于域名的虛擬主機(jī)時(shí),NameVirtualHost是必要的指令。NameVirtualHost可以定義多個(gè)。所有符合NameVirtualHost或<VirtualHost>標(biāo)簽定義的請(qǐng)求,都會(huì)被作為虛擬主機(jī)處理,而主服務(wù)器將不理會(huì)。NameVirtualHost定義了而<VirtualHost>標(biāo)簽沒有定義的的請(qǐng)求,服務(wù)器會(huì)找不到相應(yīng)的虛擬主機(jī)而將無(wú)法處理。所以每個(gè)NameVirtualHost定義的參數(shù)至少要有一個(gè)<VirtualHost>相匹配。

如果設(shè)置NameVirtualHost或<VirtualHost>為*:80的話,所有針對(duì)80端口的請(qǐng)求,都會(huì)被虛擬主機(jī)處理,請(qǐng)求會(huì)根據(jù)域名指向某個(gè)虛擬主機(jī)。如果有來(lái)自80端口的請(qǐng)求,而所請(qǐng)求的域名沒有被配置為虛擬主機(jī),那將指向第一個(gè)虛擬主機(jī)。這樣主服務(wù)器將無(wú)法收到來(lái)自80端口的任何請(qǐng)求。為此也要為主服務(wù)器配置一個(gè)虛擬主機(jī)。

想要配置基于域名的虛擬主機(jī),則必須使用NameVirtualHost指令,該指令用于指定對(duì)于當(dāng)前服務(wù)器的哪些IP地址和端口可以接受虛擬主機(jī)的相關(guān)訪問(wèn)請(qǐng)求,而且這些IP地址和端口必須包含在服務(wù)器監(jiān)聽的地址和端口之中。

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

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

我們可以使用VirtualHost配置段來(lái)添加一個(gè)虛擬主機(jī),如果有多個(gè)虛擬主機(jī),我們可以添加多個(gè)這樣的配置段。

在VirtualHost配置段中,我們可以使用配置指令來(lái)對(duì)該虛擬主機(jī)進(jìn)行設(shè)置,除了諸如創(chuàng)建進(jìn)程等少數(shù)特殊的指令外,幾乎所有的指令都可以出現(xiàn)在VirtualHost配置段中。如果沒有設(shè)置某些指令,則該虛擬主機(jī)將采用主服務(wù)器范圍內(nèi)相同的全局指令作為默認(rèn)設(shè)置。當(dāng)然,VirtualHost配置段至少應(yīng)該包含ServerName和DocumentRoot這兩個(gè)配置指令,用以指定虛擬主機(jī)的域名和站點(diǎn)文檔目錄的路徑。如下:

<VirtualHost *:80>

DocumentRoot "/www/a.ilanni.com"

ServerName a.ilanni.com

</VirtualHost>

ServerAdmin管理員郵箱。

DocumentRoot網(wǎng)站目錄(注意:如果網(wǎng)站目錄中的路徑有空格,請(qǐng)?jiān)诼窂絻啥思由想p引號(hào))。

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

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

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

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

四、根據(jù)IP配置虛擬主機(jī)

apache基于IP虛擬主機(jī)在實(shí)際的生產(chǎn)環(huán)境中使用比較少,主要是使用在單網(wǎng)卡多IP的情況下。

我們要測(cè)試此功能,需要給服務(wù)器的網(wǎng)卡增加一個(gè)IP。首先查看服務(wù)器的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

可以看到目前服務(wù)器的IP是192.168.1.213,再增加一個(gè)IP地址為192.168.1.215。eth0網(wǎng)卡增加IP地址,可以通過(guò)網(wǎng)卡配置文件實(shí)現(xiàn)。如下:

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地址增加完畢后,我們現(xiàn)在來(lái)修改虛擬主機(jī)的配置文件httpd-vhosts.conf。如下:

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

clip_image010

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

/etc/init.d/httpd –S

clip_image011

通過(guò)上圖可以看到該虛擬主機(jī)的配置是正確。

為虛擬主機(jī)192.168.1.215創(chuàng)建主頁(yè)文件,如下:

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

訪問(wèn)192.168.1.215虛擬主機(jī)。如下:

clip_image013

或者通過(guò)elinks進(jìn)行測(cè)試,如下:

elinks -dump http://192.168.1.215

clip_image014

可以看到虛擬主機(jī)192.168.1.215,已經(jīng)可以正常訪問(wèn)了。

現(xiàn)在訪問(wèn)192.168.1.213,看看實(shí)際效果。如下:

clip_image015

五、根據(jù)端口配置虛擬主機(jī)

apache默認(rèn)是監(jiān)聽80端口,這個(gè)可以通過(guò)apache配置文件httpd.conf進(jìn)行查看。如下:

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

clip_image016

apache基于端口虛擬主機(jī)在實(shí)際生產(chǎn)環(huán)境中也不多見,一般是為公司內(nèi)部人員提供訪問(wèn)的,如頁(yè)面的后臺(tái)、CMS發(fā)布、phpmyadmin等。

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

現(xiàn)在我們使用8088這個(gè)端口來(lái)設(shè)置虛擬主機(jī)。修改httpd.conf。如下:

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

clip_image017

此文件修改完畢后,我們?cè)賮?lái)修改httpd-vhosts.conf。如下:

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

clip_image018

為虛擬主機(jī)192.168.1.215:8088創(chuàng)建主頁(yè)文件,如下:

mkdir 192.168.1.215:8088

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

cat index.php

clip_image019

現(xiàn)在訪問(wèn)虛擬主機(jī)192.168.1.215:8088,如下:

clip_image020

或者使用elinks,如下:

elinks -dump http://192.168.1.215:8088

clip_image021

六、根據(jù)域名配置虛擬主機(jī)

apache基于域名的虛擬主機(jī)是我們經(jīng)常使用的,也是在生產(chǎn)環(huán)境中最常見的。

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

vim httpd-vhosts.conf

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

clip_image022

clip_image023

以上修改完畢后,我們來(lái)創(chuàng)建虛擬主機(jī)a.ilanni.com默認(rèn)主頁(yè)。如下:

mkdir /www/a.ilanni.com

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

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

clip_image024

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

/etc/init.d/httpd graceful

clip_image025

訪問(wèn)虛擬主機(jī)a.ilanni.com,如下:

clip_image026

或者使用elinks,如下:

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

clip_image027

通過(guò)上圖,可以看到目前虛擬主機(jī)a.ilanni.com,已經(jīng)可以正常訪問(wèn)了。

七、混合配置虛擬主機(jī)

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

<VirtualHost b.ilanni.com:8088>

ServerAdmin [email protected]

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

虛擬主機(jī)混用時(shí)的問(wèn)題:

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

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

3、更具體的地址定義優(yōu)先。比如NameVirtualHost指令定義了*:80,而某個(gè)基于IP的虛擬主機(jī)定義為192.168.0.1:80,那么此時(shí)如有對(duì)192.168.0.1:80的請(qǐng)求,那請(qǐng)求會(huì)被優(yōu)先指向192.168.0.1:80定義的虛擬主機(jī)。所以為了避免混亂,不要定義相互有交叉或包含的地址區(qū)間。

4、一個(gè)虛擬主機(jī),可以同時(shí)為基于域名和基于IP的。如上一例中最后一個(gè)虛擬主機(jī)。這樣符合兩種定義的請(qǐng)求都會(huì)被指同一個(gè)虛擬主機(jī)。有時(shí)要區(qū)別內(nèi)外網(wǎng)對(duì)虛擬主機(jī)的訪問(wèn)時(shí)可以這樣,因?yàn)閬?lái)自內(nèi)網(wǎng)的請(qǐng)求可能和來(lái)自外網(wǎng)的請(qǐng)求可能不一樣,但是它們需要指向同一個(gè)虛擬主機(jī)。

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

<VirtualHost _default_:*>

DocumentRoot /www/default

</VirtualHost>

這個(gè)虛擬主機(jī)將接管與其它虛擬主機(jī)IP和端口不匹配的請(qǐng)求。不過(guò)如此一來(lái),主服務(wù)器將不會(huì)處理任何請(qǐng)求。因此把主服務(wù)器配置成一個(gè)虛擬主機(jī)是必要的。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 日日草日日干 | 国产精品午夜未成人免费观看 | 成人精品一区二区三区中文字幕 | 久久久久久久久成人 | 欧美日韩亚洲一区二区三区 | 二区三区四区视频 | 一级免费观看 | 久久国产午夜 | 337p粉嫩大胆噜噜噜亚瑟影院 | 操碰网 | 久久国产精品二国产精品 | 日本中文一级片 | 666sao| 99精品视频一区二区三区 | 伊人yinren22综合网色 | 成人免费福利 | 成人勉费视频 | 亚洲国产精品一 | 一区二区三区日韩在线 | 天天夜天天操 | 色99久久| 久久久久久艹 | 欧美精品一区二区久久久 | 久久av免费 | 农村少妇吞精夜夜爽视频 | 欧美视频在线观看一区 | 久久国产精品小视频 | 精品国产一级毛片 | 精品国产一区二区三区四 | 国产精品成人一区二区三区吃奶 | 色女人在线 | 国产精品刺激对白麻豆99 | 精品国产一区二区三区四区阿崩 | 逼片视频 | 精品一区二区三区在线观看视频 | 在线一级片 | 99精品视频久久精品视频 | 毛片在哪看 | 少妇一级淫片免费放播放 | 亚洲特黄 | 国产精品视频成人 |