背景:
服务器需要执行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