링크 ux 환경 에서 아파 치 + Tomcat 클 러 스 터 설정
15271 단어 linux
apache 는 여러 개의 tomcat 를 설정 하여 요청 분 류 를 실현 하고 여러 개의 tomcat 서비스 가 균형 적 으로 부하 되 어 서비스의 신뢰성 을 증가 합 니 다.최근 에 연 구 를 해 봤 는데 많은 문제 에 부 딪 혔 습 니 다. 기록 해 보 세 요. 나중에 찾 아 보기 편 하고 apache 를 좋아 하지 않 습 니 다. nginx 도 할 수 있 습 니 다.
준비 하 다.
판본 이 매우 중요 한데, 나 는 판본 때문에 줄곧 잘못 보고 하 였 다.
linux
현재 Liux 시스템 버 전 을 보 려 면 \ #
lsb_release -a
을 사용 하 십시오.이 예: CentOS Linux 릴 리 스 7.0.1406 (Core)
jdk
현재 버 전 을 보 려 면 \ #
java -version
을 사용 하 십시오. 없 으 면 먼저 설치 하 십시오.download link 이 예: 자바 버 전 "1.7.0 80"
tomcat
압축 해제 설치 위 치 를 확인 합 니 다.download link
이 예: apache - tomcat - 7.0.69. tar. gz
apache
Liux 시스템 에서 apache 서비스 메 인 프로그램 은 httpd 이기 때문에 이름 도 httpd 입 니 다.현재 버 전 을 보기 위해 서 \ #
httpd -version
를 사용 하 십시오.여 기 는 yum 으로 download link 를 설치 합 니 다.이 예: 아파 치 / 2.4.6 (CentOS)
tomcat-connectors
tomcat - connectors 는 apache 와 tomcat 를 연결 하 는 플러그 인 패키지 입 니 다. 이 버 전 은 매우 중요 합 니 다. 바로 이 를 찾 는 데 오 랜 시간 이 걸 렸 습 니 다. 주로 컴 파일 된 mod 를 사용 하기 위해 서 입 니 다.jk. so 파일.Apache 2.2. x 시 mod 직접 다운로드 가능jk-1.2.31-httpd-2.2.x.so
공식: modjk-1.2.31-httpd-2.2.x.so is for Apache 2.2.x. It has been build against version 2.2.3, but should work with Apache 2.2.0 and later. Rename to mod_jk.so before putting it in your modules directory or adjust your LoadModule statement.,
하지만 저 는 Apache 2.4.6 을 사 용 했 습 니 다. yum 을 사용 하여 설치 할 때 최신 버 전 을 기본 으로 설치 합 니 다. \ #
yum list httpd
조회 할 때 이것 밖 에 없 었 습 니 다.그래서 새 중간 가방 을 다운로드 하고 컴 파일 이 필요 합 니 다.download link 이 예: tomcat - connectors - 1.2.42 - src. tar. gz
설치 하 다.
이 패 키 지 를 폴 더 아래 에 두 고 나 는
/home
아래 에 두 었 다.이곳 의 주요 설 치 는 Apache 설치 입 니 다. 저 는 yum 설 치 를 사용 합 니 다.yum list httpd
\ # 설치 가능 버 전 목록 보기 yum install httpd
\ # 기본 설치 httpd -v
\ # 설치 가 끝 났 습 니 다. 설치 버 전 을 보고 설치 오류 가 발생 하면 apache 가방 을 볼 수 있 습 니 다. 예 를 들 어 httpd. x8664 yum list|grep httpd
그리고 관련 의존 팩 을 삭제 합 니 다.메모: 삭제 후 일부 설정 은 유 지 됩 니 다.yum erase httpd.x86_64
service httpd start
아파 치 서 비 스 를 시작 합 니 다. 기본 포트 는 80 입 니 다. IP 나 도 메 인 이름 으로 페이지 를 직접 방문 하면 시작 에 성 공 했 고 service httpd status
의 이상 정 보 를 볼 수 없습니다.apache - tomcat - 7.0.69. tar. gz, 압축 을 풀 면 됩 니 다.
tar zxvf /home/apache-tomcat-7.0.69.tar.gz
\ # 현재 폴 더 로 압축 풀기 cp /home/apache-tomcat-7.0.69 /usr/local/
\ # / usr / local / 폴 더 로 복사 mv /usr/local/apache-tomcat-7.0.69 tomcat1
\ # 폴 더 이름 을 tomcat 1 이 예 는 여러 tomcat 에서 아파 치 를 설정 하기 때문에 이 동작 을 한 번 더 해 야 합 니 다. 두 번 째 tomcat 를 만 들 고 tomcat 2 라 고 명명 합 니 다.
tomcat - connectors 컴 파일 및 mod 가 져 오기jk. so 파일,
tar zxvf /home/tomcat-connectors-1.2.42-src.tar.gz
cd /home/tomcat-connectors-1.2.40-src/native
컴 파일 할 때 Apache bin 패키지 의 apxs 도구 가 필요 하기 때문에 yum 에서 따 르 기 때문에 bin 패키지 가 없 으 므 로 httpd - devel 개발 패 키 지 를 다운로드 해 야 합 니 다.
rpm -qa|grep httpd
\ # httpd 패키지 목록 보기 yum -y install httpd-devel
\ # 존재 하지 않 으 면 바로 설치 which apxs
\ # 이 도구 의 위 치 를 조회 합 니 다. 여 기 는 / usr / sbin / apxs tomcat - connectors 컴 파일 연결...
[native]# ./configure --with-apxs=/usr/sbin/apxs
\ # = 뒤의 위 치 는 바로 위 에 apxs 위 치 를 설치 하 는 것 입 니 다. /home/tomcat-connectors-1.2.40-src/native
디 렉 터 리 에서 조작 해 야 합 니 다.[native]# make
\ # 컴 파일 실행 cp /home/tomcat-connectors-1.2.40-src/native/apache-2.0/mod_jk.so /etc/httpd/modules/
전체 경 로 를 사 용 했 으 니 스스로 간략하게 쓸 수 있다.
배치 하 다.
두 개의 파일 을 만 들 고 mod 를 이용 합 니 다.jk. so 플러그 인 패 키 지 는 아파 치 를 tomcatx 와 연결 합 니 다.아파 치 설정 파일 들 어가 기
cd /etc/httpd/conf
\ # 설정 폴 더 에 들 어가 기 vi mod_jk.conf
\ # 파일 만 들 기, shift+: => q => Enter
닫 기 vi workers.properties
\ # 파일 만 들 기, shift+: => q => Enter
닫 기 # mod_jk.so ,
LoadModule jk_module /etc/httpd/modules/mod_jk.so
# tomcat
JkWorkersFile conf/workers.properties
#
JkLogFile /etc/httpd/logs/mod_jk2.log
#
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkRequestLogFormat "%w %V %T"
####### , controller
JkMount /servlet/* controller
JkMount /*.jsp controller
JkMount /*.do controller
############## end #######################
workers. properties 파일 을 열 고 기록 합 니 다.
#server
worker.list = controller
#========tomcat1========
worker.tomcat1.port=11009 # tomcat
worker.tomcat1.host=localhost
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor = 1
#========tomcat2========
worker.tomcat2.port=12009 # tomcat
worker.tomcat2.host=localhost
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor = 1
#========controller= =======
worker.controller.type=lb
worker.controller.balanced_workers=tomcat1,tomcat2 # tomcat ","
worker.controller.sticky_session=false
worker.controller.sticky_session_force=1
#worker.controller.sticky_session=1
파일 연결 을 만 들 려 면 Apache 프로필 에 추가 하고 httpd. conf 를 열 어 mod 를 추가 해 야 합 니 다.jk. conf 파일.
vi /etc/httpd/conf/httpd.conf
\ # 파일 을 엽 니 다.Include /etc/httpd/conf/mod_jk.conf
\ # 이 줄 을 추가 하여 연결 을 만 듭 니 다.Listen 80
접근 인 터 페 이 스 를 수정 할 수 있 습 니 다. 기본 값 은 80 입 니 다.연결 이 완료 되면 tomcatx 의 server. xml 설정 파일 을 수정 해 야 합 니 다.부분 변경:
...
<Connector port="11009" protocol="AJP/1.3" redirectPort="8443" />
...
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
...
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
테스트
이 클 러 스 터 설정 이 성공 적 으로 설정 되 었 는 지 확인 하기 위해 서 는 테스트 의 간단 한 페이지 를 만 들 고 tomcat 에 두 면 ROOT 에 접근 할 수 있 습 니 다.test. jsp 테스트 페이지 의 내용 은 다음 과 같 습 니 다.
"text/html; charset=utf-8" %>
"java.util.*" %>
<html>
<head>
<title>
Cluster App Test
title>
head>
<body>
Server Info:
request.getLocalAddr() + " : " + request.getLocalPort()+
"
");%>
"
ID " + session.getId()+ "
"); // Session
String dataName=r equest.getParameter( "dataName"); if (dataName !=n
ull && dataName.length()>
0) { String dataValue = request.getParameter("dataValue"); session.setAttribute(dataName,
dataValue); } out.println("
Session
"); System.out.println("============================"); Enumeration e
= session.getAttributeNames(); while (e.hasMoreElements()) { String name
= (String)e.nextElement(); String value = session.getAttribute(name).toString();
out.println( name + " = " + value+"
"); System.out.println( name + " = " + value); } %>
<form action="test2.jsp" method="POST">
:
<input type=text size=20 name="dataName">
<br>
:
<input type=text size=20 name="dataValue">
<br>
<input type=submit>
form>
body>
html>
아파 치 시작
service httpd start
service httpd status
\ # 정상적으로 작 동 하 는 지 확인 cd /usr/local/tomcat{x}/bin
\ # bin 디 렉 터 리 열기 ./startup.sh
\ # 시작 tail -f ../logs/catalina.out
\ # 인쇄 콘 솔 보기, ctrl + z
종료 ab -n 4000 -c 1000 http://123.xx.xxx.xx/
\ # 4000 요청 + 1000 병발 수 + 요청 한 주소, 자신의 서버.관련 데 이 터 는 나타 날 수 있 고 먼저 tomcat 를 열 어 여러 개의 tomcat 를 설정 하여 비교 테스트 를 할 수 있 습 니 다.총결산
사실은 어렵 지 않 습 니 다. 다만 세심 하지 못 할 뿐 모든 소프트웨어 는 설정 하고 관련 이 있어 야 합 니 다. 이 점 을 잡 고 생각 을 정리 하 며 문 제 를 해결 하 는 방법 이 많 습 니 다.인터넷 자 료 를 샅 샅 이 뒤 졌 으 니, 자신 도 나중에 약간의 보답 으로 기록 해 야 한다.관련 참고:
개인 블 로그:http://www.abina.me/articles/2017/01/19/1484820029888.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
용감한 바로 가기 및 우분투 응용 프로그램안녕하세요 여러분, 이 기사에서는 모든 사이트에서 pwa를 생성하고 실행기 응용 프로그램으로 추가하는 방법을 설명하고 싶습니다. 일부 웹사이트는 PWA로 설치를 허용하지 않지만 유사한 애플리케이션을 원합니다. 1. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.