天天看點

使用 winsw 将 nginx 注冊成windows系統服務,開機自啟

使用 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

使用 winsw 将 nginx 注冊成windows系統服務,開機自啟

選個版本

使用 winsw 将 nginx 注冊成windows系統服務,開機自啟

根據系統選擇

使用 winsw 将 nginx 注冊成windows系統服務,開機自啟

服務注冊

1.把WinSW.NET4.exe重命名為install-service.exe(名稱可以任意命名)複制到nginx的根目錄下

使用 winsw 将 nginx 注冊成windows系統服務,開機自啟

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版本

防毒軟體報警選擇允許

使用 winsw 将 nginx 注冊成windows系統服務,開機自啟

nginx注冊成功

使用 winsw 将 nginx 注冊成windows系統服務,開機自啟

服務中可以看到我們注冊的nginx服務了

使用 winsw 将 nginx 注冊成windows系統服務,開機自啟

問題解決

天下英雄出我輩,一入江湖歲月催

我是「無間行者」,努力把實踐過的解決方案分享給大家

如果這篇文章對你有用,一個贊、一個評論、一個收藏,我都很開心

碼字不易,給點鼓勵吧,讓我知道你在看

繼續閱讀