使用NSSM工具安裝bat文件為Windows服務
nssm是一個可以把bat批處理文件部署為Windows服務的小工具。例如很多.net項目可能還是在Windows服務器上面跑的,但是很多組件只提供了.bat文件,例如elk三件套、或者后面會用到的kafka等等。
都是開一個批處理窗口也是可以的,但是容易被不小心人為關閉,就崩潰了。所以很有必要在測試完畢以后,部署到Windows服務里面去。
接下來是正文。首先下載nssm工具,下載地址:
http://nssm.cc/release/nssm-2.24.zip
解壓以后,有32位和64位:
我電腦是64位的,所以我把64位下面的nssm文件拷出來備用:
然后,Windows鍵 + X,調出應用欄,選擇使用管理員權限打開powershell:
定位到剛才拷貝nssm的目錄下,然后先安裝Elasticsearch。為了看出效果,現在ES都已經關閉了,打開localhost:9200看下先:
開始安裝ES服務:
Nssm.exe install ElasticSearch,即可安裝一個名為ElasticSearch的服務。或者你也可以自定義命名:
Detail里面可以添加描述等,或者映射的名稱:
我就改個描述意思下,其他的,大佬們可以自行玩。
最后點下方的Install service按鈕,就可以安裝服務了。
安裝成功以后,默認一開始是沒有啟動的,我們去Windows服務上面手動打開一下。效果如圖:
現在刷新一下localhost:9200看一下啟動是否成功:
接下來是安裝kibana服務:
同理,使用 nssm.exe install kibana,然后引用kibana.bat文件進行安裝:
打開 localhost:5601看下是否啟動成功:
OK,說明Kibana服務也安裝成功了。
最后是安裝Logstash服務。Logstash因為需要指定配置文件,所以操作略有一些不一樣:
在Arguments里面,需要加 -f 配置文件絕對路徑,例如我的是:
-f D:\xxxxx\logstash-7.13.1-windows-x86_64\logstash-7.13.1\config\rabbitmq.conf
安裝成功以后,就可以在Windows服務里面設置啟動:
驗證一下效果,在上一篇文章上面的api里面,改一下日志輸出,然后啟動程序並執行api,看看效果:
啟動並執行測試的webapi:
現在去ES上面查詢一下,看看有沒有記錄:
在kibana上面查到對應的信息記錄,說明logstash部署成服務成功~~