由于Hexo自带的Hexo Server默认是在前台调用,如果不小心关掉ssh连接,或者为了省事直接使用hexo server拉起静态Web服务,就需要把hexo server配置为后台服务。以下,使用系统默认的Systemd来管理hexo的web服务。

# 编辑service脚本
#vim /usr/lib/systemd/system/hexo.service

[Unit]
Description=Hexo server

[Service]
ExecStart=/usr/local/bin/hexo server
Restart=always
User=[使用文件owner用户名]
Group=[使用文件owner用户组名]
Environment=PATH=/usr/bin:/usr/local/bin
WorkingDirectory=/home/[使用文件owner]/blog/
StandarOutput=syslog
StandarError=syslog
SyslogIdentifier=hexo

[Install]
WantedBy=multi-user.target

配置完成之后,设置服务自启动,并检查服务运行状态

#systemctl daemon-reload
#systemctl enable --now hexo.service
#systemctl status hexo.service
● hexo.service - Hexo server
Loaded: loaded ( /usr/lib/systemd/system/hexo.service; enabled; preset: disabled )
Active: active ( running ) since Tue 2023-06-27 22:32:24 CST; 7s ago
Main PID: 30567 ( hexo )
Tasks: 12 ( limit: 4288 )
Memory: 168. 6M
CPU: 9. 803s
CGroup: /system.slice/hexo.service
└─30567 hexo

Jun 27 22:32:27 wulanchabu hexo[30567]: ============================================================>
Jun 27 22:32:27 wulanchabu hexo[30567]: ##### # # ##### ##### ###### ##### ###### # # >
Jun 27 22:32:27 wulanchabu hexo[30567]: # # # # # # # # # # # #>
Jun 27 22:32:27 wulanchabu hexo[30567]: ##### # # # # ##### # # ##### # #
Jun 27 22:32:27 wulanchabu hexo[30567]: # # # # # # # ##### # # #
Jun 27 22:32:27 wulanchabu hexo[30567]: # # # # # # # # # # # #
Jun 27 22:32:27 wulanchabu hexo[30567]: ##### #### # # ###### # # # ###### #
Jun 27 22:32:27 wulanchabu hexo[30567]: 4. 9. 0
Jun 27 22:32:27 wulanchabu hexo[30567]: ============================================================>
Jun 27 22:32:28 wulanchabu hexo[30567]: INFO Start processing
# 检查端口
#netstat -tlnp
Active Internet connections ( only servers )
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0. 0. 0. 0:80 0. 0. 0. 0:* LISTEN 9484/nginx: master
tcp6 0 0 :::4000 :::* LISTEN 30567/hexo
tcp6 0 0 :::80 :::* LISTEN 9484/nginx: master