웹서버는 직접적으로 관리를 하지 않아 설치 해볼일이 없었는데 테스트 시 필요해서 설치 해봤다.


[환경 2.4.x 케이스] 하단에 2.2.x 케이스도 있음

CentOS release 6.4 (Final) 64Bit

httpd-2.4.18

apr-1.5.2

apr-util-1.5.4

pcre-8.37

tomcat-connectors-1.2.41

tomcat 8.0.30



mkdir download
cd download/
wget http://apache.mirror.cdnetworks.com//httpd/httpd-2.4.18.tar.gz
tar xvzf httpd-2.4.18.tar.gz

wget http://mirror.apache-kr.org/apr/apr-1.5.2.tar.gz
tar xvzf apr-1.5.2.tar.gz

wget http://mirror.apache-kr.org/apr/apr-util-1.5.4.tar.gz
tar xvzf apr-util-1.5.4.tar.gz

mv apr-1.5.2 httpd-2.4.18/srclib/apr
mv apr-util-1.5.4 httpd-2.4.18/srclib/apr-util

wget http://sourceforge.net/projects/pcre/files/pcre/8.37/pcre-8.37.tar.gz/download
tar xvzf pcre-8.37.tar.gz
cd pcre-8.37
./configure --enable-unicode-properties=yes
make && make install

./configure \
--prefix=/usr/local/tomcat/apache-2.4.18 \
--enable-so \
--enable-rewrite \
--enable-proxy \
--enable-ssl \
--enable-mods-shared=all \
--enable-modules=shared \
--enable-mpms-shared=all \
--with-included-apr \
--with-included-apr-util
make && make install
/usr/local/tomcat/apache-2.4.18/bin/httpd -V
chown root:sys /usr/local/tomcat/apache-2.4.18/bin/httpd
chmod +s /usr/local/tomcat/apache-2.4.18/bin/httpd
/usr/local/tomcat/apache-2.4.18/httpd.conf
	ServerName localhost // 주석 해제 및 설정	
	LoadModule slotmem_shm_module modules/mod_slotmem_shm.so // 주석 해제


/usr/local/tomcat/apache-2.4.18/bin/httpd -k start
/usr/local/tomcat/apache-2.4.18/bin/httpd -k stop

wget http://apache.tt.co.kr/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.41-src.tar.gz
tar xvzf tomcat-connectors-1.2.41-src.tar.gz 
cd tomcat-connectors-1.2.41-src/native
./configure --with-apxs=/usr/local/tomcat/apache-2.4.18/bin/apxs
make && make install
ls -l /usr/local/tomcat/apache-2.4.18/modules/mod_jk.so

cp 톰켓롬/bin/tomcat-native.tar.gz .
tar xvzf tomcat-native.tar.gz
cd tomcat-native-1.1.33-src/jni/native

./configure --with-apr=/usr/local/tomcat/apache-2.4.18/bin/apr-1-config --prefix=/usr/local/tomcat/apache-tomcat-8.0.30
make && make install

톰캣 설정
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CATALINA_HOME/lib
export LD_LIBRARY_PATH


Include conf/extra/mod_jk.conf	

vi /usr/local/tomcat/apache-2.4.18/conf/httpd.conf
	# Virtual hosts
	Include conf/extra/httpd-vhosts.conf					// 주석 해제	
	# Various default settings
	Include conf/extra/httpd-default.conf					// 주석 해제
	Include conf/extra/mod_jk.conf	

	
vi vi /usr/local/tomcat/apache-2.4.18/conf/extra/mod_jk.conf	
	# -----------------------------------------
	#       DAK TEST Apache Httpd WebServer
	#
	#       contact : ddakker@ddakker.com
	# -----------------------------------------

	# Load mod_jk module
	# Update this path to match your modules location
	LoadModule jk_module          modules/mod_jk.so

	# Where to find workers.properties
	# Update this path to match your conf directory location (put workers.properties next to httpd.conf)
	JkWorkersFile conf/extra/workers.properties

	# Where to put jk logs
	# Update this path to match your logs directory location (put mod_jk.log next to access_log)
	JkLogFile     "|logs/mod_jk.log logs/mod_jk.log_%m%d%Y"

	JkShmFile     logs/mod_jk.shm

	# Set the jk log level [debug/error/info]
	JkLogLevel    info

	# Select the log format
	JkLogStampFormat "[%Y-%m-%d %H:%M:%S] "
	# JkOptions indicate to send SSL KEY SIZE,
	JkOptions     +ForwardKeySize +ForwardURICompat -ForwardDirectories +ForwardURICompatUnparsed

	# JkRequestLogFormat set the request format
	JkRequestLogFormat     "%w %V %T %R %s %U"

	# Send everything for context /examples to worker named worker1 (ajp13)
	JkMount  /jkstatus* jkstatus

	<location /jkstatus>
		JkMount jkstatus
		Order Deny,Allow
		Allow from 127.0.0.1
		Allow from 192
		Deny from all
	</location>

vi /usr/local/tomcat/apache-2.4.18/conf/extra/workers.properties
	# -----------------------------------------
	#       DAK TEST Apache Httpd WebServer
	#
	#       contact : ddakker@naver.com
	# -----------------------------------------

	worker.list=jkstatus,testcluster

	# Templates
	worker.template.type=ajp13
	worker.template.maintain=60
	worker.template.lbfactor=1
	worker.template.ping_mode=A
	worker.template.ping_timeout=2000
	worker.template.prepost_timeout=2000
	worker.template.socket_timeout=300
	worker.template.socket_connect_timeout=2000
	worker.template.socket_keepalive=true
	worker.template.connection_pool_timeout=300
	worker.template.connect_timeout=10000
	worker.template.recovery_options=7
	
	
	
	worker.testcluster11.reference=worker.template
	worker.testcluster11.host=192.168.0.2
	worker.testcluster11.port=9401
	
	worker.testcluster21.reference=worker.template
	worker.testcluster21.host=192.168.0.3
	worker.testcluster21.port=9401
	
	
	# -------- LB ------------
	
	
	worker.testcluster.type=lb
	worker.testcluster.method=Session
	worker.testcluster.sticky_session=True
	worker.testcluster.balance_workers=testcluster11,testcluster21
	
	
	
	worker.jkstatus.type=status
	
vi httpd-vhosts.conf
	NameVirtualHost *:80


	# Vhost - Tomcat Service
	Include conf/extra/vhost-tomcat.conf

vi vhost-tomcat.conf
	<virtualhost *:80>
		DocumentRoot "/data/webroot/test-cluster/webapp"

		ServerName testcluster.ddakker.pe.kr
		ServerAlias cluster.ddakker.pe.kr

		#ErrorLog "|/usr/sbin/cronolog /usr/local/tomcat/apache2/logs/cluster.ddakker.pe.kr-error_log.%m%d%Y"
		#CustomLog "|/usr/sbin/cronolog/usr/local/tomcat/apache2/logs/cluster.ddakker.pe.kr-access_log.%m%d%Y" combined
		DirectoryIndex /index.html /index.jsp

		JkUnMount   /*.js   testcluster
		JkUnMount   /*.css  testcluster
		JkUnMount   /*.jpg  testcluster
		JkUnMount   /*.png  testcluster
		JkUnMount   /*.gif  testcluster
		JkUnMount   /*.htm  testcluster
		JkUnMount   /*.html testcluster
		JkUnMount   /*.ico  testcluster
		JkUnMount   /*.eot  testcluster
		JkUnMount   /*.woff testcluster
		JkMount     /*      testcluster
		JkMount  /jkstatus* jkstatus

		<directory "/data/webroot/test-cluster/webapp">
                		Options FollowSymLinks
				AllowOverride None
				<ifversion < 2.3>
					Order allow,deny
					Allow from all
				</ifversion>
				<ifversion >= 2.3>
					Require all granted
				</ifversion>
		</directory>
	</VirtualHost>

	




[환경 2.2.x 케이스]

CentOS release 6.4 (Final) 64Bit

httpd-2.2.31

tomcat-connectors-1.2.41



wget http://apache.mirror.cdnetworks.com/httpd/httpd-2.2.31.tar.gz
tar xvzf httpd-2.2.31.tar.gz
cd httpd-2.2.31
./configure --prefix=/usr/local/tomcat/apache2
make
make install

chown root:sys /usr/local/tomcat/apache2/bin/httpd
chmod +s /usr/local/tomcat/apache2/bin/httpd

/usr/local/tomcat/apache2/bin/httpd -k start
/usr/local/tomcat/apache2/bin/httpd -k stop

wget http://apache.tt.co.kr/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.41-src.tar.gz
tar xvzf tomcat-connectors-1.2.41-src.tar.gz 
cd tomcat-connectors-1.2.41-src/native
./configure --with-apxs=/usr/local/tomcat/apache2/bin/apxs
make
make install

ls -l /usr/local/tomcat/apache2/modules/mod_jk.so
cd /usr/local/tomcat/apache2/conf
vi httpd.conf
	# Virtual hosts
	Include conf/extra/httpd-vhosts.conf
	
	# Various default settings
	Include conf/extra/httpd-default.conf
	
	Include conf/extra/mod_jk.conf	

vi /extra/mod_jk.conf	
	# -----------------------------------------
	#       DAK TEST Apache Httpd WebServer
	#
	#       contact : ddakker@ddakker.com
	# -----------------------------------------

	#LoadModule jk_module modules/mod_jk.so
	#
	#	JkWorkersFile    conf/extra/workers.properties
	#	JkLogFile        logs/mod_jk.log
	#	JkLogLevel       info
	#
	# Load mod_jk module
	# Update this path to match your modules location
	LoadModule jk_module          modules/mod_jk.so

	# Where to find workers.properties
	# Update this path to match your conf directory location (put workers.properties next to httpd.conf)
	JkWorkersFile conf/extra/workers.properties

	# Where to put jk logs
	# Update this path to match your logs directory location (put mod_jk.log next to access_log)
	JkLogFile     "|logs/mod_jk.log logs/mod_jk.log_%m%d%Y"

	JkShmFile     logs/mod_jk.shm

	# Set the jk log level [debug/error/info]
	JkLogLevel    info

	# Select the log format
	JkLogStampFormat "[%Y-%m-%d %H:%M:%S] "
	# JkOptions indicate to send SSL KEY SIZE,
	JkOptions     +ForwardKeySize +ForwardURICompat -ForwardDirectories +ForwardURICompatUnparsed

	# JkRequestLogFormat set the request format
	JkRequestLogFormat     "%w %V %T %R %s %U"

	# Send everything for context /examples to worker named worker1 (ajp13)
	JkMount  /jkstatus* jkstatus

	<location /jkstatus>
		JkMount jkstatus
		Order Deny,Allow
		Allow from 127.0.0.1
		Allow from 192
		Deny from all
	</location>
	
vi extra/workers.properties
	# -----------------------------------------
	#       DAK TEST Apache Httpd WebServer
	#
	#       contact : ddakker@naver.com
	# -----------------------------------------

	worker.list=jkstatus,testcluster

	# Templates
	worker.template.type=ajp13
	worker.template.maintain=60
	worker.template.lbfactor=1
	worker.template.ping_mode=A
	worker.template.ping_timeout=2000
	worker.template.prepost_timeout=2000
	worker.template.socket_timeout=300
	worker.template.socket_connect_timeout=2000
	worker.template.socket_keepalive=true
	worker.template.connection_pool_timeout=300
	worker.template.connect_timeout=10000
	worker.template.recovery_options=7
	
	
	
	worker.testcluster11.reference=worker.template
	worker.testcluster11.host=192.168.0.2
	worker.testcluster11.port=9401
	
	worker.testcluster21.reference=worker.template
	worker.testcluster21.host=192.168.0.3
	worker.testcluster21.port=9401
	
	
	# -------- LB ------------
	
	
	worker.testcluster.type=lb
	worker.testcluster.method=Session
	worker.testcluster.sticky_session=True
	worker.testcluster.balance_workers=testcluster11,testcluster21
	
	
	
	worker.jkstatus.type=status
	
vi httpd-vhosts.conf
	NameVirtualHost *:80


	# Vhost - Tomcat Service
	Include conf/extra/vhost-tomcat.conf

vi vhost-tomcat.conf
	<virtualhost *:80>
		DocumentRoot "/data/webroot/test-cluster/webapp"

		ServerName testcluster.ddakker.pe.kr
		ServerAlias cluster.ddakker.pe.kr

		#ErrorLog "|/usr/sbin/cronolog /usr/local/tomcat/apache2/logs/cluster.ddakker.pe.kr-error_log.%m%d%Y"
		#CustomLog "|/usr/sbin/cronolog/usr/local/tomcat/apache2/logs/cluster.ddakker.pe.kr-access_log.%m%d%Y" combined
		DirectoryIndex /index.html /index.jsp

		JkUnMount   /*.js   testcluster
		JkUnMount   /*.css  testcluster
		JkUnMount   /*.jpg  testcluster
		JkUnMount   /*.png  testcluster
		JkUnMount   /*.gif  testcluster
		JkUnMount   /*.htm  testcluster
		JkUnMount   /*.html testcluster
		JkUnMount   /*.ico  testcluster
		JkUnMount   /*.eot  testcluster
		JkUnMount   /*.woff testcluster
		JkMount     /*      testcluster
		JkMount  /jkstatus* jkstatus

		<directory "/data/webroot/test-cluster/webapp">
                		Options FollowSymLinks
				AllowOverride None
				<ifversion < 2.3>
					Order allow,deny
					Allow from all
				</ifversion>
				<ifversion >= 2.3>
					Require all granted
				</ifversion>
		</directory>

	</virtualhost>

vi /usr/local/tomcat/webroot/test-cluster/webapp/index.html
	

index.html

vi /usr/local/tomcat/webroot/test-cluster/webapp/info.jsp <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@page import="java.net.InetAddress"%> <% String serverIP = ""; try{ serverIP = InetAddress.getLocalHost().getHostAddress(); serverIP = serverIP.substring(serverIP.lastIndexOf(".")+1); }catch(Exception e){} String info = request.getServerName() + ", " + serverIP + ", " + System.getProperty("jvmRoute"); out.print(info); //System.out.println(info); %> vi /etc/hosts 127.0.0.1 localhost testcluster.ddakker.pe.kr wget http://testcluster.ddakker.pe.kr/index.html wget http://testcluster.ddakker.pe.kr/info.jsp wget http://testcluster.ddakker.pe.kr/jkstatus



[tomcat & tomcat-native 만 설치]

wget http://mirror.apache-kr.org/apr/apr-1.5.2.tar.gz
tar xvzf apr-1.5.2.tar.gz
./configure
make & make install

wget http://mirror.apache-kr.org/apr/apr-util-1.5.4.tar.gz
tar xvzf apr-util-1.5.4.tar.gz
./configure --with-apr=/usr/local/apr
make & make install

tar xvzf tomcat-native.tar.gz
./configure --with-apr=/usr/local/apr/bin/apr-1-config
make && make install

LD_LIBRARY_PATH=/usr/local/apr/lib
export LD_LIBRARY_PATH

+ Recent posts