Nginx 环境搭建 (windows)

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*"

参考文章

windows下nginx的安装及使用

相关推荐