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

AWS EC2实例网站自动停止,访问8000端口遭拒请求协助排查

排查与恢复AWS EC2实例网站的步骤

1. 确认EC2实例状态

  • 登录AWS控制台进入EC2服务,检查目标实例是否处于运行中状态。若已停止,右键选择「启动实例」。
  • 查看实例的系统状态检查和实例状态检查结果,若有失败项,优先尝试重启实例修复。

2. 检查服务器上的网站进程

  • 通过SSH连接EC2实例(使用对应密钥对),执行命令排查8000端口的运行进程:
    sudo lsof -i :8000
    或
    sudo netstat -tulpn | grep 8000
  • 若无进程返回,说明服务已停止,手动启动对应服务:比如Django/Flask应用执行python manage.py runserver 0.0.0.0:8000,或通过systemctl start your-service-name启动托管服务。

3. 验证安全组规则

  • 进入实例的安全组配置页面,确认已添加入站规则:允许TCP协议的8000端口,来源可临时设为0.0.0.0/0(测试完成后建议限制为特定IP段)。
  • 同时检查出站规则是否允许服务器向外发起请求(如依赖拉取、数据库连接等)。

4. 排查服务器本地防火墙

  • 连接实例后,检查防火墙是否拦截8000端口:
    • 若使用ufw:执行sudo ufw status,确认已添加ufw allow 8000/tcp规则;
    • 若使用iptables:执行sudo iptables -L,查看是否存在拒绝8000端口的规则,如有则删除或添加允许规则。

5. 分析服务崩溃原因

  • 查看服务日志定位问题:
    • systemd托管的服务:sudo journalctl -u your-service-name -f
    • 应用自身日志:进入项目目录执行tail -f app.log(日志文件名根据实际情况调整)
  • 日志中通常会记录内存不足、依赖缺失、配置错误等导致服务停止的信息,针对性修复即可。

6. 配置服务自动重启

  • 使用systemd配置服务自动重启,避免再次意外停止。示例配置文件(路径/etc/systemd/system/your-service.service):
    [Unit]
    Description=你的Web应用服务
    After=network.target
    
    [Service]
    User=ubuntu
    WorkingDirectory=/你的项目路径
    ExecStart=/usr/bin/python manage.py runserver 0.0.0.0:8000
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    
  • 执行sudo systemctl daemon-reload和sudo systemctl enable your-service.service使配置生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 17:25:18