728x90
반응형
출처 : http://www.javaservice.com/~java/bbs/read.cgi?b=engine&c=r_p&n=1222930198
1. 환경 - OS : AIX 5.2 - JDK : 1.4.2 - RAM : 2G - Apache : 2.2.6 - WAS : Jboss 3.2.8 (Tomcat5) 2. 시스템 구성 3. 설치 (연동 설치 가이드가 많이 있습니다. 검색하여 보시기 바랍니다.) 참고 사이트 : http://httpd.apache.org/docs/2.2/ - Apache 설치 $ tar xvzf httpd-2.2.6.tar $ cd httpd-2.2.6 $ make clean $./configure --prefix=/web/apache2 --with-mpm=worker --enable-speling=shared --enable-rewrite=shared --enable-modules=so $ make && make install - 커넥터 설치 (jk 1.2.26) 참고 사이트 : http://tomcat.apache.org/connectors-doc/ $ tar xvzf tomcat-connectors-1.2.26-src.tar $ cd tomcat-connectors-1.2.26-src For the impatient Apache admins: $> cd native $> ./configure --with-apxs=/usr/sbin/apxs (or where ever the apxs/apxs2 is) $> make $> su -c 'make install' - Jboss3.2.8 참고 사이트 http://www.jboss.org/jbossas/downloads/ 압축을 풀어 놓고 사용하시면 됩니다. 톰켓을 사용하셔도 무방합니다. jdk5, 6을 사정상 사용하지 못하였을 알려드리며, jdk6 + Tomcat6.x.x를 추천합니다. 4. 파라메타 튜닝 httpd.conf의 아래 파일들은 주석 해제되어야합니다. - httpd-mpm.confStartServers 20 MaxClients 500 최대 사용자 ThreadsPerChild 25 StartServer * ThreadsPerChild = 20 * 25 = 500 MinSpareThreads 25 MaxSpareThreads 500 MaxRequestsPerChild 0 - httpd-info.conf , http://yourServerName/server-status로 모니터링가능 접근제어를 아래와 같이 하실수있습니다.SetHandler server-status Order deny,allow Deny from all Allow from 160.100.52.1/255.255.255.0 127.0.0.1 - httpd-vhosts.conf 버추얼 호스팅시 만 사용ServerAdmin webmaster@cyclerace.or.kr DocumentRoot /web/waspage ServerName xxx.xxx.xxx.xxx ErrorLog "|/web/apache2/bin/rotatelogs /web/apache2/logs/www_error_log.%Y%m 10M" CustomLog "|/web/apache2/bin/rotatelogs /web/apache2/logs/www_access_log.%Y%m%d 86400" common env=!IMAGE JkMountFile conf/extra/uriworkermap.properties ServerAdmin webmaster@cyclerace.or.kr DocumentRoot /web/waspage ServerName xxx.xxx.xxx.xxx ErrorLog "|/web/apache2/bin/rotatelogs /web/apache2/logs/company_error_log.%Y%m 10M" CustomLog "|/web/apache2/bin/rotatelogs /web/apache2/logs/company_access.%Y%m%d 86400" common env=!IMAGE JkMountFile conf/extra/uriworkermap.properties - htttpd-default.conf Timeout 10 <- Ddos 공격 대비 KeepAlive On KeepAliveTimeout 2 or 1 <- 하나의 웹화면에는 gif, jgp, css, js 등의 여러 개 httpd 프로세스 소모되므로 KeepAlive On 옵션과 같이 사용하고 아주 짧게 적용, 모니터링 후 적용 추천 - mod-jk.conf JkLogFile "|/web/apache2/bin/rotatelogs /web/apache2/logs/mod_jk_log.%Y%m%d 86400" JkOptions +ForwardKeySize +ForwardURICompatUnparsed -ForwardDirectories - workers.properties 참고사이트 : http://tomcat.apache.org/connectors-doc/reference/workers.html worker.list = loadbalancer, status worker.node1.port=8009 worker.node1.maintain=60 worker.node1.host=xxx.xxx.xxx.xxx worker.node1.type=ajp13 worker.node1.lbfactor=1 worker.node1.fail_on_status=-404,-500,503,504 worker.node2.port=8009 worker.node2.maintain=60 worker.node2.host=xxx.xxx.xxx.xxx worker.node2.type=ajp13 worker.node2.lbfactor=1 worker.node2.fail_on_status=-404,-500,503,504 # Load-balancing behaviour worker.loadbalancer.type=lb worker.loadbalancer.max_reply_timeouts=5000 #<--5초 이상의 요청은 서버의 부하를 고려해 에러(504) 처리한다. worker.loadbalancer.balance_workers=node1,node2 worker.loadbalancer.method=Session worker.loadbalancer.sticky_session=1 worker.status.type=status <-- jkstatus 모니터링용 - uriworkermap.properties # 정적(jpg,css,js...)인 요소는 아파치가 동적인 요소만 넘긴다. /jkstatus=status /*.jsp=loadbalancer /waspage/*.do=loadbalancer /waspage/*.jsp=loadbalancer - httpd.conf 에러처리 화면 구성 ErrorDocument 403 /waspage/pages/error_404.html ErrorDocument 404 /waspage/pages/error_404.html ErrorDocument 502 /waspage/pages/error502.html ErrorDocument 503 /waspage/pages/error503.html ErrorDocument 504 /waspage/pages/error504.html HTTP Status Codes 400 400 Bad Request 401 401 Unauthorized 402 402 Payment Required 403 403 Forbidden 404 404 Not Found 405 400 Method Not Allowed 500 500 Internal Server Error 501 501 Not Implemented 502 502 Bad Gateway 503 503 Service Unavailable 504 504 Gateway Timeout - server.xml 참고자료 : 버전별 문서 확인 꼭 해야합니다. deprecated 또는 기본값을 꼭꼭꼭... Tomcat5 : http://tomcat.apache.org/tomcat-5.5-doc/config/ajp.html Tomcat6 : http://tomcat.apache.org/tomcat-6.0-doc/config/ajp.html Tomcat 5 의 경우 아래 파라메타는 기본값이 너무 적습니다. maxThreads="50" <--- 200 maxProcessors="20" <---200 일반적으로 아파치프로세스 수 > 톰캣 스레드 수 > DB Connection 수 조정 Engine jvmRoute=node1,2 적용 세션 클러스터링은 하지 않았고, jk의 sticky_session 옵션을 사용했습니다. 물론, L4의 Persistent Hash을 사용했습니다. 4. 로깅 및 모니터링 - 로깅 (성능에 미치는 영향이 큽니다, 날짜별로 로깅 추천합니다, 위 소스 내용중 적용되어있습니다) Tomcat의 경우 Tomcat6/conf/logging.properties를 수정하여 에러만 로깅하시고, 아파치의 경우 SetEnvIfNoCase Request_URI "\.(gif|png|jpg|css|js|bmp|jpeg|swf)$" IMAGE 를 적용하여 동적인 호출만 로깅 가능합니다. - 모니터링 아파치 : http://yourServerName/server-status JK : http://yourServerName/jkstatus Tomcat : http://yourServerName:8080/manager/html 설정하면 될거 같습니다. ------------------------------------------------------- 본 문서는 자유롭게 배포/복사 할 수 있으나 반드시 이 문서의 저자에 대한 언급을 삭제하시면 안됩니다 NO_SPAM_yunkidon@hotmail.com 윤기돈 010--5198--6704 =======================================================[출처] Apache + Tomcat 연동 설정 튜닝|작성자 노력하자 황좐
728x90
반응형
'SERVER > 회사서버셋팅중참조' 카테고리의 다른 글
tar 명령어 (0) | 2014.08.27 |
---|---|
apache 데몬 실행 권한 설정 (0) | 2014.08.27 |
[CentOS]상에서 apache + php + mysql 소스 컴파일의 이해 (0) | 2014.08.27 |
Apache 2.2 + mod_jk 1.2 ( load balancing ) + Tomcat 5.5 ( virtual hosting ) (0) | 2014.08.27 |
[JBOSS기본]JBossEAP 웹서버 연동 ( mod_jk mod-jk.conf ) (0) | 2014.08.27 |
AIX에서 Apache2 + Tomcat5.5 + JK Connector설치 (0) | 2014.08.27 |
AIX 6 에서 Apache, Tomcat 설치하기 (1) | 2014.08.27 |
【CentOS】Apache Httpd설치(2.2.17) (0) | 2014.08.27 |