Home > Backend Development > PHP Tutorial > apache怎么配置虚拟主机

apache怎么配置虚拟主机

PHPz
Release: 2020-09-04 15:23:43
Original
4771 people have browsed it

Apache配置虚拟主机的方法:1、安装httpd服务;2、禁用默认的主机模式;3、为主机添加多个ip;4、添加虚拟主机配置文件;5、测试。

apache怎么配置虚拟主机

Apache配置虚拟主机的三种方法(基于IP、端口、域名)

1、Apache虚拟主机的实现方式有3种。

  • 基于IP的虚拟主机
  • 基于端口的虚拟主机
  • 基于域名的虚拟主机

2.1 启用虚拟主机的准备工作

 2.1.1 安装httpd

[root@mail httpd]# yum install httpd -y
Copy after login

 2.1.2禁用默认的主机模式

[root@mail httpd]# vim /etc/httpd/conf/httpd.conf
注释下面这行内容
#DocumentRoot "/var/www/html"
Copy after login

2.2基于IP的虚拟主机配置

  2.2.1为主机添加多个IP

[root@localhost conf.d]# ip addr show dev eth0                         #查看原有IP
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:77:77:7d brd ff:ff:ff:ff:ff:ff
    inet 192.168.137.200/24 brd 192.168.137.255 scope global eth0
    inet6 fe80::20c:29ff:fe77:777d/64 scope link 
       valid_lft forever preferred_lft forever
[root@localhost conf.d]# ip addr add 192.168.137.201/24 dev eth0        #添加一个IP
[root@localhost conf.d]# ip addr show dev eth0                          #查看添加后的IP信息, 此时有2个IP地址了。 200,201
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:77:77:7d brd ff:ff:ff:ff:ff:ff
    inet 192.168.137.200/24 brd 192.168.137.255 scope global eth0
    inet 192.168.137.201/24 scope global secondary eth0
    inet6 fe80::20c:29ff:fe77:777d/64 scope link 
       valid_lft forever preferred_lft forever
Copy after login

2.2.2添加虚拟主机配置文件

[root@mail conf.d]# cd /etc/httpd/conf.d/      #进入配置目录
[root@mail conf.d]# vim virtualhost.conf       #创建一个配置文件, 编辑内容如下
[root@mail conf.d]# cat virtualhost.conf       #查看并检查配置文件
<VirtualHost 192.168.137.200:80>
  DocumentRoot "/var/www/test200"
  ServerName    www.test200.com
</VirtualHost>

<VirtualHost 192.168.137.201:80>
  DocumentRoot "/var/www/test201"
  ServerName    www.test201.com
</VirtualHost>
[root@mail conf.d]# cd /var/www                      #切换目录
[root@mail www]# mkdir test200 test201               #创建目录
[root@mail www]# echo test200 >>./test200/index.html #创建IP为200的主页
[root@mail www]# echo test201 >>./test201/index.html #创建IP为200的主页
Copy after login

2.2.3测试

[root@localhost www]#  service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
                                                           [  OK  ]
#我们这里使用elinks进行测试, 当然用浏览器测试是一样的
[root@localhost conf]# elinks -source 192.168.137.200
test200
[root@localhost conf]# elinks -source 192.168.137.201
test201
Copy after login

2.3基于端口的虚拟主机配置

  2.3.1在主配置文件添加监听端口

[root@localhost conf]# vim /etc/httpd/conf/httpd.conf 
#在原有行Listen 80行的基础上, 在添加一行
Listen 8080
Copy after login

  2.3.2添加8080的端口虚拟配置

[root@localhost conf.d]# cat virtualhost.conf 
<VirtualHost 192.168.137.200:80>
  DocumentRoot "/var/www/test200"
  ServerName    www.test200.com
</VirtualHost>

<VirtualHost 192.168.137.201:80>
  DocumentRoot "/var/www/test201"
  ServerName    www.test201.com
</VirtualHost>
#下面的内容是在上面的配置的基础上添加的。
<VirtualHost 192.168.137.201:8080>
  DocumentRoot "/var/www/test201-8080"
  ServerName    www.test201-8080.com
</VirtualHost>
[root@localhost conf.d]# cd /var/www/           #切换目录
[root@localhost www]# mkdir test201-8080        #创建目录
[root@localhost www]# echo "test201-8080" >>./test201-8080/index.html       #创建主页
Copy after login

  2.3.2测试

[root@localhost www]#  service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
                                                           [  OK  ]
[root@localhost conf]# elinks -source 192.168.137.201:80
test201
[root@localhost conf]# elinks -source 192.168.137.201
test201
[root@localhost conf]# elinks -source 192.168.137.201:8080
test201-8080
Copy after login

2.4基于域名的虚拟主机配置

  2.4.1 添加域名的虚拟主机配置

[root@localhost conf.d]# vim virtualhost.conf      #编辑虚拟主机配置文件
[root@localhost conf.d]# cat virtualhost.conf      #内容如下
NameVirtualHost 192.168.137.200:80 
<VirtualHost 192.168.137.200:80>
  DocumentRoot "/var/www/test200"
  ServerName    www.test200.com
</VirtualHost>

<VirtualHost 192.168.137.200:80>
  DocumentRoot "/var/www/test200net"
  ServerName    www.test200.net
</VirtualHost>

<VirtualHost 192.168.137.201:80>
  DocumentRoot "/var/www/test201"
  ServerName    www.test201.com
</VirtualHost>

<VirtualHost 192.168.137.201:8080>
  DocumentRoot "/var/www/test2018080"
  ServerName    www.test2018080.com
</VirtualHost>
[root@localhost conf.d]# service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
                                                           [  OK  ]
[root@localhost conf.d]# cd /var/www                               #切换目录
[root@localhost www]# mkdir test200net                             #创建目录
[root@localhost www]# echo "test200net" >>./test200net/index.html  #创建主页
Copy after login

2.4.2 测试

  2.4.2.1 添加域名解析

  这里我们没有提供dns去解析,简单的使用hosts文件区解析就可以了。

[root@localhost www]# vim /etc/hosts      编辑hosts文件, 添加两行
[root@localhost www]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.137.200 www.test200.com
192.168.137.200 www.test200.net
Copy after login

  接下来就可以测试了:

[root@localhost www]# elinks -source http://www.test200.com       #测试.com域test200
[root@localhost www]# elinks -source http://www.test200.net       #测试.net域test200net
Copy after login

更多相关知识,请访问 PHP中文网!!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template