ubuntu lamp端口冲突怎么解决
导读:Ubuntu LAMP 端口冲突排查与解决 一、快速定位占用端口的进程 查看是否有服务在占用 80/443(HTTP/HTTPS)或 3306(MariaDB/MySQL): 查看端口占用与进程: sudo ss -tulpen |...
Ubuntu LAMP 端口冲突排查与解决
一、快速定位占用端口的进程
- 查看是否有服务在占用 80/443(HTTP/HTTPS)或 3306(MariaDB/MySQL):
- 查看端口占用与进程:
- sudo ss -tulpen | grep -E ‘:(80|443|3306)’
- 或 sudo lsof -i :80 -sTCP:LISTEN
- 查看端口占用与进程:
- 若发现冲突,记录 PID 与进程名,再决定是停止该进程还是调整 LAMP 的监听端口。以上方法适用于快速确认“谁在占用端口”。
二、常见冲突场景与处理
- 与 Nginx 同时安装导致 80 冲突
- 二选一:停止其中一个服务,或让其中一个改用其他端口(如 8080)。
- 修改 Apache 端口:编辑 /etc/apache2/ports.conf,把 Listen 80 改为 8080(如有 443,同步改为 8443),并确认虚拟主机配置(如 /etc/apache2/sites-available/000-default.conf)中的端口一致,然后重启 Apache。
- 访问方式随之变为 http://服务器IP:8080。
- 本机已有服务占用 80/443
- 停止或迁移占用者(如旧版 Web 服务),或改用未占用的端口(如 8080/8443),并同步更新防火墙放行规则。
- 修改了端口后浏览器访问不到
- 确认访问 URL 带端口号(例如 IP:8080),并确保云服务器安全组/本机防火墙已放行对应端口。
三、修改 LAMP 各组件的监听端口
- Apache
- 主配置:/etc/apache2/ports.conf(设置 Listen 80/443 或 8080/8443)。
- 虚拟主机:编辑对应站点配置(如 /etc/apache2/sites-available/000-default.conf)中的端口,保持一致。
- 生效:sudo systemctl restart apache2。
- MariaDB/MySQL
- 配置文件:/etc/mysql/mysql.conf.d/mysqld.cnf,将 port = 3306 改为 3307 等未占用端口。
- 生效:sudo systemctl restart mysql。
- 防火墙放行新端口(UFW)
- 放行示例:sudo ufw allow 8080/tcp;如需放行 8443/tcp 也一并放行;如仍使用 3306,放行 3306/tcp。
- 使规则生效:sudo ufw reload。以上步骤覆盖 Apache 与 MariaDB/MySQL 的常用端口调整路径。
四、验证与日志排错
- 服务状态与连通性
- 查看服务:systemctl status apache2、systemctl status mysql。
- 访问测试:http://服务器IP:端口/(或本地 http://127.0.0.1:端口/)。
- 日志定位
- Apache:/var/log/apache2/error.log
- MySQL:/var/log/mysql/error.log
- 系统:/var/log/syslog
- 若端口被异常占用或进程残留
- 结束进程后再启动服务;必要时用 ss/lsof 复核端口是否已释放,避免“端口占用”反复出现。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu lamp端口冲突怎么解决
本文地址: https://pptw.com/jishu/748484.html
