今天可把我给折腾坏了!早上客户突然打电话过来说,他那边连接不上我的Serv-U服务器了。我当时一听就懵了,昨天还好好的!

检查服务状态与自我连接

赶紧跑到电脑前看,我的电脑是好好的,Serv-U的程序也开着。我这人做事比较粗线条,第一反应就是去服务里看,Serv-U FTP Server这个服务是不是‘正在运行’。点开‘服务’管理,找到它,状态显示是‘正在运行’。服务没停,这算是个好消息。

既然客户连不上,我得自己先试试。我打开了我常用的FTP客户端软件,输入我服务器的IP地址和端口21,再输入用户名密码。结果,果然,连不上!一直提示什么‘连接超时’或者‘无法连接到服务器’。这下我才意识到问题是真的来了。

排查防火墙设置

遇到这种网络连接问题,我第一个想到的就是防火墙,以前也遇到过这事儿,被防火墙莫名其妙地拦住过。赶紧进控制面板,找到Windows Defender防火墙,看了一下入站规则。我记得很清楚,之前为了Serv-U,专门开了一个端口21的规则。看了看,规则还在,而且是允许连接的。但是我不放心,琢磨着会不会突然被什么东西给堵了?干脆,我把防火墙暂时给关掉测试一下,看看是不是它的事儿。关了防火墙,我再用FTP客户端连接,结果还是不行!这下我就有点挠头了。不是防火墙的事儿,那是

核对Serv-U自身配置

既然不是防火墙,那我就得从Serv-U本身找问题了。我打开Serv-U的管理界面,仔细看了一遍。主要就是看那个‘域’设置,确保它正在监听正确的IP地址和端口。我的Serv-U一般都绑在0.0.0.0上,就是所有可用IP都监听,端口是21。这个地方看了一圈,没发现有啥问题,都是我之前设置好的样子,没有任何改动。

检查路由器端口转发

客户是从外面连我的服务器,那路由器那头的端口映射有没有问题?我登录到路由器后台,找到端口转发或者DMZ设置。我记得很清楚,之前都设置好了的,21端口是映射到我这台电脑的内网IP。检查了一遍,确实没改过。之前能正常用,说明设置是没毛病的。可是为什么客户就连不上?我开始有点抓狂了,感觉所有能想到的地方都检查过了,但问题还在那里。

通过日志文件发现线索

正当我一筹莫展的时候,我突然想到,Serv-U不是有日志吗?这种服务类的软件,出问题了肯定会在日志里留下点蛛丝马迹。赶紧找到Serv-U的日志文件,打开一看,里面密密麻麻的,全是记录。我从最新的一条开始往前翻,仔细看每一条信息。翻着翻着,我眼睛一下就亮了,看到好几条都是‘Error: Unable to bind to port 21: Address already in use’这种错误信息!

‘Address already in use’?端口被占用了?我这才反应过来,是不是有别的程序偷偷跑起来,占了我的21端口?如果是这样,Serv-U自然就没法绑定到21端口,也就没法对外提供服务了!

定位并解决冲突

找到问题所在,就好办了。我赶紧打开任务管理器,找到‘性能’标签,然后打开‘资源监视器’。在‘网络’那里,把‘侦听端口’那一项展开,然后通过搜索框搜索21端口。结果一出来,我傻眼了!竟然是另一个FTP软件在偷偷运行!我之前为了测试另一个项目,图方便装了一个小巧的FTP工具,平时用完就忘记关了。结果它竟然把我Serv-U的端口给占了!

找到这个捣乱的程序,我立马就把它给关掉了。然后回到Serv-U的服务管理那里,对着Serv-U FTP Server服务右键,选择了重启。等它重新显示‘正在运行’后,我自己的FTP客户端再一连,‘滴’的一声,连上了!所有文件目录都出来了,简直是久旱逢甘霖!

赶紧打电话给客户,让他再试试,他那边也很快告诉我,‘好了,能连了!’。搞了半天,原来是这么个乌龙。一个小小的软件,把我折腾了快一个上午。所以说,遇到这种连接问题,服务、防火墙、端口映射这些都要查,但别忘了,还有可能就是‘端口被占用’这种小细节,一定要去日志里翻翻看看!今天这事儿也给我提了个醒,以后安装这类服务软件,一定要注意检查端口冲突。不然真的能把人搞得团团转。

免责声明:喜欢请购买正版授权并合法使用,此软件只适用于测试试用版本。来源于转载自各大媒体和网络。 此仅供爱好者测试及研究之用,版权归发行公司所有。任何组织或个人不得传播或用于任何商业用途,否则一切后果由该组织及个人承担!我方将不承担任何法律及连带责任。 对使用本测试版本后产生的任何不良影响,我方不承担任何法律及连带责任。 请自觉于下载后24小时内删除。如果喜欢本游戏,请购买正版授权并合法使用。 本站内容侵犯了原著者的合法权益,可联系我们进行处理。