![Debian 11,多个 Solr 版本在不同端口上运行,lsof 说 Solr9 只能从 localhost.localdomain 访问](https://linux22.com/image/781855/Debian%2011%EF%BC%8C%E5%A4%9A%E4%B8%AA%20Solr%20%E7%89%88%E6%9C%AC%E5%9C%A8%E4%B8%8D%E5%90%8C%E7%AB%AF%E5%8F%A3%E4%B8%8A%E8%BF%90%E8%A1%8C%EF%BC%8Clsof%20%E8%AF%B4%20Solr9%20%E5%8F%AA%E8%83%BD%E4%BB%8E%20localhost.localdomain%20%E8%AE%BF%E9%97%AE.png)
我有一台运行 Solr 7.3 的 Debian 9 服务器。我已升级到 Debian 11,Solr 仍然运行正常。
现在,我尝试同时安装 Solr 9 和 Solr 7.3,以便同时运行两个版本。我遵循了官方指南。
bash ./install_solr_service.sh solr-9.0.0.tgz -i /opt -d /var/solr9 -u solr -s solr9 -p 8984
安装似乎工作systemctl status solr9.service
正常
● solr9.service - LSB: Controls Apache Solr as a Service
Loaded: loaded (/etc/init.d/solr9; generated)
Active: active (exited) since Mon 2022-11-14 12:43:13 UTC; 4min 47s ago
Docs: man:systemd-sysv-generator(8)
Process: 6781 ExecStart=/etc/init.d/solr9 start (code=exited, status=0/SUCCESS)
Nov 14 12:43:07 xxx systemd[1]: Starting LSB: Controls Apache Solr as a Service...
Nov 14 12:43:13 xxx solr9[6835]: Started Solr server on port 8984 (pid=6830). Happy searching!
Nov 14 12:43:13 xxx systemd[1]: Started LSB: Controls Apache Solr as a Service.
但我无法从浏览器访问 Solr9 面板。
我已经检查过iptables --list
,端口 8983(运行 Solr 7.3)的设置与端口 8984(运行 Solr 9)的设置相同。
lsof -i | grep 8983
说
java 5622 solr 37u IPv6 117480 0t0 TCP *:8983 (LISTEN)
但lsof -i | grep 8984
说
java 6830 solr 136u IPv6 134506 0t0 TCP localhost.localdomain:8984
答案1
我想我已经找到了解决方案,它与运行多个版本的 solr 无关,我在全新安装的 Debian 上遇到了相同的问题。
所以解决方案是:
打开配置文件/etc/default/solr.in.sh
(在我的情况下是/etc/default/solr9.in.sh
)
附加此行
SOLR_JETTY_HOST="0.0.0.0"
重新启动服务systemctl restart solr.service
(就我而言systemctl restart solr9.service
)
现在终于lsof -i | grep 8984
说端口是开放的
java 1952 solr 136u IPv6 29073 0t0 TCP *:8984 (LISTEN)
最后我可以从浏览器访问 Solr 管理 UI。
所有荣誉归于:https://tecadmin.net/configuring-apache-solr-to-accessible-on-public-ip/