今天在服务器上下载了hexo,准备搭建博客,安装好了之后想把hexo配置成系统服务,这样管理起来就能方便些。结果开始一直不行报错,最后搞了好几个小时。
配置完了之后“systemctl start hexo”,然后"systemctl status hexo",发现没成功启动,“Active: failed (Result: start-limit)”。从这里踏上了谷歌的漫漫路,根据报错的信息不断找,不断试,就是不行。
终于有一次灵机一动,输入“systemctl start hexo”之后马上输了“journalctl -xe”,看到有一行“/usr/bin/env: node: No such file or directory”,搜了一下原来是找不到“/usr/bin/node”,用“ln -s $(which node) /usr/bin/node”建立了nodejs的软链接,终于可以了。
看到“Loaded: loaded (/usr/lib/systemd/system/hexo.service; enabled; vendor preset: disabled)”以为跟最后面的这个disable有关系,其实它的意思是这个服务首次安装时默认是不随机启动的,需要手动设置自启动,也就是用“systemctl enable xxx.service(不要.service也可以)”。
总结
这次踩坑让我最深的体会就是,遇到报错一定不要一通瞎搜索,先看看日志比什么都重要。前面也用“journalctl -xe”看了日志,但是没有在启动命令之后马上查看,做了其他的操作,很重要的信息被覆盖了。