hexo server无法打开调试博客页面问题的查证记录


今天更新博客,突然发现启动hexo server之后,使用浏览器打开127.0.0.1:4000无法加载博客的本地测试页面。
经过一番查证,发现问题出现4000端口被其他程序占用了。

在Windows中,可以使用如下命令查找得到占用4000端口的进程:

1
2
3
4
D:\>netstat -aon|findstr "4000"
TCP 127.0.0.1:80 0.0.0.0:0 LISTENING 692
D:\>tasklist|findstr "692"
FoxitProtect.exe 692 Services 0 22,780 K

是福昕阅读器的黑锅。停止掉此进程或者直接卸载对应软件后,hexo server就可以顺利加载本地测试页面了。

如果是在Linux下,也可以通过lsof命令查找占用对应端口的进程:
1
2
3
4
5
6
7
8
yubo@ubuntu:~$sudo lsof -i:22
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 1047 root 3u IPv4 9675 0t0 TCP *:ssh (LISTEN)
sshd 1047 root 4u IPv6 9678 0t0 TCP *:ssh (LISTEN)
sshd 18121 root 3u IPv4 150983 0t0 TCP 192.168.122.128:ssh->192.168.122.1:56067 (ESTABLISHED)
sshd 18188 yubo 3u IPv4 150983 0t0 TCP 192.168.122.128:ssh->192.168.122.1:56067 (ESTABLISHED)
sshd 19365 root 3u IPv4 164069 0t0 TCP 192.168.122.128:ssh->192.168.122.1:61680 (ESTABLISHED)
sshd 19423 yubo 3u IPv4 164069 0t0 TCP 192.168.122.128:ssh->192.168.122.1:61680 (ESTABLISHED)

需要注意的是,如果是知名端口号(例如这里的ssh端口号22),那么就会用字符串名称来替换掉端口号(例如这里使用:ssh替换掉了:22)。


转载请注明出处:http://blog.guoyb.com/2016/06/19/hexo-server/

欢迎关注我的微信公众号TechTalking,技术·生活·思考:
后端技术小黑屋

评论