服务公告

服务公告 > 常见问题 > 网站打不开但服务器没宕机:先看这五个地方

网站打不开但服务器没宕机:先看这五个地方

发布时间:2026-10-14 11:22
## 第一个地方:Web 进程 SSH 能登上服务器,说明机器活着,问题多半在应用层。先看进程在不在: ```bash systemctl status nginx systemctl status php-fpm ``` inactive 或 failed 就是进程没了,start 拉起并翻日志看为什么退的。进程在但卡死(长时间无响应、重启后只能好一阵),日志里找内存耗尽或上游超时的记录。进程反复退出还要查是否被系统 OOM 杀掉,dmesg 里有证据。 ## 第二个地方:端口监听 进程活着但没听对端口,等于没开门。ss -tlnp 确认 80 与 443 的监听状态与监听地址:监听在 127.0.0.1 就只有本机能访问,要改成 0.0.0.0 或指定对外地址;端口被别的进程占了,nginx 起不来,错误日志里写得很清楚。监听检查时顺手看 ss 输出的等待队列有没有堆积。 ## 第三个地方:防火墙 两层都要过:顺云控制台的防火墙规则放行 80 与 443 了吗,系统内 firewalld 或 iptables 放行了吗。快速分层的技巧:本机 curl 127.0.0.1 通、外部不通,问题在防火墙层;本机都不通,问题在应用与监听层。这个二分法三秒钟定位一半的"打不开"。改防火墙规则时先加新规则再删旧的,顺序错了会把自己锁在门外。 **第四个地方:磁盘满。**磁盘写满会让一切依赖写入的东西失灵:数据库写不进、日志落不了盘、会话文件创建失败,页面直接报 500。df -h 一眼看到 100% 就是它。处理顺序:清出紧急空间(清大日志、过期备份),再按定位工具找增长源头,根治靠日志轮转与容量规划。这是被严重低估的常见原因,磁盘满还会连带数据库挂起,进程仍在但写入全部报错,更迷惑人。 ## 第五个地方:证书过期 HTTPS 证书过期后,部分浏览器直接拦截页面,用户描述为"打不开",实际是加密层被拒。查看有效期: ```bash openssl s_client -connect 127.0.0.1:443 2>/dev/null | openssl x509 -noout -enddate ``` 过期就手动续期,再补上自动续期任务防复发。五个地方按序过完,绝大多数"机器没宕但网站打不开"都能收口,剩下的边缘情况再看数据库与外部依赖。五个地方各配一条常用命令贴进工单模板,值班同学照单跑完就有结论。