首先个人理解的反向代理就像一台服务器A,前端请求到这个服务器A,然后这个服务器A会转发到另一个服务器,就像我们有时候需要apache服务器放web,tomcat部署java项目,或者某个文件服务器放文件图片,这样我们以一个nginx服务器为中介,如果接收是请求web项目的域名就转发到apache服务器,如果是java项目的域名就转发tmcat服务器,接收到路径含有file,images字段就转发到文件服务器。然后我理解的负载均衡,就是基于这样的基础,我们可能部署很多台服务器,如果请求用户量过多,服务器就会转发给空闲的服务器处理用户请求并响应,缓解服务器高并发压力。

这里有一篇文章,对于正向代理和反向代理有图解解释,可以阅读一下。点击这里http://blog.51cto.com/z00w00/1031287

明白了反向代理,是通过nginx服务器代理,访问不同的域名不同的端口(多个服务器域名和端口不可能重复)之间转发,比如,我想用户访问域名为www.web.cn:8888,nginx会帮我转发请求到其中一个apache什么的web服务器,如果是www.java.cn:8080,nginx就帮我转发给其他一个tomcat服务器做处理。要做到这样多站点多域名的转发,我们只要配置一下nginx代理服务器的nginx.conf文件就可以了,可以直接在里面配置,也可以多建立几个conf文件,让nginx.conf文件include包含他们,系统会自动扫描那些conf文件。这样配置后,当我们访问某个域名时候,nginx会主动转发到配置那个域名的conf文件,里面的root配置的就是服务器指向的项目运行根目录,或者配置反向代理proxy_pass 转发的域名,这样就反向代理转发到你想转发的服务器路径。

这里借用别人一张图,我添加了一些说明。

nginx一个端口代理多个网站多个反向代理 nginx反代多个站点_nginx

关于conf的配置,更多的图解多域名站点,可以参考这个网站。

以上看法纯属个人观点,如有唐突,还望见谅,谢谢访问!!!