做运维、搭网站、开私服的朋友,谁没碰过服务器突然访问不了的破事?对着黑屏幕抓半天头发,啥问题都找不出来,真的能急出一头汗对吧?
别上来就捣代码改配置,先拿最基础的命令测。说白了你就把服务器当成你要找的朋友,先喊一声看他答应不答应。
打开你本地的终端,直接拼地址就行:
``` ping 你的服务器IP地址 ```如果100%丢包,那大概率是网络层的问题。要是丢包少,那继续往下查就好。
Ping完IP没问题,那就要看你用的端口(比如网站80、443,远程22)对不对,有没有开放。可以用telnet或者nc测:
``` telnet 你的服务器IP 端口号 nc -zv 你的服务器IP 端口号 ```要是连不上,那要么是端口号写错了,要么就是防火墙把你拦了,这锅十有八九是防火墙背。
很多人慌起来忘了这一步,能不能连上服务商的后台控制台?进去看看服务器CPU、内存是不是跑满了?是不是直接死机了?说白了就像你手机卡成砖头,先按电源看看还亮不亮对吧?
进了服务器后台,第一件事看你跑的服务进程还活着不,比如Nginx、Java应用进程啥的:
``` ps aux | grep 你的服务名 ```啥都搜不出来?那不用想了,进程自己挂了,直接去看日志找崩溃原因。要是进程在,那接着往下看。
看看服务是不是真的在你要的端口上蹲着,别错绑成127.0.0.1了,那外网当然访问不到啊!
``` netstat -tunlp | grep 端口号 ss -tunlp | grep 端口号 ```
如果显示只绑了127.0.0.1,赶紧改配置文件绑成0.0.0.0或者你的外网IP,改完重启服务就好,这个坑我见过无数人踩。
进程挂了或者报错,别瞎蒙,直接翻日志啊!日志就是服务的体检报告,啥毛病都写在上面了。一般默认都会存到/var/log下面,你的服务自己也会有单独的日志目录。
要是碰到突然爆错,直接看最后几行日志,大多能直接看到问题:是依赖缺了?还是端口被别的进程占了?还是配置写错了语法错了?一搜一个准。
前面都查了没问题?那大概率是被安全拦截了,这几个坑新手最容易踩。
不管是iptables还是firewalld还是ufw,有没有加规则放你的访问端口?很多人新搭服务,忘了开端口,直接被本地防火墙拦了,排查半天啥都找不到,真的扎心。
实在急着排障,可以先临时关了防火墙测一遍,要是能访问了,就回去加规则就行。
用云服务器的朋友给我记好了!这个坑90%的新手都踩过!你服务器本地防火墙开了端口,忘了去云服务商控制台的安全组加允许规则,等于白搭。
安全组就相当于小区大门的门禁,你自己家门开了,大门不让进,你照样进不来啊,就这么简单的道理。赶紧去后台看看,对应端口有没有放开访问来源。
要是你自己访问不了,换个网络或者别人就能访问,那十有八九是你的IP被服务器封了,可能是你输错密码太多次,或者触发了安全策略,去黑名单里把你IP删掉就好。
其实排查服务器异常就像看病,先从外面往里面查,先查大问题再抠小细节,别上来就瞎改配置,越改越乱。按这个路子走,绝大多数问题十来分钟就能定位,真没你想的那么复杂。
易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图