如何在Windows上安装SOLR 7.2.1+Tomcat(无WAR文件)并配置为系统服务?
无WAR文件部署Solr并配置为Windows常驻系统服务
嘿,我刚好碰到过这个问题!新版本Solr确实砍掉了WAR包的分发,不过官方已经给咱们准备了更简单的方式把Solr做成Windows常驻服务,不用再折腾Tomcat那套(当然如果你硬要部署到Tomcat我也能给你支招,但看你已经用solr start跑起来了,先给你说最省心的服务化步骤)
第一步:确认基础环境(你已经搞定大半了)
先确保你用solr start能正常启动Solr,并且能通过浏览器访问http://localhost:8983/solr确认服务运行正常。接下来必须用管理员权限打开命令提示符(CMD或PowerShell都行,右键选「以管理员身份运行」,不然安装服务会有权限报错)
第二步:安装Windows常驻服务
切换到你的Solr安装目录下的bin文件夹,比如我的Solr装在C:\solr-9.4.0,那就是:
cd C:\solr-9.4.0\bin
然后执行安装命令:
solr install -n SolrService -p 8983 -d C:\solr-9.4.0\server
给你拆解下参数:
-n:指定服务的名称,你可以改成自己好记的,比如MyCompanySolr-p:Solr的监听端口,和你之前solr start用的保持一致就行,默认8983-d:指定Solr的server目录绝对路径,这个一定要写对,不然服务找不到配置文件启动失败
第三步:验证服务是否正常运行
- 打开Windows服务管理器:按Win+R输入
services.msc回车,找到你刚才命名的服务(比如SolrService),它的状态应该是「已启动」,启动类型默认是「自动」,这样开机就会自动运行 - 也可以在命令行里快速验证:
solr status
能看到服务处于运行状态就OK了
常用服务管理命令
- 停止服务:
solr stop -n SolrService - 重启服务:
solr restart -n SolrService - 卸载服务(如果需要):
solr uninstall -n SolrService
额外补充:如果还是想部署到Tomcat
如果你坚持要部署到Tomcat(官方现在更推荐用自带的Jetty容器,适配性更好),新版本可以手动生成WAR包:
在Solr的bin目录执行:
solr package generate-war
命令会提示你输入生成路径,之后就能拿到solr.war,再按照传统Tomcat部署流程放到webapps目录,配置好SolrHome路径就行。但还是那句话,自带的服务化方式更省心,少踩坑。
注意事项
- 一定要用管理员权限执行安装命令,不然会报权限不足的错误
- Solr的安装路径里别带空格或者特殊字符(比如中文),不然服务可能启动失败
- 如果服务启动失败,去
server/logs目录看Solr的日志文件,里面会有详细的错误信息帮你排查
内容的提问来源于stack exchange,提问作者Ennio
相关产品推荐
相关产品推荐

