一零七七、将Hexo cl && Hexo g && Hexo s通过systemctl命令管理

背景:

服务器需要执行hexo s来运行项目,但这个命令是基于前台的,故想直接嫁接在systemctl命令基础上来控制
环境:
Centos 8

前置环境就不说了,Hexo安装好,起码装完自己得先看hexo命令生效没,前置环境做好后
1、先把hexo的命令建个软链

ln -s /usr/local/software/node-v19.0.0-linux-x64/lib/node_modules/hexo-cli/bin/hexo /usr/local/bin/hexo

不是很明白的话直接看图,这样会方便很多

 2、创建三个脚本(位置不要改)

sudo vi /etc/systemd/system/hexo-cl.service
    [Unit]
   Description=hexo clean
   After=network.target

   [Service]
   ExecStart=/usr/local/bin/hexo cl
   User=root
   WorkingDirectory=/www/wwwroot/blog.tuomasi-dang.com/blog

   [Install]
   WantedBy=multi-user.target
sudo vi /etc/systemd/system/hexo-g.service
    [Unit]
   Description=hexo generate
   After=network.target hexo-cl.service

   [Service]
   ExecStart=/usr/local/bin/hexo g
   User=root
   WorkingDirectory=/www/wwwroot/blog.tuomasi-dang.com/blog

   [Install]
   WantedBy=multi-user.target
sudo vi /etc/systemd/system/hexo.service
   [Unit]
   Description=hexo server
   After=network.target hexo-g.service

   [Service]
   ExecStart=/usr/local/bin/hexo s
   Restart=always
   User=root
   WorkingDirectory=/www/wwwroot/blog.tuomasi-dang.com/blog

   [Install]
   WantedBy=multi-user.target

注:WorkingDirectory的目录简单来说就是你的hexo工作目录,直白点就是在这个目录下,你的hexo命令是可以运行的

3、刷新systemctl配置

   sudo systemctl daemon-reload

4、然后就可以通过这些命令来进行管理
eg:
启动hexo

    sudo systemctl start hexo-cl
    sudo systemctl start hexo-g
    sudo systemctl start hexo

管理hexo

   sudo systemctl start hexo
   sudo systemctl stop hexo
   sudo systemctl restart hexo
   sudo systemctl status hexo

补充:
网址放出去了,千万别乱搞啊,撑不住


END