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
![1572100513269](D:\\JavaCode\\Java学习笔记\\54 nginx&docker\\Nginx 安装下载.assets\\1572100513269.png)
查看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*"