Tomcat+Nginx+Redis实现web项目动静态文件分离,Session共享

  以前做项目一直没接触到负载均衡、动静态文件分离和反向代理等方面的东西,总感觉这些都是high level的应该是架构师的事。还有一个重要的原因就是项目要求同时在线的人数大多没有超过500人以上的,所以一个Tomcat就搞定了。

  最近做了个项目要求同时在线的人数非常庞大,所以借此机会自己花了一周课余时间研究了负载均衡,动静态文件分离等方面的知识。研究学习的整个过程是非常痛苦的(网上根本找不到一个完整的例子),但是结果是可喜的,自己收获颇多。下面将自己的经历的一些坑分享给大家。

我们需要掌握Nginx、Redis和Tomcat的基础知识以及一些重要的配置信息,这个百度上一搜一大把。

整个配置的架构图:

Tomcat+Nginx+Redis实现web项目动静态文件分离,Session共享

总结:1.动静态文件分离,nginx中配置文件的路径一定要与文件实际访问路径相同;

          2.Nginx的配置变量max_fails和fail_timeout一定要配置,而且尽量配置小值;

          3.Redis一定配置密码防止被攻击;

          4.项目涉及到文件上传一定要做虚拟路径上传方式,否则无法做到彻底的动静态文件分离;

          5.Redis注册成服务,防止启动时忘记加载配置信息;

 有什么问题,可以留言,我们共同进步!