Centos7.x安装wiki.js
-
介绍:wiki.js是开源的且界面较为美观的wiki知识管理系统,可访问官方网站(https://docs.requarks.io/)
-
安装环境:
- nginx
- sqlite3.9+
- wiki.js
-
安装 sqlite3
- 下载并解压
wget https://www.sqlite.org/2019/sqlite-autoconf-3300100.tar.gz
tar -xf sqlite-autoconf-3300100.tar.gz
cd sqlite-autoconf-3300100
备用下载地址: https://down.24kplus.com/linux/sqlite/sqlite-autoconf-3300100.tar.gz
- 编译安装
./configure --prefix=/usr
make
sudo make install
- 查看已安装版本(可选)
sqlite3 --version
3.30.1 2019-10-10 20:19:45 18db032d058f1436ce3dea84081f4ee5a0f2259ad97301d43c426bc7f3df1b0b
- 安装nginx
sudo yum install -y nginx
安装完成,启动Nginx
nginx start
测试是否安装完成,此时有显示Nginx字样代表安装成功
curl localhost:80
- 安装wiki.js
- 下载指定版本的wiki.js,当前为最新版本
wget https://github.com/Requarks/wiki/releases/download/2.5.201/wiki-js.tar.gz
- 在/var文件夹下创建wiki文件并解压下载文件
mkdir wiki
tar xzf wiki-js.tar.gz -C ./wiki
cd ./wiki
- 官方提供的文件重命名
mv config.sample.yml config.yml
- 根据当前的数据源配置wiki服务端口,数据库等连接信息
vi config.yml
因为我们使用的是sqlite,所以配置类型是sqlite,如下
db:
type: sqlite
storage: /var/wiki/sqlite/wki.sqlite
- 编译sqlite依赖
npm rebuild sqlite3
- 通过node服务直接启动,此时服务可以正常启动了,访问localhost:3000就可以看到wiki.js的页面了
node server
- 将wiki.js变成系统服务的形式常驻启动
7.1. 创建服务文件
vi /etc/systemd/system/wiki.service
输入以下配置项,/var/wiki为安装目录,并保存
[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=/var/wiki
[Install]
WantedBy=multi-user.target
7.2. 重启守护进行服务,更新列表
systemctl daemon-reload
7.3 运行wiki服务
systemctl start wiki
7.4 允许wiki开机自启动
systemctl enable wiki
注:通过journalctl -u wiki命令可以查看当前wiki服务的运行日志
8. nginx配置域名
server{
listen 80;
server_name xxxx.com;
access_log /var/log/nginx/wiki.access.log;
error_log /var/log/nginx/wiki.error.log;
charset utf-8;
client_max_body_size 50M;
location /.well-known/acme-challenge/ {
allow all;
}
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#proxy_http_version 1.1;
#proxy_set_header Upgrade $http_upgrade;
#proxy_set_header Connection "upgrade";
#proxy_next_upstream error timeout http_502 http_503 http_504;
}
}
验证配置是否正确
nginx -t
重启nginx服务
nginx -s reload