基于 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
一 基于 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>
- DocumentRoot /opt/www/1
- ServerName www.wawa.com
- <Directory /opt/www/1>
- AllowOverride None
- Require all granted
- </Directory>
- </VirtualHost>
- <VirtualHost 172.16.16.2>
- DocumentRoot /opt/www/2
- ServerName bbs.wawa.com
- <Directory /opt/www/2>
- AllowOverride None
- Require all granted
- </Directory>
- </VirtualHost>
- <VirtualHost 172.16.16.3>
- DocumentRoot /opt/www/3
- ServerName test.wawa.com
- <Directory /opt/www/3>
- AllowOverride None
- Require all granted
- </Directory>
- </VirtualHost>
千万别忘了监听 80 端口
到此基于 IP 虚拟主机功能就可实现了, 启动服务并验证.
二 基于端口号
本人偷个懒, 直接把之前的基于 IP 的配置文件修改了, 实现基于端口号虚拟主机.
基于 80 8080 和 6111 这三个端口
VIM /etc/httpd/conf/httpd.conf
监听端口需要调整
验证:
三 基于主机域名
基于主机域名需要 dns 解析来实现此操作, 这里就不罗列出来了具体操作在这 (点击).
还是老样子, 我还是用之前的文件来修改
监听端口改成 80
VIM /etc/httpd/conf/httpd.conf
验证:
来源: http://blog.51cto.com/9075724/2314449