一. nginx 优缺点
请参考 https://blog.youkuaiyun.com/a_haogg/article/details/72843820
二. 开发工具 tomcat 2个 、redis、nginx 及 jar
nginx下载地址 https://download.youkuaiyun.com/download/qq_27259009/10339497
tomcat-redis-session-manager-1.2-tomcat-7.jar
jedis-2.2.0.jar
commons-pool-1.6.jar
三. 配置
大致的整个配置的架构:
在这个图中,nginx做为反向代理,将客户请求根据权重随机分配给三台tomcat服务器,redis做为三台tomcat的共享session数据服务器。
1.tomcat
(1)准备三个tomcat容器
(2)分别修改三台 tomcat 的 目录下的 config/server.xml 中的端口号(修改端口号防止端口冲突,可以实现三台tomcat在一台服务器上同时启动),要修改三个位置 的 port ,端口号不能相同,建议 8080以后的端口
(3)分别修改 三个tomcat 文件夹下 context.xml
在<context></context>中加入
<Valve className="com.radiadesign.catalina.session.RedisSessionHandlerValve"/>
<Manager className="com.radiadesign.catalina.session.RedisSessionManager" database="0" host="192.168.0.117" maxInactiveInterval="60" port="6379"/>
用于和redis建立链接,注意 host是 redis 的访问地址 databse指的是redis的库名
(4) 将上文中提到的三个jar 分别放到 三个tomcat 目录下的lib目录中,这个地方jar文件的版本有可能会有冲突,配置的时候需要多尝试。我这里的版本如下,是验证过可以使用的,通过maven的库都可以下载到。
2. redis 配置(若reids 和 三个tomcat 在同一台主机上,则不需要进行redis的配置),
我是将redis服务器和其中一个tomcat 放在了同一台服务器上,另外两个tomcat放置在另一台服务器上。修改redis目录下的redis.windows.conf 文件。 redis bind默认绑定本机 127.0.0.1 如果要使另一台服务器的tomcat也能访问就修改 bind 地址 ,地址为redis 服务器的ip地址。注意 此处的ip地址应和 上文tomcat context.xml中加入这段代码中的 host的ip地址相同。
redis.windows.conf修改后 下文会提到redis的启动方式
3.nginx配置
打开nginx目录下的 nginx_config.xml 修改其中的配置
在访问静态文件时 ,已jsp页面为例
原来的访问路径是
<script type="text/javascript" src="<%=basePath%>/pc_back/jquery-easyui-1.5/locale/easyui-lang-zh_CN.js"></script>
添加静态代理后
<script type="text/javascript" src="/jquery-easyui-1.5/locale/easyui-lang-zh_CN.js"></script>
附上完整配置
四.工具启动和项目访问 启动建议 先启动redis(启动redis和要通过命令启动,让redis启动时读取redis.windows.conf文件的配置)、再启动 tomcat、最后启动nginx。window 窗口命令 进入redis -config目录 输入 redis-server.exe redis.windows.conf 启动redis.
所有配置完成,工具启动后。访问项目时直接访问 nginx代理服务器所在的服务器地址 +端口 (默认80)+项目名
|