分享好友 系统运维首页 频道列表

Nginx 环境搭建 (windows)

Nginx教程  2023-02-10 02:000

资源

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

参考文章

windows下nginx的安装及使用

查看更多关于【Nginx教程】的文章

展开全文
相关推荐
反对 0
举报 0
评论 0
图文资讯
热门推荐
优选好物
更多热点专题
更多推荐文章
Nginx端口占用问题
错误信息:nginx: [emerg] listen() to 0.0.0.0:80, backlog 511 failed (98: Address already in use)主要是端口被占用,通过如下命令,可以查看该端口被那个应用占用:sudo netstat -ntpl 然后kill -9 PID将其杀死关闭即可解决

0评论2023-02-13565

Linux使用nginx反向代理。可实现域名指向特定端口
在配置80指向域名的时候出现端口占用,使用kill -9无法杀死端口,应使用下面的命令来杀死进程killall -9 nginx(使用完本命令需要再把配置过的配置文件重新启动。命令写在了PS下面)后在root权限下的nginx的sbin下使用./nginx -t(命令重启nginx并检查是否有语

0评论2023-02-13636

装tomcat和nginx心得
开机启动tomcat1:在/etc/rc.d/init.d目录下生成一个文件tomcat80802:在文件里添加如下内#!/bin/bash#2345 linux运行级别#10开机启动优先级,数值越大越排在前面,最大值100#90关机优先级#chkconfig:2345 10 90#description: tomcat8080 start....start(){ec

0评论2023-02-13333

nginx 之 proxy_pass的使用
使用注意事项proxy_pass在nginx中作代理转发使用。如果在proxy_pass后面的url加/,表示绝对根路径;如果没有/,表示相对路径,把匹配的路径部分也给代理走。假设下面四种情况分别用 http://192.168.1.1/proxy/test.html 进行访问。第一种:location /proxy/

0评论2023-02-13675

用Nginx代理请求,处理前后端跨域 用nginx代理请求,处理前后端跨域文件
  自从前端spa框架出现后,都是前后端分离开发了。我们在开发的时候难免会遇到跨域的问题。跨域这种问题解决的方法基本都是在服务端实现的。以java为例,我知道的有3种方法处理跨域:  1.使用 @CrossOrigin 注解对每一个接口进行跨域处理,缺点是比较麻烦

0评论2023-02-13771

手动上传图片到nginx下可访问,程序上传后访问图片报403
1. 首先查看文件权限2. 初步确定是服务器权限问题2.1 解决方案一:更改文件权限2.2 解决方案二:修改nginx运行用户 1. 首先查看文件权限#指令如下ls -l2. 初步确定是服务器权限问题403 forbidden错误是禁止读取访问,也就是说服务器理解了请求,但是不允许访问

0评论2023-02-13745

check nginx配置文件错误:[emerg]: getpwnam(“nginx”) failed
 1、错误提示:[root@server include]# /application/nginx/sbin/nginx -t -c /applications/nginx/nginx/nginx.confnginx: [emerg] getpwnam("nginx") failed in /applications/nginx/nginx/nginx.conf:2nginx: configuration file /application/nginx/ngin

0评论2023-02-13620

Nginx 499的问题 PHP 异步 HTTP 与 NGINX 499
PHP 异步 HTTP在 PHP 代码中提交异步 HTTP 请求比较常用的方式是通过 fsockopen/fwrite/fclose 来实现,请参考如下代码。function post($host, $path, $port, $data) {$post = http_build_query($data);$len = strlen($post);$fp = fsockopen($host, $port,

0评论2023-02-13458

nginx FastCGI模块(FastCGI)配置
http://www.howtocn.org/nginx:nginx%E6%A8%A1%E5%9D%97%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C%E4%B8%AD%E6%96%87%E7%89%88:standardhttpmodules:fastcginginx官方文档:http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html 摘要这个模块允许nginx

0评论2023-02-10486

nginx+tomcat反向代理下使用tomcat-redis-session-manager进行session共享中值得注意的一个问题
公司目前项目使用nginx反向代理+多个tomcat进行负载均衡,之前使用ip_hash策略进行session控制。近期有考虑不再使用ip_hash策略,所以需要进行session共享。根据项目实际情况,拟考虑使用开发配置比较简单,应用比较广泛的tomcat-redis-session-manager方式进

0评论2023-02-10303

更多推荐