Red Hat Training

A Red Hat training course is available for RHEL 8

5.3. 配置 Apache HTTP 服务器

此流程配置 Apache HTTP 服务器。

流程

  1. 确定在集群的每个节点中安装了 Apache HTTP Server。您还需要在集群中安装 wget 工具,才能检查 Apache HTTP 服务器的状态。

    在每个节点上执行以下命令。

    # yum install -y httpd wget

    如果您正在运行 firewalld 守护进程,在集群的每个节点中都启用红帽高可用性附加组件所需的端口,并启用运行 httpd 所需的端口。本例启用 httpd 端口以进行公共访问,但针对 httpd 启用的特定端口可能因生产用途而异。

    # firewall-cmd --permanent --add-service=high-availability
    # firewall-cmd --permanent --zone=public --add-service=high-availability
    # firewall-cmd --reload
  2. 为了使 Apache 资源代理获取 Apache HTTP 服务器的状态,请确保集群中每个节点上的 /etc/httpd/conf/httpd.conf 文件中存在以下文本,并确保它没有被注释掉。如果这个内容不存在,在文件的末尾添加这个内容。

    <Location /server-status>
        SetHandler server-status
        Require local
    </Location>
  3. 当您使用 apache 资源代理来管理 Apache 时,它不使用 systemd。因此,您必须编辑 Apache 提供的 logrotate 脚本,使其不使用 systemctl 重新加载 Apache。

    删除群集中每个节点的 /etc/logrotate.d/httpd 文件中的以下行:

    /bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true

    使用以下三行替换您删除的行。

    /usr/bin/test -f /run/httpd.pid >/dev/null 2>/dev/null &&
    /usr/bin/ps -q $(/usr/bin/cat /run/httpd.pid) >/dev/null 2>/dev/null &&
    /usr/sbin/httpd -f /etc/httpd/conf/httpd.conf \
    -c "PidFile /run/httpd.pid" -k graceful > /dev/null 2>/dev/null || true
  4. 为 Apache 创建网页供服务。

    在集群的一个节点中,确保 激活您在配置带有 ext4 文件系统的 LVM 卷中创建的逻辑卷,挂载您在该逻辑卷上创建的文件系统,在该文件系统中创建文件 index.html,然后卸载该文件系统。

    # lvchange -ay my_vg/my_lv
    # mount /dev/my_vg/my_lv /var/www/
    # mkdir /var/www/html
    # mkdir /var/www/cgi-bin
    # mkdir /var/www/error
    # restorecon -R /var/www
    # cat <<-END >/var/www/html/index.html
    <html>
    <body>Hello</body>
    </html>
    END
    # umount /var/www