马上注册,免费下载更多dz插件网资源。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
如果是CentOS 7.x版本旧版Linux系统看这个教程:
可可迅搜插件服务端+后端插件安装教程图文傻瓜式引导+配置教程
https://www.dz-x.net/t/49549/1/1.html
来自: DZ插件网
对于2025年之后的主流稳定系统Debian 12.x版本,需要基于上述教程进行变通:
- xunsearch 项目已多年未更新(最新版 1.4.17 发布于 2018 年),其依赖(如 libevent 2.0.21、xapian 1.4.20)都较旧,在新系统上容易出现兼容性问题。
如果你之前直接按照旧版系统的操作没有编译安装成功迅搜的服务端的话:
# 1. 清理失败的目录(如果不清理,缓存的配置可能导致再次失败)
- cd ~
- rm -rf xunsearch-full-1.4.17
复制代码 # 2. 重新解压
- tar -xjf xunsearch-full-1.4.17.tar.bz2
复制代码
# 3. 再次确认依赖(Debian 12 编译环境)
- apt update
- apt install build-essential libevent-dev libncurses5-dev uuid-dev zlib1g-dev
复制代码 第二步:修正路径检测(关键步骤)
我们需要建立一个临时的软链接(Symlink)。这比修改 setup.sh 脚本更安全、更快捷,因为它能精确满足脚本的查找逻辑,且安装后容易清理。 Xunsearch 的脚本会在 /usr/lib 下找库文件,我们把它指引到真正的 Debian 库存放位置。 # 建立临时软链接,让 setup.sh 能在它期望的旧路径下找到文件
- ln -s /usr/lib/x86_64-linux-gnu/libevent.so /usr/lib/libevent.so
- ln -s /usr/lib/x86_64-linux-gnu/libevent.a /usr/lib/libevent.a
复制代码 修改 setup.sh(核心操作)
我们需要编辑安装脚本,让它不再去“检测”libevent,而是直接“认定”已安装。 进入迅搜解压出来的目录: - cd ~/xunsearch-full-1.4.17
复制代码为防止出错,给出一个最简单的操作: 宝塔面板的文件管理里面,直接输入路径:/root/xunsearch-full-1.4.17 双击:setup.sh Ctrl+A,全选替换为下面内容: 然后保存。 第三步:再次执行安装
现在,脚本被我们“硬编码”了,它会认为系统里有 libevent,并跳过自带版本的编译。 第四步:验证与清理(严谨收尾)
安装完成后,为了保持系统纯净(Professional Hygiene),建议删除刚才建立的临时软链接。 # 1. 删除临时软链接(不影响已编译好的程序,因为二进制文件已经链接到了真实路径)
- rm /usr/lib/libevent.so
- rm /usr/lib/libevent.a
复制代码# 2. 启动 Xunsearch 验证
- /usr/local/xunsearch/bin/xs-ctl.sh restart
复制代码# 3. 检查进程是否正常运行
第五步:写入系统服务、配置开机自启 (Systemd 方案)(保证系统重启正常使用)
# 创建服务文件:
- vi /etc/systemd/system/xunsearch.service
复制代码 # 写入以下配置(直接复制粘贴):
- [Unit]
- Description=Xunsearch Full-Text Search Engine
- Documentation=http://www.xunsearch.com/doc/
- After=network.target remote-fs.target nss-lookup.target
- [Service]
- # 回归 forking 模式,这是最适合 xs-ctl.sh 的模式
- Type=forking
- # 【关键修改】不要配置 PIDFile,让 Systemd 自动跟踪进程组
- # PIDFile=/usr/local/xunsearch/data/xs-searchd.pid
- # GuessMainPID=no
- # 启动、停止、重启命令
- ExecStart=/usr/local/xunsearch/bin/xs-ctl.sh start
- ExecStop=/usr/local/xunsearch/bin/xs-ctl.sh stop
- ExecReload=/usr/local/xunsearch/bin/xs-ctl.sh restart
- # 失败自动重启
- Restart=on-failure
- RestartSec=5s
- # 运行用户
- User=root
- Group=root
- # 【关键修改】防止脚本因为输出缓冲区满而卡住
- StandardOutput=null
- StandardError=journal
- [Install]
- WantedBy=multi-user.target
复制代码
保存并退出。
激活服务并验证
现在,我们要将管理权移交给 systemd。 重载配置并设置开机自启: - systemctl daemon-reload
- systemctl enable xunsearch
复制代码 (重要): 先停止刚才手动启动的进程,改用 systemd 启动,确保护航无误。
# 先停止手动运行的实例【连续两次,确保停止干净】
- /usr/local/xunsearch/bin/xs-ctl.sh stop
- /usr/local/xunsearch/bin/xs-ctl.sh stop
复制代码 # 强制杀掉所有相关进程
- pkill -f xs-indexd
- pkill -f xs-searchd
复制代码 # 使用 systemd 启动
- systemctl start xunsearch
复制代码
# 查看状态:
- systemctl status xunsearch
复制代码
预期结果: 看到绿色的 Active: active (running),且下方日志没有报错。
最终核验
最后一步,检查端口监听状态,确保服务对外可用。 - netstat -tunlp | grep xs-
复制代码
©DZ插件网所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。 本站内容为站长个人技术研究记录或网络,不提供用户交互功能,所有内容版权归原作者所有。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,得到更好的正版服务。 您在本站任何的赞助购买、下载、查阅、回复等行为等均表示接受并同意签订《DZ插件网免责声明协议》。 如有侵权请邮件与我们联系处理: discuzaddons@vip.qq.com 并出示相关证明以便删除。敬请谅解!
|