基於apache的虛擬主機
阿新 • • 發佈:2019-04-27
cli nec error_log conn 種類 oca address 5.1 server [[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
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
#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
<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
</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的虛擬主機