一.基于ip
1) ifconfig 檢視自己的網卡接口為enp2s0,
vi /etc/sysconfig/network-scritps/ifc-enp2s0:0
DEVICE="enp2s0:0"
IPADDR=192.168.100.100
BOOTPROTO=none
ONBOOT=yes
NETMASK=255.255.255.0
systemctl restart network
這樣就建立好了一個虛拟網卡接口
2)vi /etc/hosts
192.168.200.101 www.virtual2.com
3)在/etc/httpd/conf/httpd.conf裡面 加上
Include /etc/httpd/conf/virtualhost/virtual1.conf
mkdir /var/www/html/{virtual1,virtual2} #virtual1和virtual2的DocumentRoot目錄
cd /etc/httpd/conf && mkdir virtualhost && cd virtualhost && touch {virtual1.conf ,virtual2.conf}
#virtual1和virtual2的配置檔案
cd /etc/httpd/logs && mkdir virtualhost #這個目錄用來存放virtual1的日志檔案
4)vi /etc/httpd/conf/virtualhost/virtual1.conf
<VirtualHost 192.168.100.100:80>
DocumentRoot /var/www/html/virtual1
DirectoryIndex virtual1.html
ErrorLog /etc/httpd/logs/virtualhost/error_virtual1_log
CustomLog /etc/httpd/logs/virtualhost/access_virtual1_log combined
<Directory /var/www/html/virtual1>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
<VirtualHost 192.168.100.101:80>
DocumentRoot /var/www/html/virtual2
DirectoryIndex virtual2.html
ErrorLog /etc/httpd/logs/virtualhost/error_virtual2_log
CustomLog /etc/httpd/logs/virtualhost/access_virtual2_log combined
<Directory /var/www/html/virtual2>
二.基于域名
主要是用一個ip對應多個域名,節約ip.
1)vi /etc/hosts
2)vi /etc/httpd/conf/virtualhost/virtual1.conf
<VirtualHost 192.168.200.156:80>
ErrorLog /etc/httpd/logs/virtualhost/error_virtual1_log
CustomLog /etc/httpd/logs/virtualhost/access_virtual1_log
Require all granted
DirectoryIndex virtual1.html
</VirtualHost >
vi /etc/httpd/conf/virtualhost/virtual2.conf
ErrorLog /etc/httpd/logs/virtualhost/error_virtual2_log
CustomLog /etc/httpd/logs/virtualhost/access_virtual2_log
DirectoryIndex virtual2.html
三.基于端口
1)vi /etc/httpd/conf/httpd.conf
加個監聽端口 listen 8080
2)修改virtual1的virtual2的配置檔案
DocumentRoot /var/www/html/virtual1
<VirtualHost 192.168.200.156:8080>
DocumentRoot /var/www/html/virtual2
這樣就ok了.
本文轉自神ge 51CTO部落格,原文連結:http://blog.51cto.com/12218412/1883043