You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

云VPS部署moodle-docker时8000端口访问被拒绝问题排查

Moodle-docker VPS部署8000端口连接拒绝排查方案

问题现状

  • 基于moodle-docker在云VPS部署Moodle服务,已完成域名解析到VPS公网IP,本地已拉取Moodle官方代码
  • 配置的启动环境变量如下:
export MOODLE_DOCKER_WWWROOT=~/Sources/moodle &&
export MOODLE_DOCKER_DB=mysql &&
export MOODLE_DOCKER_WEB_HOST=my-domain.my.id &&
export MOODLE_DOCKER_WEB_PORT=8000
  • 服务启动后访问my-domain.my.id:8000返回Connection refused,VPS内部curl访问同地址同端口报错一致,报错信息如下:
*   Trying 103.170.85.180:8000...
* TCP_NODELAY set
* connect to 103.170.85.180 port 8000 failed: Connection refused
* Failed to connect to my-domain.my.id port 8000: Connection refused
* Closing connection 0
curl: (7) Failed to connect to my-domain.my.id port 8000: Connection refused
  • 同VPS上部署在8085端口的自定义Web服务可正常访问,公网连通性、基础防火墙规则无全局性故障,8085端口curl测试可正常返回200响应。

排查步骤与修复方案

连接拒绝的核心原因是目标端口无进程正常监听,或服务仅绑定本地回环地址,按以下顺序排查即可定位问题:

  • 检查容器端口绑定规则
    执行docker ps查看moodle-docker web服务容器的端口映射:
    • 如果PORTS列显示为127.0.0.1:8000->80/tcp,说明服务仅绑定本地回环地址,所有走公网IP的请求(包括本机访问公网域名的请求)都会被拒绝。添加环境变量export MOODLE_DOCKER_BIND_ADDRESS=0.0.0.0后重启容器即可修复。
    • 如果PORTS列没有8000端口的映射记录,说明容器端口配置未生效,重新加载环境变量后重启moodle-docker服务。
  • 确认容器运行状态
    执行docker compose ps(旧版本Docker使用docker-compose ps)查看所有关联容器的状态:
    • 如果web容器、数据库容器状态为Exited或Restarting,说明服务未正常启动,自然不会监听端口。执行docker compose logs webserver查看web容器启动日志,常见故障点包括:
      • 配置的MOODLE_DOCKER_WWWROOT路径不存在:~/Sources/moodle是相对当前用户的路径,如果用sudo执行启动命令,~会指向root用户家目录,和普通用户家目录路径不一致,建议替换为绝对路径,例如/home/你的用户名/Sources/moodle
      • 代码目录权限不足,容器内Web服务无法读取Moodle文件
      • 数据库容器启动失败,触发web容器循环重启
  • 验证端口实际监听状态
    执行ss -tulpn | grep 8000查看8000端口的监听情况:
    • 无任何输出:确认无进程监听该端口,回到上一步排查容器启动故障
    • 监听地址为127.0.0.1:8000:回到第一步修改绑定地址为0.0.0.0
    • 监听地址为0.0.0.0:8000且进程为docker-proxy:依次执行curl http://127.0.0.1:8000、curl http://VPS内网IP:8000、curl http://VPS公网IP:8000,逐跳定位拦截点。
  • 补充规则检查
    本地127.0.0.1访问8000端口正常后,再检查两项配置:
    • 云服务商安全组入站规则是否放行8000端口的TCP请求
    • 系统防火墙(ufw/iptables)是否放行8000端口入站流量

内容的提问来源于stack exchange,提问作者rixpl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 03:36:25