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
项目测试