Nginx 環境搭建 (windows)
資源
# nginx在線文檔和支持
For online documentation and support please refer to nginx.org
# nginx企業版網址
nginx.com
# nginx書籍
https://www.nginx.com/resources/library/complete-nginx-cookbook/?utm_source=nginxorg&utm_medium=homepagebanner&utm_campaign=complete_cookbook&_ga=2.129434828.1500694107.1572097789-228658796.1559049788
# nginx下載地址
https://nginx.org/en/download.html
版本
Nginx官網提供了三個類型的版本
Mainline version:Mainline 是 Nginx 目前主力在做的版本,可以說是開發版
Stable version:最新穩定版,生產環境上建議使用的版本
Legacy versions:遺留的老版本的穩定版
# nginx/windows 是windows版本的,后面的pgp是簽名,用於驗證文件完整性。
Mainline version
CHANGES nginx-1.17.5 pgp nginx/Windows-1.17.5 pgp
Stable version
CHANGES-1.16 nginx-1.16.1 pgp nginx/Windows-1.16.1 pgp
Legacy versions
CHANGES-1.14 nginx-1.14.2 pgp nginx/Windows-1.14.2 pgp
目錄結構
windows中的 tree
命令
D:\chengxu\nginx\nginx-1.16.1>tree /?
以圖形顯示驅動器或路徑的文件夾結構。
TREE [drive:][path] [/F] [/A]
/F 顯示每個文件夾中文件的名稱。
/A 使用 ASCII 字符,而不使用擴展字符。
tree
在windows中如果不加參數只顯示目錄。tree /f
將顯示所有目錄和文件。
D:\chengxu\nginx\nginx-1.16.1>tree /F
D:.
│ nginx.exe
│
├─conf
│ fastcgi.conf
│ fastcgi_params
│ koi-utf
│ koi-win
│ mime.types
│ nginx.conf
│ scgi_params
│ uwsgi_params
│ win-utf
│
├─contrib
│ │ geo2nginx.pl
│ │ README
│ │
│ ├─unicode2nginx
│ │ koi-utf
│ │ unicode-to-nginx.pl
│ │ win-utf
│ │
│ └─vim
│ ├─ftdetect
│ │ nginx.vim
│ │
│ ├─ftplugin
│ │ nginx.vim
│ │
│ ├─indent
│ │ nginx.vim
│ │
│ └─syntax
│ nginx.vim
│
├─docs
│ CHANGES
│ CHANGES.ru
│ LICENSE
│ OpenSSL.LICENSE
│ PCRE.LICENCE
│ README
│ zlib.LICENSE
│
├─html
│ 50x.html
│ index.html
│
├─logs
│ access.log
│ error.log
│ nginx.pid
│
└─temp
├─client_body_temp
├─fastcgi_temp
├─proxy_temp
├─scgi_temp
└─uwsgi_temp
啟動
方式一:雙擊 nginx.exe
方式二:
命令行直接輸入nginx,nginx啟動,命令行一直卡着。關閉命令行,nginx不會退出。
D:\chengxu\nginx\nginx-1.16.1>nginx
方式三:
命令行輸入 start nginx
,nginx啟動,命令行不會被卡。關閉命令行,nginx不會退出。
D:\chengxu\nginx\nginx-1.16.1>start nginx

查看nginx進程
C:\Users\jie>tasklist /fi "imagename eq nginx.exe"
映像名稱 PID 會話名 會話# 內存使用
========================= ======== ================ =========== ============
nginx.exe 16232 Console 6 7,148 K
nginx.exe 17084 Console 6 7,484 K
C:\Users\jie>tasklist /?
TASKLIST [/S system [/U username [/P [password]]]]
[/M [module] | /SVC | /V] [/FI filter] [/FO format] [/NH]
描述:
該工具顯示在本地或遠程機器上當前運行的進程列表。
C:\Users\jie>netstat -ano | findstr 80
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 17084
關閉
方式一: 使用 taskkill 殺死 nginx 進程。 taskkill /f /t /im nginx.exe
方式二:nginx -s quit
或者 nginx -s stop
D:\chengxu\nginx\nginx-1.16.1>nginx -s quit
D:\chengxu\nginx\nginx-1.16.1>start nginx
D:\chengxu\nginx\nginx-1.16.1>nginx -s stop
D:\chengxu\nginx\nginx-1.16.1>taskkill /f /t /im nginx.exe
成功: 已終止 PID 10048 (屬於 PID 8968 子進程)的進程。
成功: 已終止 PID 8968 (屬於 PID 10788 子進程)的進程。
成功: 已終止 PID 10788 (屬於 PID 2884 子進程)的進程。
C:\Users\jie>taskkill /pid 17084
錯誤: 無法終止 PID 為 17084 的進程。
原因: 只能強行終止這個進程(帶 /F 選項)。
C:\Users\jie>taskkill /f /pid 17084
成功: 已終止 PID 為 17084 的進程。
C:\Users\jie>taskkill /pid 16232
錯誤: 無法終止 PID 為 16232 的進程。
原因: 只能強行終止這個進程(帶 /F 選項)。
C:\Users\jie>taskkill /f /pid 16232
成功: 已終止 PID 為 16232 的進程。
taskkill
命令
C:\Users\jie>taskkill /?
TASKKILL [/S system [/U username [/P [password]]]]
{ [/FI filter] [/PID processid | /IM imagename] } [/T] [/F]
描述:
使用該工具按照進程 ID (PID) 或映像名稱終止任務。
參數列表:
/S system 指定要連接的遠程系統。
/U [domain\]user 指定應該在哪個用戶上下文執行這個命令。
/P [password] 為提供的用戶上下文指定密碼。如果忽略,提示
輸入。
/FI filter 應用篩選器以選擇一組任務。
允許使用 "*"。例如,映像名稱 eq acme*
/PID processid 指定要終止的進程的 PID。
使用 TaskList 取得 PID。
/IM imagename 指定要終止的進程的映像名稱。通配符 '*'可用來
指定所有任務或映像名稱。
/T 終止指定的進程和由它啟用的子進程。
/F 指定強制終止進程。
/? 顯示幫助消息。
篩選器:
篩選器名 有效運算符 有效值
----------- --------------- -------------------------
STATUS eq, ne RUNNING |
NOT RESPONDING | UNKNOWN
IMAGENAME eq, ne 映像名稱
PID eq, ne, gt, lt, ge, le PID 值
SESSION eq, ne, gt, lt, ge, le 會話編號。
CPUTIME eq, ne, gt, lt, ge, le CPU 時間,格式為
hh:mm:ss。
hh - 時,
mm - 分,ss - 秒
MEMUSAGE eq, ne, gt, lt, ge, le 內存使用量,單位為 KB
USERNAME eq, ne 用戶名,格式為 [domain\]user
MODULES eq, ne DLL 名稱
SERVICES eq, ne 服務名稱
WINDOWTITLE eq, ne 窗口標題
說明
----
1) 只有在應用篩選器的情況下,/IM 切換才能使用通配符 '*'。
2) 遠程進程總是要強行 (/F) 終止。
3) 當指定遠程機器時,不支持 "WINDOWTITLE" 和 "STATUS" 篩選器。
例如:
TASKKILL /IM notepad.exe
TASKKILL /PID 1230 /PID 1241 /PID 1253 /T
TASKKILL /F /IM cmd.exe /T
TASKKILL /F /FI "PID ge 1000" /FI "WINDOWTITLE ne untitle*"
TASKKILL /F /FI "USERNAME eq NT AUTHORITY\SYSTEM" /IM notepad.exe
TASKKILL /S system /U 域\用戶名 /FI "用戶名 ne NT*" /IM *
TASKKILL /S system /U username /P password /FI "IMAGENAME eq note*"