Nginx
三个作用:
1、请求转发
2、负载均衡
3、动静分离
一、请求转发
当服务器端有多个服务器,例如这里的service_edu:8001 , service_oss:8002,两个服务器,当客户端/浏览器访问服务器时,先通过Nginx进行请求转发,例如Nginx向外暴露一个端口9001,客户端访问9001端口,通过路劲匹配,匹配到具体的要访问的服务器,然后转发到相应的服务器
即nginx根据客户端的请求,利用路径匹配进行转发,转发到相应的服务器中
例如路径中包含serviceedu,则转发到service_edu服务器中
二、负载均衡
这里服务器端是一个集群,即多个服务器中放置相同的内容,即对个服务器中都放置在线教育项目。
当客户端进行请求时,首先利用Nginx对外暴露的端口访问Nginx,然后Nginx根据客户端的请求,将这个请求平均分配到不同的服务器中去,让多个服务器平均分配这个请求压力,实际中的分配算法有轮询等
三、动静分离
将java代码和前端页面分别放在不同的服务器中
启动Nginx:
在nginx所在文件目录cmd,然后通过nginx.exe启动nginx
启动nginx后,Windows进程中会有过个进程:
这里注意:nginx启动后需要手动停止,用nginx.exe -s stop命令
配置Nginx实现请求转发的功能
1、找到nginx的配置文件nginx.conf
2、在nginx.conf配置文件中进行配置
第一步:修改默认端口,将nginx.conf中server中的默认端口80修改为81,防止冲突
第二步:配置nginx的转发规则
在http{}中创建配置
根据这个模板进行修改
修改之后为:
其中listen表示对外监听端口号,可以自己设置,服务器名为本机
location 为路径匹配,~表示正则匹配,如果不加,表示完全匹配,proxy_pass代理对象,后面的地址表示要转发到的服务器
当以上配置完成以后,需要现将nginx停止(nginx.exe -s stop),在重新启动(nginx.exe)