前言

网上冲浪确实快乐。

最近冲着冲着就碰到一个好东西,一个开源的搜索引擎。

摸摸手上的键盘,手不自觉动了起来,花了些时间在自己的服务器上装了一个。

于是有了这篇文章,旨在记录下安装过程。

本文部署过程基于Ubuntu18.04和宝塔面板

介绍

信安搜索

优点:开源,聚合,高隐私,简洁

项目地址

github

Demo

官方:DEMO (已挂)

我的:咕咕咕

部署过程

准备工作

Linux VPS一个

后端部署

准备

  • 安装NginxNodejs

宝塔面板自带Nginx安装功能不再赘述,Nodejs在Ubuntu18.04默认仓库里版本只有老版本8.10.0,而且不带npm,因而需要nodesource来安装指定版本的Nodejs。这里选用12.x版本。

1
2
3
4
cd ~
curl -sL https://deb.nodesource.com/setup_12.x | sudo bash -
sudo apt update
sudo apt install nodejs
  • 另外两个包
1
2
apt install default-jre
apt install chromium-chromedriver

版本
注意,这里要记下安装的版本号,我的版本是85.0.4183.83,后面要用。

安装

1
2
git clone https://github.com/xinahn/xinahn-socket
cd xinahn-socket && npm install

装完之后,需要替换成对应版本的chromedriver。
首先到谷歌官方下载之前记下来的版本号的chromedriver,选择对应平台的版本,我这里下载的是linux版本chromedriver_linux64.zip,解压出一个chromedriver文件。

然后到xinahn-socket根目录下替换原来的chromedriver文件。

执行API

Antenna.js:只需跑一个

1
node antenna.js

Minion.js:依照需求开启多个,且一定要在非root用户下运行。

1
su - username -c node minion.js ##指定某某用户运行minion.js

Username替换成你的非root用户名。

如果前面替换了正确的chromedriver,这里就不会报错。

Nginx 设置

将以下代码黏贴于/etc/nginx/sites-available/default.conf之中

1
2
3
4
5
6
7
server {
...
location ^~ /api/ {
proxy_pass http://localhost:4100;
}
...
}

宝塔面板安装的Nginx没有对应路径,这里我把代码插在站点的配置文件里。

然后重启Nginx:

1
service nginx reload

前端

安装

1
2
3
git clone https://github.com/xinahn/xinahn-client
cd xinahn-client && npm install
npm run build

这时前端文件生成build目录下。

Nginx 设置

将以下代码粘贴于/etc/nginx/sites-available/default.conf之中,并且记得置换YOUR_CLIENT_DIRECTORY为你的xinahn-client位置

1
2
3
4
5
6
7
8
server {
...
root YOUR_CLIENT_DIRECTORY/xinahn-client/build;
location / {
try_files $uri $uri /index.html;
}
...
}

这里我粘贴在同个站点的配置文件里,需要注意的是,这里定义了root和配置文件前面的root一行会有冲突,记得注释前面root那一行。

重启Nginx

1
service nginx reload

运行

后端执行两个api,需要用到进程守护。我这里直接用shell脚本定时运行。

参考

1.https://www.cnblogs.com/forheart/p/13203249.html