nginx + redis 부하 균형 과 session 공유 실현
최근 에는 nginx 를 통 해 부하 가 되 고 session 을 공유 하 는 것 을 실현 하고 싶 습 니 다.
필요 한 자원
nginx-1.13.4
apache-tomcat-7.0.63
commons-pool2-2.3.jar
commons-pool-1.2.jar
jedis-2.1.0.jar
tomcat-juli-8.0.23.jar
tomcat-redis-session-manager-1.2-tomcat-7.jar
먼저 nginx 설정 입 니 다.
upstream cluster_redis {
server localhost:8280 max_fails=1 fail_timeout=60s;
server localhost:8380 max_fails=1 fail_timeout=60s;
}
server {
listen 8180;
server_name localhost;
location / {
proxy_pass http://cluster_redis;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Scheme $scheme;
proxy_connect_timeout 10;
proxy_read_timeout 10;
proxy_send_timeout 10;
}
}
처음에 nginx 는 80 포트 충돌 을 보 고 했 습 니 다. 인터넷 의 방법 에 따라 어떻게 해 야 하 는 지, 어떻게 해 야 하 는 지, 마지막 에 포기 하고 80 포트 를 다른 것 으로 바 꾸 었 습 니 다. 저 는 8080 으로 바 꾸 면 nginx 를 시작 할 수 있 습 니 다.
또한 tomcat 설정 입 니 다.
host="127.0.0.1"
port="6379"
database="0"
password="123456"
maxInactiveInterval="60" />
그리고 위 에 있 는 jar 가방 을 tomcat 의 lib 폴 더 에 넣 으 면 여기 있 는 redis 설정 과 redis 의 구축 에 대해 상세 하 게 쓰 여 있 습 니 다. 이것 은 아주 간단 합 니 다. 다음 redis 의 설치 가방 은 설치 하면 됩 니 다.
그리고 tomcat 안에 있 는 ROOT 밑 에 index. jsp 를 새로 만 듭 니 다.
String sessionId=session.getId(); // session ID
String userName=request.getParameter("userName");
String password=request.getParameter("password");
String logout=request.getParameter("logout");
if(userName!=null&&!"".equalsIgnoreCase(userName.trim())){
System.out.println("userName:"+userName);
session.setAttribute("userName", userName);
}
if(logout!=null){
session.setAttribute("userName", "");
System.out.println("logout....");
}
System.out.println("tomcat 1");
out.println("tomcat 1");
%>
test
<br>function logout11(){<br> $.ajax({<br> type:"POST",<br> url:"index.jsp",<br> dataType:"json",<br> data:{logout:"logout"},<br> success:function(result) {<br> location.href="index.jsp";<br> },<br> error:function(result){<br><br> }<br> });<br>}<br><br>function login(){<br> var userName=$("#userName").val();<br><br> $.ajax({<br> type:"POST",<br> url:"index.jsp",<br> dataType:"json",<br> data:{userName:userName},<br> success:function(result) {<br> alert(1111);<br> location.href="index.jsp";<br> },<br> error:function(result){<br><br> }<br> });<br>}<br>
current sessionID:
userName:
jquery js 자체 다운로드 교체.
그 다음 에 tomcat 를 복사 하고 포트 를 바 꾸 었 습 니 다. 이때 제 두 tomcat 의 포트 는 각각 8280, 8380 입 니 다.
자, nginx 와 tomcat 두 개 를 시작 하여 접근 합 니 다.http://localhost:8180/index.jsp
[img]111.png[/img]
[img]222.png[/img]
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.