技术改变生活

博客园 首页 新随笔 联系 订阅 管理

配置apache虚拟主机,实现一台服务器上运行多个网站

Apache虚拟主机实现方法有三种:

1、通过不同ip地址;

2、通过不同端口号;

3、通过不同域名(常用);

 

 

第一种:

1、通过不同ip地址实现

做法一:

[root@x101 ~]# ip addr add 192.168.0.102/24 dev eth0 label eth0:1

[root@x101 ~]# vim /etc/httpd/conf.d/virtualhost.conf

 <VirtualHost 192.168.0.101:80>

ServerAdmin  webmaster@dummy-host.example.com

DocumentRoot  /var/www/html

ServerNamewww.xiaofeng.com

ErrorLoglogs/www.xiaofeng.com-error_log

CustomLoglogs/www.xiaofeng.com-access_log common

</VirtualHost>

 <VirtualHost 192.168.0.102:80>

ServerAdmin  webmaster@dummy-host.example.com

DocumentRoot/var/www/html/wcg

ServerName   www.xiaofeng.com

ErrorLog  logs/www.xiaofeng.com-error_log

CustomLoglogs/www.xiaofeng.com-access_log common

</VirtualHost>

 [root@x101 ~]# systemctl restart httpd

[root@x101 ~]# cat /var/www/html/wcg/index.html

welcome to WCG

[root@x101 ~]# cat /var/www/html/index.html

welcome to yuqianwan

做法二:(推荐)

[root@x101 network-scripts]# cp ifcfg-eth0{,:1}

[root@x101 conf.d]# cat /etc/sysconfig/network-scripts/ifcfg-eth0\:1
NAME="eth0:1"
DEVICE="eth0:1"
ONBOOT=yes
NETBOOT=yes
IPV6INIT=yes
BOOTPROTO=none
TYPE=Ethernet
IPADDR=192.168.0.102
PREFIX=24
GATEWAY=192.168.0.1
DNS=192.168.0.1

[root@x101 network-scripts]# cd /etc/httpd/conf.d/

[root@x101 conf.d]# vim virtualhost101.conf

<VirtualHost 192.168.0.101:80>

ServerAdmin  webmaster@dummy-host.example.com

DocumentRoot  /var/www/html

ServerName www.xiaofeng.com

ErrorLog logs/www.xiaofeng.com-error_log

CustomLog logs/www.xiaofeng.com-access_log common

</VirtualHost>

 

[root@x101 conf.d]# vim virtualhost102.conf

<VirtualHost 192.168.0.102:80>

ServerAdmin  webmaster@dummy-host.example.com

DocumentRoot /var/www/html/wcg

ServerName   www.xiaofeng.com

ErrorLog  logs/www.xiaofeng.com-error_log

CustomLog logs/www.xiaofeng.com-access_log common

</VirtualHost>

 

[root@x101 ~]# systemctl restart httpd

[root@x101 ~]# cat /var/www/html/wcg/index.html

welcome to WCG

[root@x101 ~]# cat /var/www/html/index.html

welcome to yuqianwan

 测试:

 

 

 

 

第二种:

2、通过不同域名访问

[root@x101 conf.d]# vim virtualhost101.conf

<VirtualHost *:80>

ServerAdmin  webmaster@dummy-host.example.com

DocumentRoot  /var/www/html

ServerName www.xiaofeng.com

ErrorLog logs/www.xiaofeng.com-error_log

CustomLog logs/www.xiaofeng.com-access_log common

</VirtualHost>

[root@x101 conf.d]# vim virtualhost102.conf

<VirtualHost *:80>

ServerAdmin  webmaster@dummy-host.example.com

DocumentRoot /var/www/html/wcg

ServerName   www.bbs.com

ErrorLog  logs/www.bbs.com-error_log

CustomLog logs/www.bbs.com-access_log common

</VirtualHost> 

[root@x101 conf.d]# systemctl restart httpd

 测试:

Windows主机添加hosts解析,C:\Windows\System32\drivers\etc\hosts

192.168.0.101     www.bbs.com

192.168.0.101     www.xiaofeng.com

 

 

 

 

 

 

 

 

第三种:

3、通过不同端口访问

开启监听端口

[root@x101 conf.d]# vim /etc/httpd/conf/httpd.conf

Listen 80

Listen 81

 

 [root@x101 conf.d]# vim  virtualhost81.conf

<VirtualHost 192.168.0.101:81>

或者<VirtualHost *:81>

ServerAdmin  webmaster@dummy-host.example.com

DocumentRoot /var/www/html/wcg

ServerName   www.xiaofeng.com

ErrorLog  logs/www.xiaofeng.com-error_log

CustomLog logs/www.xiaofeng.com-access_log common

</VirtualHost>

 

[root@x101 conf.d]# vim  virtualhost80.conf

<VirtualHost 192.168.0.101:80>

或者<VirtualHost *:80>

ServerAdmin  webmaster@dummy-host.example.com

DocumentRoot /var/www/html

ServerName   www.xiaofeng.com

ErrorLog  logs/www.xiaofeng.com-error_log

CustomLog logs/www.xiaofeng.com-access_log common

</VirtualHost>

[root@x101 conf.d]# systemctl restart httpd

访问测试:

 

 

 

posted on 2020-08-19 17:44  小阿峰  阅读(346)  评论(0编辑  收藏  举报