zoukankan      html  css  js  c++  java
  • CentOS 7运维管理笔记(7)----Apache 基于端口的虚拟主机配置

      如果一台服务器只有一个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主机的浏览器测试:

    成功!

  • 相关阅读:
    ID,ClientID,UniqueID的区别
    Struct构造函数
    关于sizeof,typeof
    C#文件读写
    code1
    .NET中加密与解密QueryString的方法
    addEventListener和attachEvent的区别
    执行带参数的存储过程
    如何得到机器上装的Powershell的版本
    [Gradle] How to determine OS info
  • 原文地址:https://www.cnblogs.com/dongling/p/5635801.html
Copyright © 2011-2022 走看看