CentOS 部署 wiki.js 开源维基页面
目录
QAQ 两小时建站, 因为我 Nginx 的配置文件忘记打后缀了一直没配进去.
Requiretments
node.js
首先按照要求, 安装 node.js
. 由于 yum 源的 node.js
比较老, 需要换成新版 node.js
的源, 比如 14.
curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -
然后安装
yum install -y nodejs
检查版本:
node -v && npm -v
postgresql
一个数据库, 官网推荐使用.
现已推出13版本, 直接安装13玩.
按照他的一步步来就行, 然后初始化并启动服务, 同时配置开机自启
postgresql-setup --initdb
systemctl enable postgresql.service
systemctl start postgresql.service
这个数据库不太会玩.
下载安装
按官网上说的来
下载并解压到某文件夹下:
wget https://github.com/Requarks/wiki/releases/download/2.5.214/wiki-js.tar.gz
mkdir wiki
tar xzf wiki-js.tar.gz -C ./wiki
cd ./wiki
拷贝配置文件:
cp config.sample.yml config.yml
参照官网进行一系列配置.
配置
(搞到死)
数据库
使用 postgresql
, 配置如下:
db:
type: postgres
PostgreSQL / MySQL / MariaDB / MS SQL Server only:
host: localhost
port: 5432
user: wikijs
pass: wikijsrocks
db: wiki
ssl: false
当然这里的数据库, 用户, 密码什么的都可以改. 本文按照上述进行测试.
然后需要创建用户并赋予权限, 之后创建数据库.
进入 postgres
用户(这个用户是安装 postgresql 后创建的高级用户)
su - postgres
然后进入数据库管理系统, 并执行命令, \q
退出
psql
CREATE USER wikijs WITH PASSWORD 'wikijsrocks(passwd)';
ALTER USER wikijs createdb;
\q
然后建立属于这个用户的, host 为本机的, 端口开放在 5432 的, 名为 wiki
的数据库. 这个去 linux 命令行搞:
createdb -h localhost -p 5432 -U wikijs wiki
可以进入 psql
用 \l
查看一下
到 ./wiki
目录下, 执行
node server
按照提示去 http://localhost:3000
进行进一步配置, 略.
Nginx 反代理
由于这玩意在 localhost:3000
上开的, 需要反代一下.
Nginx 的配置如下:
(可视情况配置 SSL)
server {
listen [::]:443 ssl http2;
listen 443 ssl http2;
listen [::]:80;
listen 80;
server_name example.com;
charset utf-8;
client_max_body_size 50M;
ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com/private.key;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://127.0.0.1:3000;
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;
}
}