Nginx不单可以作为强大的web服务器,也可以作为一个反向代理服务器,而且nginx还可以按照调度规则实现动态、静态页面的分离,可以按照轮询、ip哈希、URL哈希、权重等多种方式对后端服务器做负载均衡,同时还支持后端服务器的健康检查。
如果只有一台服务器时,这个服务器挂了,那么对于网站来说是个灾难.因此,这时候的负载均衡就会大显身手了,它会自动剔除挂掉的服务器。
本博客的目的:提供由Nginx实现前后端分离和负载均衡的思路,不提供具体实现的步骤,如果不是很理解前后端分离和负载均衡可以参考博客前后端分离和负载均衡
一:静态代理
把所有静态资源的访问改为访问nginx,而不是访问tomcat,这种方式叫静态代理。因为nginx更擅长于静态资源的处理,性能更好,效率更高。所以在实际应用中,我们将静态资源比如图片、css、html、js等交给nginx处理,而不是由tomcat处理。
实现静态代理有两种方法:
方式一 在nginx.conf的location中配置静态资源的后缀
根据扩展名进行拦截:
整个配置表示以 .后面括号里面的这些后缀结尾的文件都由nginx处理放置静态资源的目录,要注意一下目录权限问题,如果权限不足,给目录赋予权限;否则会出现403错误 chmod 755
方式二 在nginx.conf的location中配置静态资源所在目录实现
由于 /opt/static为我们规定的静态资源访问的根路径。但是项目运行起来有一个虚拟目录,所以真正的静态资源要放在:/opt/static/项目的虚拟目录文件下面。
案例: 通过nginx访问上面myweb案例中的图片
修改nginx.conf文件,在loc