背景:
服务器需要执行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 cleanAfter=network.target[Service]ExecStart=/usr/local/bin/hexo clUser=rootWorkingDirectory=/www/wwwroot/blog.tuomasi-dang.com/blog[Install]WantedBy=multi-user.target
sudo vi /etc/systemd/system/hexo-g.service
[Unit]Description=hexo generateAfter=network.target hexo-cl.service[Service]ExecStart=/usr/local/bin/hexo gUser=rootWorkingDirectory=/www/wwwroot/blog.tuomasi-dang.com/blog[Install]WantedBy=multi-user.target
sudo vi /etc/systemd/system/hexo.service
[Unit]Description=hexo serverAfter=network.target hexo-g.service[Service]ExecStart=/usr/local/bin/hexo sRestart=alwaysUser=rootWorkingDirectory=/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-clsudo systemctl start hexo-gsudo systemctl start hexo
管理hexo
sudo systemctl start hexosudo systemctl stop hexosudo systemctl restart hexosudo systemctl status hexo
补充:
网址放出去了,千万别乱搞啊,撑不住
END