番外篇:使用nssm工具将ES、Kibana、Logstash或者其他.bat文件部署为Windows后台服务的方法

使用NSSM工具安装bat文件为Windows服务

nssm是一个可以把bat批处理文件部署为Windows服务的小工具。例如很多.net项目可能还是在Windows服务器上面跑的,但是很多组件只提供了.bat文件,例如elk三件套、或者后面会用到的kafka等等。

都是开一个批处理窗口也是可以的,但是容易被不小心人为关闭,就崩溃了。所以很有必要在测试完毕以后,部署到Windows服务里面去。

接下来是正文。首先下载nssm工具,下载地址:

http://nssm.cc/release/nssm-2.24.zip

解压以后,有32位和64位:

番外篇:使用nssm工具将ES、Kibana、Logstash或者其他.bat文件部署为Windows后台服务的方法

我电脑是64位的,所以我把64位下面的nssm文件拷出来备用:

番外篇:使用nssm工具将ES、Kibana、Logstash或者其他.bat文件部署为Windows后台服务的方法

然后,Windows键 + X,调出应用栏,选择使用管理员权限打开powershell:

番外篇:使用nssm工具将ES、Kibana、Logstash或者其他.bat文件部署为Windows后台服务的方法

定位到刚才拷贝nssm的目录下,然后先安装Elasticsearch。为了看出效果,现在ES都已经关闭了,打开localhost:9200看下先:

番外篇:使用nssm工具将ES、Kibana、Logstash或者其他.bat文件部署为Windows后台服务的方法

开始安装ES服务:

Nssm.exe install ElasticSearch,即可安装一个名为ElasticSearch的服务。或者你也可以自定义命名:

番外篇:使用nssm工具将ES、Kibana、Logstash或者其他.bat文件部署为Windows后台服务的方法

Detail里面可以添加描述等,或者映射的名称:

番外篇:使用nssm工具将ES、Kibana、Logstash或者其他.bat文件部署为Windows后台服务的方法

我就改个描述意思下,其他的,大佬们可以自行玩。

最后点下方的Install service按钮,就可以安装服务了。

安装成功以后,默认一开始是没有启动的,我们去Windows服务上面手动打开一下。效果如图:

番外篇:使用nssm工具将ES、Kibana、Logstash或者其他.bat文件部署为Windows后台服务的方法

现在刷新一下localhost:9200看一下启动是否成功:

番外篇:使用nssm工具将ES、Kibana、Logstash或者其他.bat文件部署为Windows后台服务的方法

接下来是安装kibana服务:

同理,使用 nssm.exe install kibana,然后引用kibana.bat文件进行安装:

番外篇:使用nssm工具将ES、Kibana、Logstash或者其他.bat文件部署为Windows后台服务的方法

打开 localhost:5601看下是否启动成功:

番外篇:使用nssm工具将ES、Kibana、Logstash或者其他.bat文件部署为Windows后台服务的方法

OK,说明Kibana服务也安装成功了。

最后是安装Logstash服务。Logstash因为需要指定配置文件,所以操作略有一些不一样:

番外篇:使用nssm工具将ES、Kibana、Logstash或者其他.bat文件部署为Windows后台服务的方法

在Arguments里面,需要加 -f 配置文件绝对路径,例如我的是:

-f D:\xxxxx\logstash-7.13.1-windows-x86_64\logstash-7.13.1\config\rabbitmq.conf

安装成功以后,就可以在Windows服务里面设置启动:

番外篇:使用nssm工具将ES、Kibana、Logstash或者其他.bat文件部署为Windows后台服务的方法

验证一下效果,在上一篇文章上面的api里面,改一下日志输出,然后启动程序并执行api,看看效果:

番外篇:使用nssm工具将ES、Kibana、Logstash或者其他.bat文件部署为Windows后台服务的方法

启动并执行测试的webapi:

番外篇:使用nssm工具将ES、Kibana、Logstash或者其他.bat文件部署为Windows后台服务的方法

现在去ES上面查询一下,看看有没有记录:

番外篇:使用nssm工具将ES、Kibana、Logstash或者其他.bat文件部署为Windows后台服务的方法

在kibana上面查到对应的信息记录,说明logstash部署成服务成功~~

上一篇:CNN卷积核反传分析


下一篇:plink远程连接服务器进行编译