客户端通过域名请求服务,如果你在本地的hosts文件中配置了该域名与ip的映射关系,那么,请求就会直接发送到hosts文件中对应的ip,不会通过dns解析(如果本地hosts文件中没有配置,就会通过dns解析域名)。
这时,请求到达了服务端,服务端的nginx拦截了该请求,然后在本地通过域名匹配server_name,然后,根据proxy_pass返回相应的服务给客户端。
1.如果在本地的hosts文件中配置了该域名与ip的映射关系,nginx拦截了该请求 serverName只认IP地址。如果本地hosts文件中没有配置,就会通过dns解析域名,nginx拦截了该请求 serverName认IP地址,同时也认识域名。
2.一般云服务器上,我们不光要域名解析至服务器就好了,还要向服务商申请添加白名单,把域名添加至白名单中,才可以通过域名跳到Nginx。
下载地址:http://learning.happymmall.com/
解压打开nginx.exe,浏览器输入localhost
1. 目录转发
ngingx主配置文件nginx.conf,可以在里面设置加载指定文件夹的conf文件,让nginx找到配置的域名,并对目录进行转发:
autoindex on/off;
自动建立索引,如果打开则文件夹下所有文件都会暴露,除非网站用于下载,一般情况下都是off。
关闭的的话首页会显示403,但访问文件夹下的其他文件没有影响。
测试配置文件是否加载成功:
记得重启一下nginx,nginx.exe -s reload或者任务管理器结束nginx重新打开,不然会404
2. IP端口转发
这里用tomcat域名进行IP端口转发,转发到tomcat服务上验证
配置conf文件和本机host
启动tomcat
重启nginx访问tomcat.imooc.com
即nginx把tomcat.imooc.com(http://127.0.0.1:8080)域名指向localhost:8080
nginx的反向代理和负载均衡的区别是什么?
负载均衡需要通bai过反du向代理来实现
反向zhi代理就是指nginx作为前端服dao务器,将请求转zhuan发到后端,再shu将后端服务器的结果,返回给客户端
它在中间做了一个代理服务器的角色
负载均衡对反向代理增加了一些策略,因为后端是多台服务器,nginx会根据设定的策略将请求转发给一个相对空闲的服务器,对负载进行分流,减轻服务器压力