服务器503 Service Unavailable错误解决指南
【问题表现】访问网站时,浏览器显示“503 Service Unavailable”或“服务暂时不可用”提示,页面无法正常加载,通常伴随长时间等待后超时。
【可能原因】
[*]服务器过载:短时间内大量请求涌入,超出CPU、内存或连接数上限。
[*]后端服务崩溃:应用程序池(如PHP-FPM、Tomcat)或Web服务(如Nginx、Apache)进程异常退出。
[*]维护或配置错误:服务器处于维护模式,或.htaccess、nginx.conf等配置文件误设拒绝规则。
[*]网络或防火墙限制:CDN回源失败、云服务商**组误拦截、端口未开放。
[*]资源耗尽:磁盘空间满、内存泄漏导致Swap占满、连接数达到系统上限。
【排查步骤】
[*]检查服务器负载:通过SSH执行**、h**或uptime查看CPU、内存使用率。负载长期超过核心数则说明过载。
[*]查看日志文件:
[*]Web日志:/var/log/nginx/error.log 或 /var/log/apache2/error.log
[*]应用日志:如PHP的 /var/log/php-fpm.log、Java的catalina.out
[*]系统日志:journalctl -xe 或 dmesg | tail
[*]测试基础连通性:用curl -I https://你的域名看返回状态码;从外部用telnet 域名 80测试端口是否通。
[*]重启服务:
[*]重启Web服务:systemctl restart nginx
[*]重启应用服务:systemctl restart php7.4-fpm
[*]检查资源占用:
[*]磁盘:df -h 查看使用率;du -sh /var/log 看日志是否过大
[*]连接数:ss -s 或 netstat -an | grep :80 | wc -l
【最终解决方案】
[*]若过载:临时增加服务器配置(升级实例内存/CPU),或开启CDN/负载均衡分散流量;优化代码降低响应时间。
[*]若服务崩溃:修复代码中的内存泄漏或死循环,重启服务后观察日志中是否重复报错。
[*]若配置文件错误:检查nginx.conf中try_files、limit_rate等指令,恢复备份或修正语法后重启。
[*]若资源耗尽:清理临时文件(/tmp)、压缩旧日志(logrotate),扩大磁盘空间或设置cron定时清理。
[*]若网络问题:检查云**组入站规则是否开放对应端口,CDN配置是否回源地址正确,联系服务商确认是否有DDoS攻击。
页:
[1]