DDEV端口443冲突及TYPO3数据库连接故障求助
问题根治方案
一、彻底解决443端口占用问题
- 确认占用进程来源:
lsof显示的nginx进程可能来自Docker残留容器而非系统安装包,执行ps aux | grep nginx查看进程PID与路径,若路径包含docker或/var/lib/docker,说明是容器残留进程。 - 清理DDEV相关残留资源:
ddev poweroff docker rm -f $(docker ps -aq) docker network prune -f - 修改DDEV默认端口避免冲突:
创建或编辑全局配置文件~/.ddev/global_config.yaml,添加以下内容将HTTPS端口替换为未被占用的端口(示例用4443):router_http_port: "80" router_https_port: "4443" - 验证端口修改:执行
ddev start,此时ddev-router会使用指定的新端口启动。
二、解决数据库域名解析失败问题
- 配置容器DNS服务器:
编辑项目目录下的.ddev/config.yaml,添加DNS相关配置,确保容器能正常解析db域名:web_environment: - "DNS_SERVER=8.8.8.8" db_environment: - "DNS_SERVER=8.8.8.8" web_extra_hosts: - "db:127.0.0.1" - 验证解析有效性:
若能正常ping通ddev restart ddev exec ping dbdb,说明域名解析修复完成,TYPO3的数据库连接问题将同步解决。 - 检查DDEV网络一致性:执行
docker inspect ddev_default,确认项目的web、db容器均处于DDEV默认网络内,避免自定义网络导致的隔离问题。
三、长期预防措施
- 定期清理Docker资源:每周执行一次
ddev poweroff && docker system prune -af,清理未使用的容器、镜像与网络。 - 排查系统可疑启动项:执行
systemctl list-unit-files | grep enabled,禁用未知或不需要的web服务:sudo systemctl disable --now [可疑服务名].service - 监控端口占用:定期用
ss -tulpn | grep :443检查端口使用情况,提前发现冲突。
内容的提问来源于stack exchange,提问作者peni4142
相关产品推荐
相关产品推荐

