温馨提示×

CentOS Apache如何设置端口

小樊
45
2026-08-18 21:11:53
栏目: 智能运维

CentOS 上设置 Apache(httpd)端口,通常分为 修改监听端口配置防火墙SELinux(如果开启) 三个步骤。下面以 CentOS 7/8 为例说明。


一、修改 Apache 监听端口

1. 编辑 Apache 配置文件

主配置文件路径一般为:

/etc/httpd/conf/httpd.conf

找到并修改 Listen 指令(默认是 80):

Listen 8080

如果你想同时监听多个端口:

Listen 80
Listen 8080

2. 修改虚拟主机(如有)

如果你使用了虚拟主机,也要修改对应端口:

<VirtualHost *:8080>
    DocumentRoot /var/www/html
    ServerName example.com
</VirtualHost>

3. 检查配置文件

httpd -t

没有错误后继续。


二、重启 Apache

systemctl restart httpd

设置开机启动(如未设置):

systemctl enable httpd

三、配置防火墙(firewalld)

1. 开放端口(以 8080 为例)

firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload

2. 确认端口已开放

firewall-cmd --list-ports

四、SELinux 设置(非常重要)

如果 SELinux 是 enforcing 模式,Apache 可能无法监听非标准端口。

1. 查看 SELinux 状态

getenforce

2. 允许 Apache 使用新端口

查看当前允许的 HTTP 端口:

semanage port -l | grep http_port_t

添加新端口(如 8080):

semanage port -a -t http_port_t -p tcp 8080

如果提示 semanage 不存在:

yum install -y policycoreutils-python-utils

五、验证端口是否生效

1. 本地测试

ss -lntp | grep httpd

netstat -lntp | grep httpd

2. 浏览器访问

http://服务器IP:8080

六、常见问题

❌ 访问不了?

检查顺序:

  1. Apache 是否启动
  2. 端口是否监听
  3. 防火墙是否放行
  4. SELinux 是否允许
  5. 云服务器安全组是否放行端口

七、示例:改为 HTTPS(443)

如同时启用 HTTPS:

Listen 443

并加载 SSL 模块、配置证书。


如果你能提供:

  • CentOS 版本
  • 是否云服务器
  • 是否为默认 Apache 还是宝塔/面板

我可以给你更精确的配置方案。

0