使用 WinSW 将 nginx 注冊成windows系統服務,開機自啟
今天在windows伺服器部署了nginx,但是系統重新開機總是需要手動啟動nginx,比較麻煩, 于是打算注冊成系統服務,但是nginx在windows上沒這個功能,需要用額外的工具進行注冊。
WinSW介紹
官方介紹如下:
WinSW is an executable binary, which can be used to wrap and manage a custom process as a Windows service.
現實生活中,我們使用windows系統的電腦的時候,可能會遇到這麼一種情況:想把一些應用程式添加為開機啟動項。對于有圖形界面的應用程式,一般不存在問題。但是如果想運作指令行應用程式,就不是那麼友善了。一種笨辦法就是寫個bat,放到啟動檔案夾裡,就可以開機啟動了。開機之後,你就會發現,這樣會一直顯示着一個CMD視窗,而且這個視窗不能關,關了程式就停了。
其實Windows系統自帶背景程式管理的功能,也就是我們經常用到的服務。但是Windows的服務隻有程式的開發者在寫程式的時候引用到這個功能,我們才能利用服務來控制程式的啟動和關閉。對于一般的指令行程式來說,沒辦法利用服務。
WinSW下載下傳
github下載下傳:github winsw
點選releases

選個版本
根據系統選擇
服務注冊
1.把WinSW.NET4.exe重命名為install-service.exe(名稱可以任意命名)複制到nginx的根目錄下
2.在nignx的根目錄下建立個install-service.xml(必須和前面的install-service.exe一緻),編輯内容
<service>
<id>nginx</id>
<name>nginx</name>
<description>nginx</description>
<logpath>E:\nginx-1.19.2</logpath>
<logmode>roll</logmode>
<depend></depend>
<executable>E:\nginx-1.19.2\nginx.exe</executable>
<stopexecutable>E:\nginx-1.19.2\nginx.exe -s stop</stopexecutable>
</service>
3.指令行進入nginx根目錄執行如下指令:
install-service.exe install
問題傳送門:您必須首先安裝.NET Framework 4版本
防毒軟體報警選擇允許
nginx注冊成功
服務中可以看到我們注冊的nginx服務了
問題解決
天下英雄出我輩,一入江湖歲月催
我是「無間行者」,努力把實踐過的解決方案分享給大家
如果這篇文章對你有用,一個贊、一個評論、一個收藏,我都很開心
碼字不易,給點鼓勵吧,讓我知道你在看