Apache的三種虛擬主機配置:基於IP地址、基於端口號、基於主機名


1、apache服務器安裝與配置。

yum install httpd -y

systemctl start httpd && systemctl enable httpd

systemctl stop firewalld

setenforce 0     //設置selinux安全級別為premise重啟會失效.

本機windows瀏覽器測試虛擬機ip地址(一定要關閉防火牆),看到以下界面代表啟動http成功。

 

 

2、apache2配置文件

安裝好httpd后會自動生成/etc/httpd目錄

主要配置文件:conf/httpd.conf

3、基於IP地址(服務器需要多個公網IP地址)

www.lyn1.com----192.168.100.135
www.lyn2.com----192.168.100.136

(1)給服務器另外再綁定一個IP地址

 

(2)在/etc/httpd/conf.d目錄中增加一個站點文件lyn1.conf

也可以在/etc/httpd/conf/httpd.conf 直接配置,httpd.conf文件會自動導入/etc/httpd/conf.d中文件,為了方便我們直接寫到/etc/httpd/conf.d文件夾下

mkdir /mnt/lyn1

cd /etc/httpd/conf.d

vi lyn1.conf 

<VirtualHost 192.168.100.135>   //本機ip地址
DocumentRoot /mnt/lyn1/         //網絡數據目錄
ServerName www.lyn1.com         //網站服務器的域名
<Directory /mnt/lyn1/ > //網站數據目錄的權限 AllowOverride None //不允許重寫 Require all granted //允許所有訪問請求 </Directory> </VirtualHost>

 

 

(3)在shiyan1.com對應網站的發布目錄下增加網頁文件index.html

vi /mnt/lyn1/index.html

<html>
<head>
<title>lyn1</title>
</head>
<body>
<h1>lyn1</h1>
this is the www.lyn1.com website
</body>
</html>

 


(4)在/etc/httpd/conf.d目錄中增加一個站點文件lyn2.conf

mkdir /mnt/lyn1

cd /etc/httpd/conf.d

vi lyn1.conf 

<VirtualHost 192.168.100.136>   //本機另一個ip地址
DocumentRoot /mnt/lyn2/         //網絡數據目錄
ServerName www.lyn2.com         //網站服務器的域名
<Directory /mnt/lyn2/ >         //網站數據目錄的權限
AllowOverride None              //不允許重寫
Require all granted             //允許所有訪問請求
</Directory>
</VirtualHost>

 (5)在lyn2.com對應網站的發布目錄下增加網頁文件index.html

vi /mnt/lyn2/index.html

<html>
<head>
<title>lyn2</title>
</head>
<body>
<h1>lyn2</h1>
this is the www.lyn2.com website
</body>
</html>

 

(6)重啟Apache服務器,並使用瀏覽器進行驗證

systemctl restart httpd

 

 

 

 

 

 4、配置基於端口號的虛擬主機

www.lyn1.com----192.168.100.135:80
www.lyn2.com----192.168.100.135:81

(1)在主配置文件/etc/httpd/conf/httpd.conf文件中增加監聽端口81

#vi /etc/httpd/conf/httpd.conf
Listen 80
Listen 81

 

 

 (2)修改/etc/httpd/conf.d/lyn1.conf文件:

<VirtualHost 192.168.100.135:80>
ServerName www.lyn1.com
DocumentRoot /var/www/html/lyn1/
<Directory /var/www/html/lyn1/ > 
AllowOverride None         
Require all granted      
</Directory>
</VirtualHost>

(3)修改/etc/httpd/conf.d/shiyan2.conf文件:

<VirtualHost 192.168.100.135:81>
ServerName www.lyn2.com
DocumentRoot /var/www/html/lyn2/
<Directory /var/www/html/lyn2/ > 
AllowOverride None       
Require all granted    
</Directory>
</VirtualHost>

 

(4)重啟Apache服務器,並使用瀏覽器進行驗證

systemctl restart httpd

 

 

 

 

 

 

5、配置基於主機名的虛擬機

www.lyn1.com----192.168.100.135:80
www.lyn2.com----192.168.100.135:80

(1)注冊DNS(配置DNS服務器並實現正常解析)、臨時測試時可以使用修改/etc/hosts方法,此處采用修改hosts方法

#vi /etc/hosts

192.168.100.135 www.lyn1.com
192.168.100.135 www.lyn2.com

 

(2)在主配置文件/etc/httpd/conf.d/lyn1.conf文件中

<VirtualHost *:80>
ServerName www.lyn1.com
DocumentRoot /var/www/html/lyn1/
<Directory /var/www/html/lyn1/ >
AllowOverride None
Require all granted
</Directory>
</VirtualHost>

 

(3)在主配置文件/etc/httpd/conf.d/lyn2.conf文件中

<VirtualHost *:81>
ServerName www.lyn2.com
DocumentRoot /var/www/html/lyn2/
<Directory /var/www/html/lyn2/ >
AllowOverride None
Require all granted
</Directory>
</VirtualHost>

 (4)重啟apache2服務器並進行驗證

systemctl restart httpd

[root@lyn html]# curl www.lyn1.com

[root@lyn html]# curl www.lyn2.com

 

 windows下訪問網站要向C:\Windows\System32\drivers\etc\hosts文件中追加下面兩行

192.168.100.135 www.lyn1.com
192.168.100.135 www.lyn2.com

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM