Linux系统之Apache虚拟主机的三种实现方式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux系统之Apache虚拟主机的三种实现方式相关的知识,希望对你有一定的参考价值。
(Linux系统之Apache虚拟主机的三种实现方式)
一、Apache简介
二、Apache的特性
Apacheweb服务器软件拥有以下特性:
- 1.支持最新的HTTP/1.1通信协议 -2.拥有简单而强有力的基于文件的配置过程 -3.支持通用网关接口 -4.支持基于IP和基于域名的虚拟主机 -5.支持多种方式的HTTP认证 -6.集成Perl处理模块 -7.集成代理服务器模块 -8.支持实时监视服务器状态和定制服务器日志 -9.支持服务器端包含指令(SSI) -10.支持安全Socket层(SSL) -11.提供用户会话过程的跟踪 -12.支持FastCGI -13.通过第三方模块可以支持JavaServlets
三、Apache虚拟主机介绍
- 虚拟主机是指在一个机器上运行多个网站(比如:www.company1.com和www.company2.com)。如果每个网站拥有不同的IP地址,则虚拟主机可以是基于IP的;如果只有一个IP地址,也可以是基于主机名的,其实现对最终用户是透明的。
四、安装Apache步骤
1.安装httpd软件包
- 在主机名为control的服务器上安装httpd包及httpd-manual.noarch包。
yum -y install httpd httpd-manual.noarch
2.放行防火墙服务
3.查看httpd进程
4.创建测试网站文件
- 创建index文件,测试访问
五、三种虚拟主机的配置方法
1.基于域名的虚拟主机
①创建网页文件
②创建服务配置文件
③查看web1.conf配置文件
<VirtualHost *:80>
DocumentRoot /var/www/web1/
ServerName web1.example.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/web2/
ServerName web2.example.com
</VirtualHost>
④重启httpd服务
⑤测试node1访问web服务器
2.基于端口的虚拟主机
① 创建网页内容
②创建配置文件
③.放行防火墙8080端口
④测试访问情况
3.基于ip的虚拟主机
①创建配置文件
②测试访问情况
linux7下虚拟主机的三种实现方式
一、 相同IP地址,不同端口号虚拟主机1:主机IP地址为172.16.30.20,端口号为80(默认端口),DocumentRoot是/var/www/vhost1,在DocumentRoot目录下创建虚拟主机站点主页文件。
[root@rhel7 ~]# cd /var/www/
[root@rhel7 www]# mkdir vhost1
[root@rhel7 www]# cd vhost1/
[root@rhel7 vhost1]# vim index.html
[root@rhel7 vhost1]# cat index.html
this is the vhost1
虚拟主机2:主机IP地址为172.16.30.20,端口号为8080,DocumentRoot是/var/www/vhost2,在DocumentRoot目录下创建虚拟主机站点主页文件。
[root@rhel7 ~]# cd /var/www/
[root@rhel7 www]# mkdir vhost2
[root@rhel7 www]# cd vhost2/
[root@rhel7 vhost2]# vim index.html
[root@rhel7 vhost2]#
[root@rhel7 vhost2]# cat index.html
this is the vhost2
编辑虚拟机主机配置文件httpd-vhosts.conf
[root@rhel7 ~]# vim /etc/httpd/conf.d/httpd-vhosts.conf
<VirtualHost 172.16.30.10:80>
DocumentRoot "/var/www/vhost1"
</VirtualHost>
Listen 8080
<VirtualHost 172.16.30.10:8080>
DocumentRoot "/var/www/vhost2"
</VirtualHost>
[root@rhel7 ~]# systemctl restart httpd
[root@rhel7 ~]# firewall-cmd --add-port=8080/tcp --permanent
success
[root@rhel7 ~]# firewall-cmd --reload
success
访问测试:
二、 不同IP地址,相同端口号
虚拟主机1:主机IP地址为172.16.30.20,端口号为80(默认端口),DocumentRoot是/var/www/vhost1,在DocumentRoot目录下创建虚拟主机站点主页文件。
虚拟主机2:主机IP地址为172.16.30.200,端口号为80(默认端口),DocumentRoot是/var/www/vhost2,在DocumentRoot目录下创建虚拟主机站点主页文件。
[root@rhel7 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=bde41fa3-f559-4de2-ba9a-857fed211aac
DEVICE=ens33
ONBOOT=yes
DNS1=127.0.0.1
ZONE=public
IPADDR=172.16.30.10
PREFIX=24
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPADDR1=172.16.30.100
PREFIX1=24
[root@rhel7 ~]# vim /etc/httpd/conf.d/httpd-vhosts.conf
<VirtualHost 172.16.30.10:80>
DocumentRoot "/var/www/vhost1"
</VirtualHost>
<VirtualHost 172.16.30.100:80>
DocumentRoot "/var/www/vhost2"
</VirtualHost>
[root@rhel7 ~]# systemctl restart httpd
访问测试:
三、 相同IP地址,相同端口号,不同FQDN
虚拟主机1:主机IP地址为172.16.30.20,端口号为80(默认端口),FQDN为vhost1.example.com,DocumentRoot是/var/www/vhost1,在DocumentRoot目录下创建虚拟主机站点主页文件。
虚拟主机2:主机IP地址为172.16.30.20,端口号为80(默认端口),FQDN为vhost2.example.com,DocumentRoot/var/www/vhost2,在DocumentRoot目录下创建虚拟主机站点主页文件。
[root@rhel7 ~]# vim /etc/httpd/conf.d/httpd-vhosts.conf
<VirtualHost 172.16.30.10:80>
DocumentRoot "/var/www/vhost1"
ServerName vhost1.example.com
</VirtualHost>
<VirtualHost 172.16.30.10:80>
DocumentRoot "/var/www/vhost2"
ServerName vhost2.example.com
</VirtualHost>
注意:DNS服务器中需要添加对应的解析内容。
访问测试:
记得每次修改完配置文件后需要重启服务。
以上是关于Linux系统之Apache虚拟主机的三种实现方式的主要内容,如果未能解决你的问题,请参考以下文章