wiki.js配置为系统服务

张志军 10个月前 (01-17) 1246次浏览 0个评论

wiki.js是一个开源的知识管理系统,可以自用,也可以作为团队的知识管理系统使用。具体的安装方式可参考:https://docs.requarks.io/install本文主要介绍wiki.js安装完成后,如何作为一个后台服务自动运行,而不是每次都通过node server执行。在wiki.j......

wiki.js是一个开源的知识管理系统,可以自用,也可以作为团队的知识管理系统使用。具体的安装方式可参考:https://docs.requarks.io/install

本文主要介绍wiki.js安装完成后,如何作为一个后台服务自动运行,而不是每次都通过node server执行。

在wiki.js的安装指导中,有一个章节是介绍如何将wiki.js作为一个后台服务运行的,具体的配置方法如下:

1、在/etc/systemd/system目录下新建wiki.service文件

2、复制如下内容到service文件中

[Unit]
Description=Wiki.js
After=network.target

[Service]
Type=simple
ExecStart=/usr/bin/node server
Restart=always
# Consider creating a dedicated user for Wiki.js here:
User=nobody
Environment=NODE_ENV=production
WorkingDirectory=/tools/wiki-js
[Install]

WantedBy=multi-user.target

3、重载systemd

systemctl daemon-reload

4、启动wiki服务

systemctl start wiki

5、设置开机启动

systemctl enable wiki

按照如上方式设置后,使用journalctl -u wiki.service查看日志,发现wiki.js服务启动失败,通过浏览器访问,确实也是失败的。

1月 16 10:24:23 ZHANGZHIJUN systemd[1]: Started Wiki.js.
1月 16 10:24:23 ZHANGZHIJUN systemd[48476]: wiki-js.service: Changing to the requested working directory failed: Permis>
1月 16 10:24:23 ZHANGZHIJUN systemd[48476]: wiki-js.service: Failed at step CHDIR spawning /data/tools/node-v20.5.1-lin>
1月 16 10:24:23 ZHANGZHIJUN systemd[1]: wiki-js.service: Main process exited, code=exited, status=200/CHDIR
1月 16 10:24:23 ZHANGZHIJUN systemd[1]: wiki-js.service: Failed with result 'exit-code'.
1月 16 10:24:23 ZHANGZHIJUN systemd[1]: wiki-js.service: Scheduled restart job, restart counter is at 5.

通过分析以上日志,应该是访问权限的问题。网上查阅了systemctl的使用方法,发现service段,可以增加两个参数User和Group,两个参数的描述如下:

User: 指定运行服务的用户,会影响服务对本地文件系统的读写执行权限。

Group: 指定运行服务的用户组,会影响服务对本地文件系统的访问权限。

因此将wiki.service的service段修改User和增加Group两个字段后重启加载和启动服务,wiki.js可以正常启动了。修改后的配置文件如下:

[Unit]
Description=Wiki.js
After=network.target

[Service]
Type=simple
ExecStart=/usr/bin/node server
Restart=always
# Consider creating a dedicated user for Wiki.js here:
User=zhangzhijun
Group=zhangzhijun
Environment=NODE_ENV=production
WorkingDirectory=/tools/wiki-js

[Install]
WantedBy=multi-user.target

参考资料:

https://docs.requarks.io/install

https://www.cnblogs.com/WindrunnerMax/p/14407204.html

0 0 投票数
文章评分

版权申明:

本博客所有文章除特别声明外均采用BY-NC-SA 4.0许可协议。依据BY-NC-SA 4.0许可协议,转载请附上原文出处链接及本声明。

原文链接:https://ilearning.org.cn/program/wiki-js-peizhi-wei-xitong-fuwu.html

客官,说点什么吧!

订阅评论
提醒
guest

0 评论
内联反馈
查看所有评论
关于本站
立学网是一个分享个人学习总结的知识网站,内容覆盖编程技术讨论,金融经济,历史哲学,读书笔记,生活随笔等内容。
关注我们
关注微信公众号 关注微博