问题描述:在服务器上成功安装了hexo,且运行起来了,但是始终无法访问4000端口。
[root@VM-4-16-centos myblog]# hexo g
INFO Validating config
INFO Start processing
INFO Files loaded in 79 ms
INFO 0 files generated in 22 ms
[root@VM-4-16-centos myblog]# hexo server
INFO Validating config
INFO Start processing
INFO Hexo is running at http://localhost:4000/ . Press Ctrl+C to stop
输入hexo g 和hexo server 两个命令后,出现上述语句,说明hexo成功运行
这时候在浏览器里输入 xxx:4000(xxx为你服务器的公网ip),如果出现下图的页面,则表示ok了
如果提示的是页面无法访问,可能是下面两个原因导致的。
1、服务器的4000端口被占用(hexo默认端口是4000)
2、服务器的4000端口没有对外开放。
解决方法:依次检查,先看4000端口是否被占用,输入lsof -i:4000命令
[root@VM-4-16-centos ~]# lsof -i:4000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
hexo 243215 root 20u IPv6 1365432 0t0 TCP *:terabase (LISTEN)
上面显示的是正常的结果,4000端口被hexo占用,那么就排除了第一种可能,这时候可以考虑第二种情况。如果显示的不是hexo,而是别的应用,就说明4000端口被其他应用占用了,这时候就要给hexo换个端口。先终止hexo程序,然后输入hexo s -p xxxx(xxxx为指定的端口号)命令重新启动。启动完成后,再去查看页面是否显示正常。
[root@VM-4-16-centos myblog]# hexo s -p 5000
INFO Validating config
INFO Start processing
INFO Hexo is running at http://localhost:5000/ . Press Ctrl+C to stop
如果还是无法正常显示,这时候就需要去服务器的控制台里查看指定的端口是否放行。
下面以腾讯云的服务器为例。
上图是4000端口配好后的显示情况,如果在这里没有看到hexo指定启动的端口,那么需要手动配置下,点击添加规则,在弹窗里配置的内容如下:
保存好规则后,无须重新启动,该端口就已经生效了。
最后在配置好的端口下重启hexo应用,访问该端口,出现下面情况表明访问成功!