修改apache监听端口需先编辑主配置文件中的listen指令,再同步更新虚拟主机配置中的端口,重启服务后检查绑定状态,并开放防火墙及selinux端口权限。

直接改配置文件里的 Listen 指令就行,但得注意配套调整,否则可能启动失败或访问不到。
找到并编辑主监听配置
不同发行版路径不同:
- Debian/Ubuntu:主要看
/etc/apache2/ports.conf(有时也在apache2.conf中) - CentOS/RHEL:通常是
/etc/httpd/conf/httpd.conf
用命令快速定位:apachectl -V | grep SERVER_CONFIG_FILE
打开对应文件,找到类似这行:
Listen 80
改成你要的端口,比如:
Listen 8080
同步更新虚拟主机配置
如果启用了虚拟主机(多数情况都启),还要检查站点配置文件:
- Ubuntu/Debian:
/etc/apache2/sites-enabled/000-default.conf - CentOS/RHEL:
/etc/httpd/conf.d/下的 .conf 文件
找到 <virtualhost></virtualhost> 这类标签,把里面的 :80 改成新端口,例如:<virtualhost></virtualhost>
重启服务并验证是否生效
保存所有修改后执行:
- Ubuntu/Debian:
sudo systemctl restart apache2 - CentOS/RHEL:
sudo systemctl restart httpd
再确认 Apache 确实绑定了新端口:
sudo ss -tuln | grep :8080
看到 LISTEN 状态就说明成功了。
别漏掉防火墙和 SELinux
如果系统开了防火墙(如 firewalld 或 iptables),要放行新端口:
- firewalld:
sudo firewall-cmd --add-port=8080/tcp --permanent && sudo firewall-cmd --reload - SELinux 启用时(常见于 CentOS/RHEL),需添加端口权限:
sudo semanage port -a -t http_port_t -p tcp 8080
(若提示未安装 semanage,先运行sudo yum install policycoreutils-python)
否则即使 Apache 启动了,外部也连不上。











