刚接触服务器管理的新手,是不是一看到应用程序服务器弹出错误提示就慌了神?比如页面显示 “500 内部错误”,或者程序突然崩了,不知道从哪下手排查。其实应用程序服务器错误排查没那么难,掌握几个基础方法,新手也能搞定。今天小编就用大白话讲讲排查步骤,还带了真实案例,一起往下看吧!
首先给大家看个表格,常见的错误类型和简单排查方向,记不住可以先存着:
错误类型 | 常见提示 | 排查方向 |
---|---|---|
连接类错误 | “无法连接到服务器” | 检查网络、服务器是否启动 |
权限类错误 | “权限不足” | 查看文件或文件夹权限设置 |
代码类错误 | “500 内部服务器错误” | 检查程序代码、日志文件 |
资源类错误 | “内存不足” | 查看服务器内存、CPU 使用情况 |
一、排查前的准备:先做这 3 件事
问:“开始排查前,要不要准备什么工具呀?”
答:不用太复杂,有这几样基本的就行。
- 服务器登录工具:比如 Xshell、Putty,能登录服务器看状态;
- 日志查看工具:系统自带的记事本就行,用来打开错误日志文件;
- 状态查看命令:比如 “top”(看 CPU 和内存)、“ping”(测网络),记不住可以抄在纸上。
小编第一次排查时,连服务器都没登录就瞎猜原因,结果白忙活半小时。所以第一步一定要登录服务器,看实际状态。
二、通用排查步骤:按这个顺序来,少走弯路
不管遇到什么错误,按这四步查,大概率能找到原因。
- 看错误提示,记关键词
比如提示 “无法连接到服务器”,关键词是 “连接”;提示 “500 错误”,关键词是 “500”。这些关键词能帮你缩小范围,就像看病先看症状一样。 - 检查服务器是否在运行
登录服务器后,输入 “ps -ef | grep 应用名称”(比如 “ps -ef | grep tomcat”),如果有显示结果,说明程序在运行;没结果就是程序停了,输入启动命令试试(比如 “./startup.sh”)。 - 查日志文件,找具体错误
日志文件是排查的关键!一般在应用程序的 “logs” 文件夹里,比如 Tomcat 的日志在 “logs/catalina.out”。打开日志,搜刚才记的关键词,比如搜 “error”,下面会显示具体哪里错了。 - 按常见原因排除
如果日志里说 “权限不够”,就去改文件权限(输入 “chmod 755 文件名”);如果说 “内存溢出”,就重启服务器释放内存,或者增加内存配置。
三、真实案例:这两种错误怎么解决
问:“能不能举个例子?比如遇到具体错误该怎么操作。”
答:这两个是新手常遇到的案例,跟着做就行。
案例 1:Tomcat 服务器启动后,访问页面显示 “404 未找到”
- 排查过程:登录服务器后,发现 Tomcat 在运行(步骤 2 查过了);打开日志,看到 “Context initialization failed”(上下文初始化失败);
- 原因:webapps 文件夹里的程序包有问题,可能是上传时损坏了;
- 解决:重新上传程序包,重启 Tomcat,页面就能打开了。
案例 2:Java 应用运行中突然崩溃,提示 “内存不足”
- 排查过程:用 “top” 命令查看,发现内存使用率 90% 以上;日志里有 “OutOfMemoryError”;
- 原因:应用占用内存太多,超过服务器配置;
- 解决:先重启服务器临时解决,之后在启动脚本里增加内存配置(比如把 “-Xmx512m” 改成 “-Xmx1024m”)。
四、新手容易踩的坑,提前避开
问:“排查时有没有什么要注意的?别越弄越糟。”
答:这几个坑小编都踩过,提醒你注意。
- 别盲目重启服务器:有时候重启能解决问题,但最好先看日志,知道原因再重启,不然下次还会犯;
- 别乱改配置文件:改之前先备份(复制一份重命名),改坏了还能恢复;
- 别忽略网络问题:有时候不是程序错了,是服务器没联网,先 “ping 百度.com” 试试能不能通。
五、小编观点
应用程序服务器错误排查,核心是 “先看症状,再找日志,最后对症解决”。新手不用怕,刚开始慢一点没关系,多排查几次就熟练了。
如果遇到实在解决不了的问题,把日志里的错误信息复制下来,去论坛或搜索引擎搜,基本都能找到答案。其实大多数错误都是小问题,比如文件传错了、权限没设置对,耐心点都能搞定。希望这个指南能帮到你,下次遇到错误就不会慌啦。