系统配置及需求
centos7
wikijs
nodejs
postgres13
scws,zhparser(postgres 13中文检索插件)
nginx
安装nodejs、postgres13及wikijs
nodejs
- 下载nodejs安装包
wget https://nodejs.org/dist/v12.16.1/node-v12.16.1-linux-x64.tar.xz
- 解压安装包
tar xvf node-v12.16.1-linux-x64.tar.xz
- 安装
mv node-v12.16.1-linux-x64 /usr/local/
- 为node、npm建立软链接
ln -s /usr/local/node-v12.16.1-linux-x64/bin/node /usr/bin/node
ln -s /usr/local/node-v12.16.1-linux-x64/bin/npm /usr/bin/npm
- 测试nodejs
[root@itwiki wiki]# node -v
v12.16.1
安装postgres13
注:postgres13安装后,使用zhparser遇到的大坑,zhparser必须手动安装配置。
- 安装postgres13相关程序
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
yum install -y centos-release-scl
wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/epel-7.repo
yum makecache
yum install -y postgresql13 postgresql13-server postgresql13-contrib postgresql13-devel
#以上安装完后,避免遗漏,再次安装完成postgressql所有
yum install -y postgresql13*
- 启动postgres
/usr/pgsql-13/bin/postgresql-13-setup initdb
systemctl start postgresql-13
- 最好关闭防火墙
systemctl stop firewalld
- 创建用户/数据库/授权
sudo -u postgres psql
##创建用户
CREATE USER wikijs WITH PASSWORD 'wikijsrocks';
##创建数据库
CREATE DATABASE wiki OWNER wikijs;
##授权用户
GRANT ALL PRIVILEGES ON DATABASE wiki TO wikijs;
ALTER USER wikijs WITH SUPERUSER;
##退出数据库
\q
- 修改postgresql服务连接文件
cd var/lib/pgsql/13/data
vi pg_hba.conf
文章来源:https://www.toymoban.com/news/detail-782475.html
- 重启postgres
systemctl restart postgresql-13.service
安装postgres中文检索
- 安装需求扩展
yum install gcc make wget git -y
- 下载scws安装
wget http://www.xunsearch.com/scws/down/scws-1.2.3.tar.bz2
tar -xvf scws-1.2.3.tar.bz2
cd scws-1.2.3/
./configure
make
make install
##查看安装目录,返回结果才算安装成功
[root@itwiki ~]# ls /usr/local/include/scws/
charset.h crc32.h darray.h pool.h rule.h scws.h version.h xdb.h xdict.h xtree.h
- 下载zhparser源码
git clone https://github.com/amutu/zhparser.git
#将pg_config加入环境变量
cd zhparser/
export PATH=$PATH:/home/postgres/bin
#编译和安装zhparser
make
make install
- postgres添加中文检索
psql -U wikijs -d wiki
## wiki=>
-- https://docs.requarks.io/en/search/postgres
CREATE EXTENSION pg_trgm;
CREATE EXTENSION zhparser;
CREATE TEXT SEARCH CONFIGURATION pg_catalog.chinese_zh (PARSER = zhparser);
ALTER TEXT SEARCH CONFIGURATION chinese_zh ADD MAPPING FOR n,v,a,i,e,l WITH simple;
## 忽略标点影响
ALTER ROLE wikijs SET zhparser.punctuation_ignore = ON;
## 短词复合
ALTER ROLE wikijs SET zhparser.multi_short = ON;.
查看chinese_zh
\dF
##返回结果如下,则成功
List of text search configurations
Schema | Name | Description
------------+------------+---------------------------------------
pg_catalog | arabic | configuration for arabic language
pg_catalog | chinese_zh |
##测试一下
select ts_debug('chinese_zh', '白垩纪是地球上海陆分布和生物界急剧变化、火山活动频繁的时代');
- 退出 session,重新连入 postgres 数据库,关闭 wikijs superuser权限
psql -U postgres -d postgres
ALTER USER wikijs WITH NOSUPERUSER;
安装wikijs
- 下载安装包
cd usr/local
wget https://github.com/Requarks/wiki/releases/download/2.1.113/wiki-js.tar.gz
tar -xzf wiki-js.tar.gz
- 配置wikijs
cd /usr/local/wiki
## 重命名配置文件
mv config.sample.yml config.yml
vim config.yml
# 配置HTTP端口
port: 3000
# 配置数据库
db:
type: postgres
host: localhost
port: 5432
user: wikijs
pass: wikijsrocks
db: wiki
# 配置存储目录
dataPath: /data0/wiki
- 配置搜索引擎
vim /usr/local/wiki/server/modules/search/postgres/definition.yml
###enum list 添加一个元素 chinese_zh
- chinese_zh
- 保存并启动wiki.js
cd /usr/local/wiki
node server
登陆localhost:3000进行初始化
文章来源地址https://www.toymoban.com/news/detail-782475.html
配置wiki为系统服务
cat > /etc/systemd/system/wiki.service << EOF
[Unit]
Description=Wiki.js
After=network.target
[Service]
Type=simple
WorkingDirectory=/usr/local/wiki
ExecStart=/usr/bin/node server
Restart=always
User=root
Environment=NODE_ENV=production
[Install]
WantedBy=multi-user.target
EOF
[root@itwiki system]# systemctl daemon-reload
- 设置rc-local开机服务
cat > /etc/rc.local << EOF
#!/bin/bash
touch /var/lock/subsys/local
sudo -u postgres /usr/pgsql-13/bin/pg_ctl -D /data0/pgsql -l /var/log/pgsql/server.log start
EOF
[root@itwiki system]# chmod +x /etc/rc.local
cat > /etc/systemd/system/rc-local.service << EOF
[Unit]
Description=/etc/rc.d/rc.local Compatibility
ConditionFileIsExecutable=/etc/rc.d/rc.local
After=network.target
[Service]
Type=forking
ExecStart=/etc/rc.d/rc.local start
TimeoutSec=0
RemainAfterExit=yes
EOF
[root@itwiki system]# systemctl daemon-reload
[root@itwiki system]# systemctl restart wiki.service
[root@itwiki system]# systemctl status wiki.service
到了这里,关于wikijs部署及中文全文检索的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!