基于Apache服务部署虚拟主机功能
如果每台Linux系统的服务器上只能运行一个网站,那么这显然造成硬件资源的浪费。
利用虚拟主机功能,可以把一台物理服务器分割成多个“虚拟的服务器”,实现资源节约,避免浪费。
Apache 的虚拟主机功能是服务器基于用户请求的不同 IP 地址、主机域名或端口号,实现提供多个网站同时为外部提供访问服务的技术。
下面来详细讲解实现方法
本实验基于cenos7搭建Apache httpd-2.4.6
首先安装
[root@lin10 ~]# yum install httpd –y
由于需要基于不同IP来实现本次实验,所以我添加了三个不同IP
这台linux的ens33网卡原先是172.16.16.1/16 所以添加另外两个IP实现三个不同IP
[root@localhost ~]# ip addr add 172.16.16.2/16 dev ens33
[root@localhost ~]# ip addr add 172.16.16.3/16 dev ens33
关闭防火墙systemctl disable firewalld
关闭selinux vi /etc/sysconfig/selinux
将 SELINUX=enforcing , 修改成disabled
一 基于 IP 地址
1 分别在 /opt/www 中创建存放不同网站数据的三个目录,并向其中写入网站首页文件。
mkdir -p /opt/www/1
mkdir -p /opt/www/2
mkdir -p /opt/www/3
echo "172.16.16.1">/opt/www/1/index.html
echo "172.16.16.2">/opt/www/2/index.html
echo "172.16.16.3">/opt/www/3/index.html
2 在 httpd 服务的配置文件中大约 113 行处开始,分别追加写入三个基于 IP 地址的虚 拟主机网站参数,然后保存并退出。记得需要重启 httpd 服务,这些配置才生效。
vim /etc/httpd/conf/httpd.conf
113 <VirtualHost 172.16.16.1>
114 DocumentRoot /opt/www/1
115 ServerName www.wawa.com
116 <Directory /opt/www/1 >
117 AllowOverride None
118 Require all granted
119 </Directory>
120 </VirtualHost>
121 <VirtualHost 172.16.16.2>
122 DocumentRoot /opt/www/2
123 ServerName bbs.wawa.com
124 <Directory /opt/www/2 >
125 AllowOverride None
126 Require all granted
127 </Directory>
128 </VirtualHost>
129 <VirtualHost 172.16.16.3>
130 DocumentRoot /opt/www/3
131 ServerName test.wawa.com
132 <Directory /opt/www/3 >
133 AllowOverride None
134 Require all granted
135 </Directory>
136 </VirtualHost>
千万别忘了监听80端口
到此基于IP虚拟主机功能就可实现了,启动服务并验证。
二 基于端口号
本人偷个懒,直接把之前的基于IP的配置文件修改了,实现基于端口号虚拟主机。
基于80 8080 和6111这三个端口
vim /etc/httpd/conf/httpd.conf
监听端口需要调整
验证:
三 基于主机域名
基于主机域名需要dns解析来实现此操作,这里就不罗列出来了具体操作在这()。
还是老样子,我还是用之前的文件来修改
监听端口改成80
vim /etc/httpd/conf/httpd.conf
验证: