1.基本配置必备项,tomcat+nginx+redis+jar包 nginx 解压nginx在文件夹输入cmd 打开cmd输入 start nginx.exe 命令 启动nginx 在任务管理器可以查看到进程
nginx常用命令 1.快速停止或关闭 nginx -s stop 2.正常停止或关闭 nginx -s quit 3.配置文件修改重装载命令 nginx -s reload niginx默认端口号是80 可以在浏览器进行测试 输入localhost 如图
eg: 创建俩个文件夹分别为t1,t2放俩个tomcat用nginx来管理俩个tomcat tomcat 配置 server.xml 配置项目路径 path是tomcat访问这个应用的URL路径。
把java项目拷到webapp下删除其他的东西。 添加 jvmRoute=”t1” 用来区分tomcat 并更改tomcat端口号 为8081 如图所示eg: 另一个tomcat做同样的更改 端口号为8082 jvmRoute=”t2” 项目路径为t2/tomcat/webapp/** 可以进入tomcat bin文件夹点击startup开启tomcat在url进行测试 如果tomcat正常访问项目继续下一步
在nigix conf文件夹下的nginx.conf进行配置 建议下载一款软件editPlus进行编辑
ygc可以更改 ip_hash;访问粘合 upstream ygc{
server localhost:8081; #连接本地服务器端口 server localhost:8082; ip_hash;}
//配置拦截
location / { root html; index index.html index.htm; proxy_pass http://ygc; proxy_redirect off; proxy_set_header X-Forwarded-For proxy_add_x_forwarded_for; proxy_set_header X-Real-IPremote_addr; proxy_set_header Host $http_host; proxy_connect_timeout 1; proxy_read_timeout 1; proxy_send_timeout 1;
} eg:如图
基本策略概念 1.轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。(分配给不同的tomcat) 2.weight(权重) 指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。(能者多劳) 3.ip_hash 每个请求按访问ip的hash结果分配,这样每个访问固定访问一个后端服务器,可以解决session的问题(访问以后就粘在一起) 4.fair(第三方) 按后端服务器的响应时间来分配请求,响应时间短的优先分配 5.url_hash(第三方) 按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效
cmd文件夹启动redis 命令 redis-server.exe redis.conf 启动redis redis-cli.exe -h 127.0.0.1 -p 6379 开启客户端 可以输入 keys * 查看所有 set username “ygc” 设置name get username 获取name 测试–如果能获取到说明没问题 如图 下载redis和tomcat融合时所需要的jar包,将其放到各个tomcat的lib文件夹下
commons-pool 连接池
jedis-2.7.2操作redis的java代码
tomcat-redis-session tomcat和redis结合它的session
更改tomcat 的 context.xml session共享 配置连接池 俩个tomcat都需要更改 这时候可以取消掉nginx的 ip_hash 更改为默认的轮询策略
<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" /> <Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager" host="localhost" port="6379" database="0" maxInactiveInterval="60" />如图 启动顺序-redis-tomcat-nginx 项目测试