一、安装配置

1、官网http://nginx.org/en/download.html下载windows版nginx,下个稳定版就行

 

nginxwindows安装配置java nginx 配置详解windows_chrome

Mainline version: 相当于开发版

Stable version: 稳定版

Legacy versions: 稳定版的旧版本

 

2、启动

  将安装包解压到某个目录

 

nginxwindows安装配置java nginx 配置详解windows_80端口_02

双击nginx.exe启动nginx,浏览器打开http://localhost/检查nginx是否正常启动,默认监听的是80端口,如无法启动则可能80端口被占用,需要关闭占用80端口的进程或者更改监听端口,具体步骤在下一步

 

nginxwindows安装配置java nginx 配置详解windows_nginx_03

 

4、配置文件

  nginx配置文件在其安装目录下的conf/nginx.conf,如果启动nginx时80端口被占用,可以关闭目前占用80端口的进程或者更改nginx监听的端口:

 

方法一:关闭占用端口的进程

1、cmd中输入 netstat -ano | findstr 端口号

2、根据查询到的进程id,输入 tasklist | findstr 进程id

3、输入 taskkill /f /t /im 进程名称

示例:关闭占用8081端口的进程:

 

nginxwindows安装配置java nginx 配置详解windows_nginx_04

 

方法二:更改nginx的监听端口

  如下图所示,更改监听端口即可

nginxwindows安装配置java nginx 配置详解windows_chrome_05

我在更改监听端口并重启nginx后在浏览器访问发现原来的端口还能访问到nginx的页面,这是浏览器的缓存导致的,刷新一下就无法访问了。

nginx.conf更改后,切换到nginx安装目录通过 nginx -s reload 重新加载配置文件(ps:  关闭命令:nginx -s quit,启动命令:start nginx)

 

初次安装完使用命令可能会出现下面这个错误:nginx: [error] OpenEvent("Global\ngx_reload_52660)failed (5:access is denied),但重启nginx后就没有这个问题了,解决方法:直接重启电脑或者如果不想重启,以管理员模式打开cmd就能正常使用命令。

 

二、配置反向代理

  简单配置:

 

nginxwindows安装配置java nginx 配置详解windows_chrome_06

这样配置后访问http://localhost就会跳转到http://localhost:8081,location / 表示在访问根目录时会跳转到server1指定的服务器

 

解决需求的nginx配置:在回调访问 http://www.xxx.com/chrome-extension/xxx... 时转发到http://www.xxx.com:8080/chrome-extension/xxx...

upstream extension {   
    server www.xxx.com:8080;  
}       
server {         
    listen       80;         
    server_name  www.xxx.com;       
  
    location /chrome-extension {   
        proxy_pass http://extension;        
    }   
}

ps: 如果想要在跳转后去掉路径/chrome-extension,即访问 http://www.xxx.com/chrome-extension/xxx... 时转发到http://www.xxx.com:8080/xxx...,可这样配置,其他部分与上面配置一致,只需增加一个/。

 

nginxwindows安装配置java nginx 配置详解windows_80端口_07

 

  下一步准备在Linux上安装nginx,并将配置迁移过去。nginx的其他配置还需要继续学习。