Nginx Windows版的服務安裝和管理工具

之前研究過負載均衡,最近正在項目上實施(歷來沒作太小項目以上級別的東西,哈),nginx挺好,不過Windows有點爲難,小流量和本地不追求性能,簡單易用是目標。css

Nginx Windows上並無提供安裝爲服務的方式,Windows Service多好用啊,開機自動運行。所以有了此工具,地址:https://github.com/xiangyuecn/Nginx-Windows-Service-Managerhtml

copy以前說點什麼

一個入口,管理nginx的啓動、關閉、重啓、從新加載配置、擴展配置格式,夠簡單了麼,相對於我這個懶人是夠了。nginx

如下內容copy自READMEgit

本工具用於Nginx Windows版的服務安裝和管理

xiangyuecn編寫,學習nginx之用,還沒弄懂怎麼配置nginx,先把安裝問題先解決了,否則服務器一註銷nginx也自動關掉了,首次使用於2014-02-20。github

使用方法

  1. 把bin目錄內的5個文件複製到nginx根目錄下(和nginx.exe同一目錄,參考圖1),nginx.txt爲可選的配置模板文件。windows

  2. 運行start.bat進行安裝/卸載Windows服務、管理服務運行/中止/重啓、更新配置、從新加載配置。bash

關於bin目錄5個文件說明

start.bat

主腳本,對nginx服務管理每次都運行這個腳本便可完成輕鬆管理;若是須要調整服務名稱和配置文件名稱,更改此文件便可,下面有專門介紹。服務器

rolllog.vbs

配置模板文件格式處理、日期替換更新腳本負載均衡

winsw1.9.exe

windows服務安裝器,用於把nginx安裝爲系統服務,下載地址:http://central.maven.org/maven2/com/sun/winsw/winsw/1.9/ 配置介紹:https://github.com/kohsuke/winsw/blob/master/doc/xmlConfigFile.md 。maven

PsExec.exe

用system用戶身份運行start.bat;雙擊打開start.bat時的身份默認時Admin,此時並不能管理system身份的nginx;start.bat會經過PsExec.exe跳轉一次執行,用戶身份就變成了system。

nginx.txt

配置模板文件,支持任意格式重複內容只需定義一次,任何地方引用替換,大大簡化重複配置的編寫;此文件不提供不影響使用。

關於start.bat

文件內配置部分能夠調整:

  1. 對於nginx.txt模板文件並不是必定要放到根目錄,能夠放到其餘地方,經過修改nginxTxt定義,指向配置模板文件。
  2. 配置文件名稱經過confPath指定,默認爲conf/nginx.conf,若是須要改爲別的文件名,修改便可。
  3. 服務名稱經過svs修改,默認爲Nginx。

服務安裝運行後,winsw會產生3個log文件(參考圖1),能夠刪除,winsw1.9.xml文件不可刪除,不然沒法卸載和啓動。

關於nginx.txt

此文件內容能夠和nginx配置文件內容徹底一致,也可使用擴充語法,省去那些不適合手動編輯的場景。

{y}、{m}、{d}、{h}、{M}、{s}

當前時間日期變量 好比log路徑能夠動態生成:

logs/access_{y}{m}{d}.log //logs/access_20101229.log
複製代碼

內容支持宏定義和替換

定義:DEF(標識) 宏名稱=宏內容 (標識)END,宏名稱支持&、<、>、/、_、-、空格、換行、字母、數字、文字組合,宏內容能夠多行。 使用:在須要替換的地方寫上宏名稱便可。

DEF <StaticExp>=\.(?:png|js|css|ttf|woff|eot|svg|xml|html|jpg|gif|swf)$ END

location ~*^/static/.*<StaticExp> {}
location ~*<StaticExp> {}
複製代碼
DEF <Crt>=ssl_certificate xx.crt;
        ssl_certificate_key xx.key; END
		
...
listen 80;
listen 443 ssl;
<Crt>
...
複製代碼

圖例

文件組成:

圖1

安裝服務:

圖2

服務管理:

圖3

已安裝服務:

圖4

system進程:

圖5

nginx進程:

圖6
相關文章
相關標籤/搜索