自己配置的系統服務報錯

今天在服務器上下載了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”看了日誌,但是沒有在啓動命令之後馬上查看,做了其他的操作,很重要的信息被覆蓋了。

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