在 CentOS 上,Apache 通常叫 httpd(不是 apache2,apache2 一般是 Debian/Ubuntu 的叫法)。下面分情况说明:
vi /etc/httpd/conf/httpd.conf
找到这一行:
Listen 80
改成你想要的端口,例如:
Listen 8080
如果你有多个端口:
Listen 8080
Listen 9090
如果你配置了 <VirtualHost>,也要改:
<VirtualHost *:8080>
systemctl restart httpd
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload
systemctl stop firewalld
如果开启 SELinux,可能访问不了:
semanage port -l | grep http_port_t
semanage port -a -t http_port_t -p tcp 8080
netstat -tunlp | grep httpd
或
curl http://localhost:8080
有些 CentOS 装的是 Apache 源码版或第三方包:
vi /etc/apache2/ports.conf
修改:
Listen 8080
然后:
apachectl restart
如果你愿意,可以告诉我:
httpd 还是 apache2我可以一步一步帮你排错。