在 CentOS 上配置 Apache(httpd)端口,一般步骤如下(以 CentOS 7/8 为例):
sudo vi /etc/httpd/conf/httpd.conf
找到这一行(默认是 80):
Listen 80
改成你需要的端口,例如:
Listen 8080
如果有多个端口:
Listen 80
Listen 8080
如果你配置了虚拟主机:
sudo vi /etc/httpd/conf.d/your-site.conf
修改:
<VirtualHost *:8080>
DocumentRoot /var/www/html
ServerName example.com
</VirtualHost>
CentOS 默认开启 SELinux,不配置会导致端口无法访问。
semanage port -l | grep http_port_t
sudo semanage port -a -t http_port_t -p tcp 8080
如果提示 semanage 不存在:
sudo yum install policycoreutils-python-utils -y
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload
查看是否生效:
sudo firewall-cmd --list-ports
sudo systemctl restart httpd
设置开机启动(如未设置):
sudo systemctl enable httpd
浏览器访问:
http://服务器IP:8080
或命令行:
curl http://localhost:8080
✅ 端口改了但访问不了
netstat -tunlp | grep httpd
✅ 想用 80 以外的端口做生产环境
如果你用的是 CentOS 6 / Apache 2.2 / 宝塔 / Docker,可以告诉我,我可以给你对应方案。