링크 ux 에서 apache tomcat 높 은 부하 클 러 스 터 사용 가능
linux centos7
jdk1.7
tomcat7
apache2.4
필요 한 자원 팩 목록
apr #1.5 버 전 같 아 요.
apr-util #1.5 버 전 같 아 요.
\ # 이상, 모두 가능:http://apr.apache.org/download.cgi 다운로드
pcre #펄 도구
\ # 다운로드 주소: ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
\ # pcre 2 다운로드 하지 마 세 요
Liux 에서 소스 코드 설 치 는 여러 가지 의존 이 알 이 아 프 고 다른 설정 은 win 과 차이 가 많 지 않 습 니 다.
PS: 저 는 우선 설치 할 원본 패키지 와 설치 파일 을 모두 다운로드 하 겠 습 니 다.
sp 0: jdk 설치
open jdk 와 Oracle 의 jdk 는 어떤 면 에서 호 환 되 지 않 거나 부족 하기 때문에 저 희 는 보통 개발 에서 사용 하 는 Oracle jdk 입 니 다.
구체 적 으로 볼 수 있 습 니 다:http://fgh2011.iteye.com/blog/1771649
root
# su root
# Password:
jdk # java -version
prf: java version "xxxxx"
.....
jdk 가 설치 되 어 있 음 을 나타 낸다
우 리 는 우리 가 설치 한 것 을 교체 해 야 하기 때문에, 우 리 는 먼저 jdk 를 마 운 트 해제 해 야 한다.
우리 가 설치 한 jdk 정 보 를 조회 합 니 다.
#rpm -qa | grep jdk
xxxx 출현openjdk_xxxx 항목, 첫 번 째 복사 선택
그리고 저희 가 삭제 할 게 요.
#yum -y remove java
삭제 완료 대기
#java -version
그리고 자바 - version 에 jdk 정보 가 없 거나 rpm - qa | grep jdk 에 항목 정보 가 없 을 때 까지 반복 하면 됩 니 다.
설치 하 다.
좋 은 jdk. rpm 파일 을 다운로드 합 니 다.
#rpm -ivh jdk
#java -version
설 치 된 버 전 정보 가 있 습 니 다.
sp 1: apache 설치
우선 의존 패 키 지 를 설치 하고 각자 압축 을 풀 어 놓 은 폴 더 에 들 어 가 는 것 을 구분 합 니 다.
/ usr / local / 아래로 복사
#cp
:#tar -zxvf xxxxx.gz
1.1 설치 apr
우리 의 소스 코드 를 압축 해제 하 다.
#./configure --prefix=/usr/local/apr
#make && make install
1.2 apr - util 설치
우리 의 소스 코드 를 압축 해제 하 다.
#./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
#make && make install
PS: 우 리 는 지금 이 두 가지 의존 이 부족 하 다 는 것 을 알 고 있 기 때문에 먼저 설 치 했 습 니 다.
1.3 apache 설치
./configure --prefix=/usr/local/apache --enable-so -enable-proxy -enable-proxy_http=shared--enable-module=so --enable-mods-shared=all --enable-proxy-ajp=shared --enable-proxy-balancer -with-mpm=worker --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
pcre 부족 알림
여기에 문제 가 있 을 수 있 습 니 다. 일반적인 시스템 은 pcre 를 가지 고 있 기 때문에 시스템 이 자체 적 으로 가지 고 있 는 pcre 가방 을 마 운 트 해제 하지 마 세 요. 이것 은 한번 해 보 세 요.
1.4 pcre 설치 (여 기 는 건 너 뛸 수 있 고 시스템 자체 pcre 를 직접 사용 할 수 있 습 니 다)
원본 패키지 cp 우리 / usr / local 로
그리고 스트레스 를 풀 어 요.
#cd ./pcre-xx.xx.xx
#./configure --prefix=/usr/local/pcre
#make && make install
1.5 우리 의 1.3 단계 에 pcre 의 의존 도 를 더 해 줍 니 다.
#./configure --prefix=/usr/local/apache2.4 --enable-so -enable-proxy -enable-proxy_http=shared--enable-module=so --enable-mods-shared=all --enable-proxy-ajp=shared --enable-proxy-balancer -with-mpm=worker --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/user/local/pcre
PS: 어쨌든 이곳 에 서 는 신마 의존 이 적 으 면 신마 설치 의존 을 추가 합 니 다 (pcre 2 를 사용 할 수 없습니다)
#--prefix: 설치 할 경 로 를 지정 합 니 다.
#--enalbe - so: 열 어야 할 so 모듈 을 지정 합 니 다.
#-enable - xxxx: 이 구체 적 인 모듈 을 지정 합 니 다.
#이상 은 -- prefix 를 제외 하고 필요 한 설정 을 제외 하고 마지막 수 동 설정 을 생략 할 수 있 습 니 다.
#--with - xxxx: 이 지정 한 컴 파일 설치 에 필요 한 의존
#make && make install
만약 설치 가 통과 된다 면 우 리 는 다음 단 계 를 진행 할 수 있 을 것 이다.
sp 2. apahce 설정
2.1 httpd. conf 수정
#vim /usr/local/apache2.4/conf/httpd.conf
ServerName 을 이 컴퓨터 ip 로 변경 합 니 다.
우리 가 사용 할 so module 열기
Directory Index 에 추가 index.jsp
수정 사항 저장
#:wq!
apache 시작
#/usr/local/apache2.4/bin/apachectl start
브 라 우 저 에서 127.0.0.1 에 접근 하면 It 's works 가 나타 나 지 않 습 니 다!시작 에 성공 하지 못 했 음 을 나타 낸다.
우 리 는 문 제 를 해결 하기 위해 오류 로 그 를 볼 수 있다.
#less /usr/local/apache2.4/logs/error.log
apache 가 정상적으로 작 동 하 는 지 확인 합 니 다.
#ps -ef | grep httpd
:restart , :stop
sp 3. tomcat 설치 (여기 서 우 리 는 3 개의 tomcat 를 사용 하여 우리 가 구축 에 성 공 했 는 지 테스트 합 니 다)
3.1 다운로드 한 tomcat 패키지 압축 풀기
3.2 3 개 복사, 이름: tomcat 7.1 tomcat 7.2 tomcat 7.3
3.3 cp 에서 / usr / local / 아래로
sp 4. 클 러 스 터 설정 (여기 ajp 사용)
Ps:1.<Connector port="8081|8082|8083" protocl="HTTP/1.1" redirectPort="9441|9442|9443"
<Connector port="9001|9002|9003" protocl="AJP/1.1" redirectPort="8441|8442|8443"
<Server port="9006|9007|9008"
4.1 tomcat 설정 중
4.1.1 shutdown 포트 를 바 꾸 면 같은 서버 에서 다 릅 니 다.
<Server port="9006" shutdown="SHUTDOWN">
4.1.2 http port 변경 redirectPort, 같은 서버 아래 는 다 릅 니 다.
<Connector port="8081" protocol="HTTP/1.1" executor="tomcatThreadPool"
connectionTimeout="20000"
redirectPort="9441" />
4.1.3 ajp port 변경 redirectPort, 같은 서버 아래 는 다 릅 니 다.
<Connector port="9001" protocol="AJP/1.3" redirectPort="8441" />
4.1.4 Engine 을 바 꾸 고 jvmRoute 를 추가 하려 면 httpd. conf 와 일치 해 야 합 니 다.
<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
4.1.5 클 러 스 터 까지. 구체 적 으로 다음 과 같 습 니 다 (수신 기 port="5001|5002|5003" 같은 서버 에 서 는 같 을 수 없습니다)
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="6">
<Manager className="org.apache.catalina.ha.session.BackupManager" expireSessionsOnShutdown="false" notifyListenersOnReplication="true" mapSendOptions="6" />
<Channel className="org.apache.catalina.tribes.group.GroupChannel">
<Membership className="org.apache.catalina.tribes.membership.McastService" address="228.0.0.4" port="45564" frequency="500" dropTime="3000" />
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver" address="auto" port="5001" selectorTimeout="100" maxThreads="6" />
<Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
<Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender" />
</Sender>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector" />
<Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor" />
<Interceptor className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor" />
</Channel>
<Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;" />
<Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer" tempDir="/tmp/war-temp/" deployDir="/tmp/war-deploy/" watchDir="/tmp/war-listen/" watchEnabled="false" />
<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener" />
</Cluster>
4.1.6 테스트 항목 추가
생략한다
4.1.7 프로젝트 변경 웹. xml
< distributable / > 노드 추가
4.2 httpd. conf 의 설정
ProxyVia Off
ProxyRequests Off
<Proxy "balancer://cluster">
BalancerMember "ajp://127.0.0.1:9001" loadfactor=1 route="jvm1"
BalancerMember "ajp://127.0.0.1:9002" loadfactor=1 route="jvm2"
BalancerMember "ajp://127.0.0.1:9003" loadfactor=1 route="jvm3"
ProxySet lbmethod=bytraffic
</Proxy>
<Location "/balancer-manager">
SetHandler balancer-manager
Require host localhost
</Location>
열 린 모듈
#
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
LoadModule proxy_scgi_module modules/mod_proxy_scgi.so
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_express_module modules/mod_proxy_express.so
LoadModule session_module modules/mod_session.so
LoadModule session_cookie_module modules/mod_session_cookie.so
LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so
LoadModule status_module modules/mod_status.so
LoadModule speling_module modules/mod_speling.so
LoadModule alias_module modules/mod_alias.so
LoadModule rewrite_module modules/mod_rewrite.so
4.3 httpd - vhosts. conf 설정 수정
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName localhost
ServerAlias localhost
DirectoryIndex index.jsp
ProxyPass "/" "balancer://cluster/" stickysession=JSESSIONID scolonpathdelim=On
ProxyPassReverse "/" "balancer://cluster/"
ErrorLog "logs/lbtest-error.log"
CustomLog "logs/lbtest-access.log" common
</VirtualHost>
PS: 마지막 으로 설명 할 게 있어 요.
seliunx 와 방화벽 을 열 었 다 면
먼저 seliunx 를 닫 고 방화벽 정책 을 수정 합 니 다.
그렇지 않 으 면 그룹 방송 을 시작 하지 못 해 session 복사 가 불가능 합 니 다.
# /sbin/iptables -I INPUT -p udp --dport 45564 -j ACCEPT
# /etc/rc.d/init.d/iptables save
#seliunx
#setenforce 0
#semanage port -a -t http_port_t -p udp 45564
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.