HCRM博客

调整CentOS LAMP服务端口指南

CentOS LAMP 修改端口完整指南

在 CentOS 上部署 LAMP(Linux, Apache, MySQL, PHP/Python/Perl)环境是搭建网站应用的常用方案,默认情况下,Apache HTTP 服务器监听 80 端口(HTTP)和 443 端口(HTTPS),基于安全加固、避免端口冲突或满足特定网络策略的需求,管理员常常需要修改 Apache 的默认监听端口,本文将详细介绍在 CentOS 系统上修改 LAMP 环境中 Apache 服务端口的完整步骤与注意事项。

调整CentOS LAMP服务端口指南-图1

修改 Apache 主配置文件

调整CentOS LAMP服务端口指南-图2

修改 Apache 监听端口的核心操作在于编辑其主配置文件。

  1. 定位配置文件: 使用终端,通过 SSH 连接到您的 CentOS 服务器,Apache 的主配置文件通常是 /etc/httpd/conf/httpd.conf(CentOS 7 及 RHEL 7 系)或 /etc/apache2/apache2.conf(某些衍生版,但 CentOS 标准是前者),确认路径:

    ls -l /etc/httpd/conf/httpd.conf
  2. 备份配置文件: 修改前务必进行备份,这是防止操作失误导致服务不可用的关键步骤:

    sudo cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak
  3. 编辑配置文件: 使用熟悉的文本编辑器(如 vi, vim, nano)打开配置文件:

    sudo vi /etc/httpd/conf/httpd.conf
  4. 查找监听指令: 在文件中搜索 Listen 指令,您可能会找到类似这样的行:

    Listen 80

    可能还有 Listen 443(SSL 已配置)。Listen 指令指定 Apache 绑定的 IP 地址和端口,如果只有端口号(如 Listen 80),表示监听服务器上所有可用 IP 地址的该端口。

    调整CentOS LAMP服务端口指南-图3
  5. 修改端口号: 将您希望 Apache 使用的新端口号替换默认的 80,将其改为 8080

    Listen 8080
    • 重要提示: 如果您同时使用了 SSL(HTTPS),通常还需要修改 SSL 虚拟主机配置中的端口(通常是 443 改为如 8443),这通常在 /etc/httpd/conf.d/ssl.conf 文件中配置,查找 Listen 443<VirtualHost _default_:443> 进行相应修改,本文主要聚焦 HTTP 端口修改。
  6. 保存并退出: 保存对配置文件的更改并退出编辑器(在 vi 中按 Esc 键,然后输入 :wq 回车)。

配置系统防火墙 (Firewalld/CentOS 默认)

修改了 Apache 的监听端口后,必须确保 CentOS 的系统防火墙允许外部流量访问这个新端口。

  1. 检查防火墙状态: 确认 firewalld 服务正在运行:

    sudo systemctl status firewalld

    如果未运行,需启动并设置开机自启:

    sudo systemctl start firewalld
    sudo systemctl enable firewalld
  2. 添加防火墙规则: 使用 firewall-cmd 命令永久开放您设定的新端口(8080):

    sudo firewall-cmd --permanent --add-port=8080/tcp
    • --permanent 表示规则永久生效(重启防火墙后依然存在)。
    • --add-port=8080/tcp 指定添加 TCP 协议的 8080 端口。
  3. 重新加载防火墙: 使新添加的永久规则立即生效:

    sudo firewall-cmd --reload
  4. 验证端口开放: 检查新端口是否在防火墙的允许列表中:

    sudo firewall-cmd --list-ports

    或查看所有开放的服务和端口:

    sudo firewall-cmd --list-all

    您应该能在输出中看到 8080/tcp

处理 SELinux 策略

CentOS 默认启用 SELinux,它是一个强大的安全模块,修改端口后,SELinux 默认策略可能不允许 Apache 绑定到非标准端口(80, 443, 8008, 8080 等是预设允许的,但 8080 有时需要额外确认)。

  1. 检查 SELinux 状态: 确保 SELinux 处于 Enforcing 模式:

    getenforce

    如果结果是 Disabled,则无需此步骤,如果是 PermissiveEnforcing,继续操作。

  2. 查看当前允许的 HTTP 端口: 查看 SELinux 允许 httpd_t 进程(即 Apache)绑定哪些端口:

    sudo semanage port -l | grep 'http\|www'

    查找 http_port_t 类型对应的端口列表。

  3. 添加新端口到策略:

    • 如果新端口(如 8080)已存在于 http_port_t 列表中: 则无需额外操作,SELinux 已允许。
    • 如果新端口不在列表中(如 8888): 需要将其添加到 http_port_t 端口类型:
      sudo semanage port -a -t http_port_t -p tcp 8888
      • -a: 添加
      • -t http_port_t: 指定目标类型为 http_port_t
      • -p tcp: 指定协议为 TCP
      • 8888: 要添加的端口号。
  4. 验证添加结果: 再次运行 sudo semanage port -l | grep http_port_t,确认新端口已成功添加。

调整虚拟主机配置 (如使用)

如果您的网站配置了基于名称的虚拟主机(通常在 /etc/httpd/conf.d/ 目录下的 .conf 文件中),需要检查并确保虚拟主机的 <VirtualHost> 标签使用的端口与新配置的 Listen 端口一致。

  1. 查找虚拟主机文件: 通常位于 /etc/httpd/conf.d/vhost.confyourdomain.conf
  2. 编辑虚拟主机定义: 打开相关文件,找到类似以下的结构:
    <VirtualHost *:80>
        ... 您的配置 ...
    </VirtualHost>
  3. 修改端口::80 改为您设置的新端口,
    <VirtualHost *:8080>
        ... 您的配置 ...
    </VirtualHost>
  4. 保存更改。

重启 Apache 并测试

完成所有配置修改后,需要重启 Apache 服务使更改生效。

  1. 重启 Apache:

    sudo systemctl restart httpd
  2. 检查 Apache 状态: 确保服务重启成功,没有报错:

    sudo systemctl status httpd

    仔细查看输出,确认状态为 active (running) 且没有明显的错误信息,如果启动失败,请检查 /var/log/httpd/error_log 获取详细错误原因(通常是配置语法错误或 SELinux/端口冲突)。

  3. 验证端口监听: 使用 netstatss 命令查看 Apache 是否正在监听您设定的新端口:

    sudo netstat -tulpn | grep 'httpd\|apache'

    sudo ss -tulpn | grep 'httpd\|apache'

    在输出中,您应该能看到类似 tcp LISTEN 0 128 *:8080 *:* users:(("httpd",pid=...,fd=4)) 的行,确认 8080(或您设置的端口)在监听。

  4. 通过浏览器或命令行访问测试:

    • 浏览器访问: 在浏览器地址栏输入 http://your_server_ip:8080(将 your_server_ip 替换为您的服务器 IP 地址,8080 替换为您设置的新端口),如果看到 Apache 的测试页或您的网站内容,说明配置成功。
    • 命令行测试 (curl):
      curl -I http://localhost:8080

      应能返回 HTTP 响应头(如 HTTP/1.1 200 OK)。

服务器维护中的端口变更思考

修改默认服务端口是提升服务器基础安全性的有效手段之一,它能显著减少自动化脚本扫描和常见攻击面,端口变更绝非一劳永逸的安全措施,真正的防护在于对配置细节的持续关注:防火墙规则是否精准?SELinux策略是否合理?服务日志是否存在异常访问?每一次对服务器配置的调整,都应视为安全链条中的一环,需要严谨测试与后续观察,尤其对于生产环境,务必在非高峰时段操作,并准备好完整的回滚方案,技术管理的核心价值,往往就体现在这些看似平凡却至关重要的操作细节之中。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/35543.html

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
请登录后评论...
游客游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~