1. 程式人生 > >基於apache的虛擬主機

基於apache的虛擬主機

cli nec error_log conn 種類 oca address 5.1 server

apche支持3種類型虛擬主機:
基於IP的虛擬主機
基於端口的虛擬主機
基於主機名的虛擬主機


配置兩個站點虛擬主機:
/data/web1
/data/web2

一、基於IP虛擬主機
添加一個IP:[[email protected] ~]# nmcli connection modify ens33 +ipv4.addresses 192.168.95.10/24
重啟網絡服務:systemctl restart network

1、修改主配置文件
[[email protected] ~]# cd /etc/httpd/conf

[[email protected] conf]# cp httpd.conf{,.bak}

#DocumentRoot "/var/www/html"
註釋默認的網站主頁,其他保持默認

2、增加虛擬主機配置

cd /etc/httpd/conf.d

[[email protected] conf.d]# vi virtualhost.conf
<Directory "/data">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>

<VirtualHost 192.168.95.10:80>
DocumentRoot /data/web1
ServerName 192.168.95.10
ErrorLog /data/web1/logs/error_log
CustomLog /data/web1/logs/access_log combined
</VirtualHost>

<VirtualHost 192.168.95.11:80>
DocumentRoot /data/web2
ServerName 192.168.95.11
ErrorLog /data/web2/logs/error_log
CustomLog /data/web2/logs/access_log combined
</VirtualHost>

3、創建虛擬主機目錄及主頁
[[email protected] conf.d]# mkdir -p /data/web{1,2}/logs
[[email protected] conf.d]# echo "web1 test page" >/data/web1/index.html
[[email protected] conf.d]# echo "web2 test page" >/data/web2/index.html

4、重啟測試
[[email protected] ~]# yum install elinks -y
[[email protected] ~]# elinks -dump http://192.168.95.10
web1 test page
[[email protected] ~]# elinks -dump http://192.168.95.11
web2 test page


二、基於端口
使用同一個IP,不同的端口
192.168.95.11:80
192.168.95.11:81

1、修改主配置文件
#Listen 80
Listen 192.168.95.11:80
Listen 192.168.95.11:81

2、修改虛擬主機文件
<Directory "/data">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
<VirtualHost 192.168.95.11:80>
DocumentRoot /data/web1
ServerName 192.168.95.11
ErrorLog /data/web1/logs/error_log
CustomLog /data/web1/logs/access_log combined
</VirtualHost>

<VirtualHost 192.168.95.11:81>
DocumentRoot /data/web2
ServerName 192.168.95.11
ErrorLog /data/web2/logs/error_log
CustomLog /data/web2/logs/access_log combined
</VirtualHost>

3、重啟測試
[[email protected] ~]# elinks -dump http://192.168.95.11
web1 test page
[[email protected] ~]# elinks -dump http://192.168.95.11:81
web2 test page

三、基於名稱的虛擬主機
相同的IP,相同的端口,不同的主機名

www.uplook.com -----web1
www.uplooking.com ----web2

DNS準備略,也可以使用hosts文件
1、修改主配置文件
#Listen 80
Listen 192.168.95.11:80
#Listen 192.168.95.11:81

2、修改虛擬主機文件
<Directory "/data">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
<VirtualHost 192.168.95.11:80>
DocumentRoot /data/web1
ServerName www.uplook.com
ErrorLog /data/web1/logs/error_log
CustomLog /data/web1/logs/access_log combined
</VirtualHost>

<VirtualHost 192.168.95.11:80>
DocumentRoot /data/web2
ServerName www.uplooking.com
ErrorLog /data/web2/logs/error_log
CustomLog /data/web2/logs/access_log combined
</VirtualHost>

3、重啟httpd服務測試
[[email protected] ~]# elinks -dump http://www.uplook.com
web1 test page
[[email protected] ~]# elinks -dump http://www.uplooking.com
web2 test page



基於apache的虛擬主機