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