使用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部署成服務成功~~