自己配置的系统服务报错

今天在服务器上下载了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”看了日志,但是没有在启动命令之后马上查看,做了其他的操作,很重要的信息被覆盖了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章