通常hexo被用于创建静态站点,然后部署在GitHub等支持静态网站托管的平台。但hexo本身也支持启动一个简单的http server,用于在浏览器中实时显示编辑的内容。如果我们能让这个服务运行在后台,一方面无需每次手动拉起,另一方面可以当作一个小站点使用,并且支持实时更新。
安装Node.js
如果要让Node.js应用在开机后以root用户启动,我们需要把Node.js安装到根目录,而不是家目录。这里以Debian为例,其它系统参可以参考Installing Node.js via package manager。
1 2
| curl -fsSL https://deb.nodesource.com/setup_current.x | sudo bash - sudo apt install -y nodejs
|
安装hexo
1
| sudo npm install -g hexo-cli
|
创建systemd服务
创建/lib/systemd/system/hexo.service
文件,将/home/[yourdirectory]/blog
替换成hexo的根目录:
1 2 3 4 5 6 7 8 9 10 11 12 13
| [Service] WorkingDirectory=/home/[yourdirectory]/blog ExecStart=/bin/hexo server -p80 Restart=always StandardOutput=syslog StandardError=syslog SyslogIdentifier=hexo User=root Group=root Environment=NODE_ENV=production
[Install] WantedBy=multi-user.target
|
启动hexo服务
1 2 3
| sudo systemctl enable hexo.service sudo systemctl start hexo.service sudo systemctl status hexo.service
|
参考
A systemD unit file for Hexo