1、什么是Nginx?

Nginx就是一个反向代理服务器。

2、Nginx的功能(三个常见的功能)

(1)请求转发

简单来说,请求转发就是从客户端发过来一个请求,先发给Nginx服务器,Nginx再转发到另外一个服务器。

更具体:

nginx 配置转发到docker的Java站点 nginx怎么转发_visual studio code

通过客户端或者浏览器发送一个请求,这个请求首先到的不是Tomcat服务器中的接口,而是首先到达Nginx服务器,Nginx服务器会根据发送过来的请求,再转发到不同的服务中去,比如转发到8001端口的service服务,或者转发到8002端口的oss服务。这个过程就叫做请求转发。

Nginx怎么判断发送过来的请求是要访问8001端口还是8002端口呢?比较常见的就是根据 路径匹配 进行转发。就是说从客户端或者浏览器发送过来的请求的地址中包含service,Nginx就把这个请求转发到8001端口,如果请求的地址中包含oss,Nginx就把这个请求转发到8002端口。

(2)负载均衡

nginx 配置转发到docker的Java站点 nginx怎么转发_nginx_02

负载均衡就是从客户端或者浏览器发送请求,请求还是首先会到Nginx服务器,而Nginx服务器就会把发送过来的请求平均分摊到不同的集群服务中去。比如发送过来四个请求,理论上Nginx服务器就会给8001端口和8002端口的服务器各分摊两个请求,就是让多台服务器分担请求压力。在负载均衡中有很多算法,有轮询,就是有请求了就给8001,再来一个给8002,后面的再8001、8002 。。。还有就是根据请求时间,谁的请求时间最短,先去访问谁,还有权重,等等。 (不过常用网关做负载均衡)

(3)动静分离

简单来说,就是在Tomcat服务器中放Java代码,再专门找一个服务器放静态资源文件,在操作中,判断访问资源是Java代码是,就去请求Tomcat服务器,如果访问资源时静态资源,就去访问静态服务器,这个过程就叫做动静分离。就是说把Java代码和普通的页面等静态资源文件分开进行部署。

3、下载安装使用Nginx

(1)http://nginx.org/en/download.html

(2)下载稳定版本

nginx 配置转发到docker的Java站点 nginx怎么转发_windows_03

(3)直接解压(注意不要带中文)

nginx 配置转发到docker的Java站点 nginx怎么转发_tomcat_04

(4) 使用Nginx

(4-1)直接双击nginx.exe,但是不建议这样打开

(4-2)用cmd打开

nginx 配置转发到docker的Java站点 nginx怎么转发_nginx_05

输入nginx.exe,回车,看到光标在闪,说明已经启动了Nginx

nginx 配置转发到docker的Java站点 nginx怎么转发_windows_06

关闭的时候不能直接关闭cmd窗口,因为这样并不能关闭Nginx服务,需要输入命令 nginx.exe -s stop

nginx 配置转发到docker的Java站点 nginx怎么转发_visual studio code_07

(5)配置Nginx实现请求转发功能

 (5-1)打开nginx.conf文件,修改配置信息

修改nginx默认端口,把80改为81

nginx 配置转发到docker的Java站点 nginx怎么转发_tomcat_08

配置nginx的转发规则

在 http{} 里面创建配置

nginx 配置转发到docker的Java站点 nginx怎么转发_nginx_09

修改前端请求地址的端口号为nginx地址:9001,就能够实现请求转发功能

nginx 配置转发到docker的Java站点 nginx怎么转发_tomcat_10

注意:修改过Nginx的配置信息之后要把Nginx重启才能生效。使用命令nginx.exe -s stop关闭,使用nginx.exe开启。