您的位置:首页 > 运维架构 > Apache

CentOS 7运维管理笔记(7)----Apache 基于端口的虚拟主机配置

2016-07-02 19:36 901 查看

  如果一台服务器只有一个IP或需要通过不同的端口访问不同的虚拟主机,可以使用基于端口的虚拟主机配置。

(1) 在虚拟机的CentOS7服务器上配置 eth0:4 为192.168.1.214:

 

(2) 配置 /etc/hosts文件以方便测试:

 进行ping测试,看ip地址有没有导通:

 

(3) 建立虚拟主机存放网页的根目录,并建立首页文件 index.html

 

(4) 修改 /usr/local/apache2/conf/httpd.conf 文件,在文件末尾添加以下内容:

Listen 192.168.1.214:8080
Listen 192.168.1.214:8081
Listen 192.168.1.214:8082

(5) 编辑每个IP端口的配置文件

在 /usr/local/apache2/conf/vhost/ 目录下新建 porttest.8080.conf ,porttest.8081.conf ,porttest.8082.conf 文件,以 porttest.8080.conf 文件为例:

<VirtualHost 192.168.1.214:8080>
ServerName porttest
DocumentRoot  /usr/local/apache2/www/porttest/8080
<Directory "/usr/local/apache2/www/porttest/8080/">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
</VirtualHost>

 

(6) 测试配置文件,并重启Apache服务器

(i) 使用 apachectl -t 命令测试配置文件是否正确,使用 apachectl restart 命令重启Apache服务器:

(ii)使用curl命令测试虚拟主机的开启情况:

显示无法连接。这时才想起来防火墙没有开启 8080,8081,8082这几个端口,开启之:

vim /etc/sysconfig/iptables

重启iptables:

 然后再用 curl 命令连接 porttest:8080,结果得到如下一系列错误:

百思不得其解为何 192.168.1.214的8080,8081,8082端口没有打开,反而是192.168.1.213的这三个端口打开了。重新检查上面所有的步骤,终于发现原来在第四步,将错将 Listen 192.168.1.214:8080 写成了 192.168.1.213:8080:

呵呵,大意了……改正之:

(iii) 测试Apache的配置是否正确,如果正确,重启Apache服务:

用curl 命令测试:

Windows主机的浏览器测试:

成功!

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: