jdk6 + apache2.0. + tomcat6 + mod_jk2.so 정보
jdk6 + apache2.0. + tomcat6 + mod_jk2.so본문
os: centos5.2,apache2.0.63, mysql4.1.22
1. jdk6 설치
- java가 설치되어 있다면 삭제
- jdk se 다운로드
http://java.sun.com/javase/downloads/index.jsp
아래쪽 다운로드한다.
Java SE Development Kit (JDK) 6 Update 11
The Java SE Development Kit (JDK) includes the Java SE Runtime Environment (JRE) and command-line development tools that are useful for developing applets and applications.
wget http://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/VerifyItem-Start/jdk-6u11-linux-i586-rpm.bin?BundledLineItemUUID=0l1IBe.lfQYAAAEegSwmbvkg&OrderID=zbBIBe.lMvoAAAEeaiwmbvkg&ProductID=abtIBe.ovJUAAAEdeDBGb7Et&FileName=/jdk-6u11-linux-i586-rpm.bin
받은 파일 실행
sh 파일-rpm.bin
심볼릭 링크를 건다.
ln -s /usr/java/jdk1.6.0_11 /usr/local/java
/etc/profile 에 아래 추가
export PATH=$PATH:/usr/local/java/bin
export JAVA_HOME=/usr/local/java
정상 설치 되었는지 아래 명령어로 버전확인
[root@www java]# java -version
java version "1.6.0_11"
Java(TM) SE Runtime Environment (build 1.6.0_11-b03)
Java HotSpot(TM) Client VM (build 11.0-b16, mixed mode, sharing)
2. tomcat6 설치
wget http://ftp.kaist.ac.kr/pub/Apache/tomcat/tomcat-6/v6.0.18/bin/apache-tomcat-6.0.18.tar.gz
[root@www src]# tar xvzfp apache-tomcat-6.0.18.tar.gz
[root@www src]# mv apache-tomcat-6.0.18 /usr/local/
[root@www src]# cd /usr/local/
[root@www local]# ln -s apache-tomcat-6.0.18 ./tomcat
/etc/profile 에 아래 추가
export tomcat_HOME=/usr/local/tomcat
export TOMCAT_HOME=/usr/local/tomcat
export CATALINA_HOME=/usr/local/tomcat
export CATALINA_LIB=/usr/local/tomcat/lib
export CLASSPATH=.:/usr/local/java/lib/tools.jar:$CATALINA_LIB/servlet-api.jar:$CATALINA_LIB/jsp-api.jar
tomcat 시작한다.
[root@www local]# /usr/local/tomcat/bin/catalina.sh start
vi /etc/init.d/tomcat6
#!/bin/sh
#
# Startup script for the tomcat
#
# chkconfig: 345 80 15
# description: Tomcat is a Servlet+JSP Engine.
# Source function library.
. /etc/rc.d/init.d/functions
export JAVA_HOME=/usr/local/java
export CATALINA_HOME=/usr/local/tomcat
export PATH=$PATH:$JAVA_HOME/bin
case "$1" in
'start')
if [ -f /usr/local/tomcat/bin/startup.sh ]; then
echo "Starting the tomcat service"
"/usr/local/tomcat/bin/startup.sh"
fi
;;
'stop')
echo "Stopping the tomcat service."
"/usr/local/tomcat/bin/shutdown.sh"
;;
'restart')
$0 stop
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart}"
;;
esac
exit 0
3. apache-tomcat connector
wget http://archive.apache.org/dist/tomcat/tomcat-connectors/jk2/v2.0.2/src/jakarta-tomcat-connectors-jk2-2.0.2-src.tar.gz
[root@www src]# tar xvzpf jakarta-tomcat-connectors-jk2-2.0.2-src.tar.gz
[root@www native2]# cd jakarta-tomcat-connectors-jk2-2.0.2-src/jk/native2
[root@www native2]# sh ./buildconf.sh
libtoolize --force --automake --copy
aclocal
automake --copy --add-missing
autoconf
[root@www native2]# ./configure --with-apxs2=/usr/local/apache/bin/apxs
make
[root@www native2]# cd ../build/jk2/apache2/
[root@www apache2]# /usr/local/apache/bin/apxs -n jk2 -i mod_jk2.so
/usr/local/httpd2/build/instdso.sh SH_LIBTOOL='/usr/local/httpd2/build/libtool' mod_jk2.so /usr/local/httpd2/modules
/usr/local/httpd2/build/libtool --mode=install cp mod_jk2.so /usr/local/httpd2/modules/
cp mod_jk2.so /usr/local/httpd2/modules/mod_jk2.so
Warning! dlname not found in /usr/local/httpd2/modules/mod_jk2.so.
Assuming installing a .so rather than a libtool archive.
chmod 755 /usr/local/httpd2/modules/mod_jk2.so
4. httpd.conf
추가
LoadModule jk2_module modules/mod_jk2.so
5. /usr/local/tomcat/conf/web.xml 에서 주석제거
115 <!--
116 <servlet>
117 <servlet-name>invoker</servlet-name>
118 <servlet-class>
119 org.apache.catalina.servlets.InvokerServlet
120 </servlet-class>
121 <init-param>
122 <param-name>debug</param-name>
123 <param-value>0</param-value>
124 </init-param>
125 <load-on-startup>2</load-on-startup>
126 </servlet>
127 -->
363 <!--
364 <servlet-mapping>
365 <servlet-name>invoker</servlet-name>
366 <url-pattern>/servlet/*</url-pattern>
367 </servlet-mapping>
368 -->
6. /usr/local/tomcat/conf/server.xml 수정
<?xml version='1.0' encoding='utf-8'?>
<Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<Listener className="org.apache.catalina.core.JasperListener" />
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<GlobalNamingResources>
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>
<Service name="Catalina">
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
<Host appBase="/home/news1.talk25.net/html" name="news1.talk25.net">
<Context docBase="/home/news1.talk25.net/html" path="/" reloadable="true" debug="5" crossContext="true" privileged="true"></Context>
</Host>
</Engine>
</Service>
</Server>
안되면 아래처럼.
<Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>
<GlobalNamingResources>
<Environment name="simpleValue" type="java.lang.Integer" value="30"/>
</GlobalNamingResources>
<Service name="Catalina">
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="700" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
<Connector port="8009"
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
<Engine name="Catalina" defaultHost="localhost">
<Host name="localhost">
<Context path="" docBase="/home/shopion/debec" debug="0" privileged="true">
</Context>
</Host>
</Engine>
</Service>
</Server>
7. /usr/local/tomcat/webapps/ROOT 에 있는 테스트 파일 모두 /home/경로 복사
8. jakarta-tomcat-connectors 에서 파일 복사
cp /usr/local/src/jakarta-tomcat-connectors-jk2-2.0.2-src/jk/conf/workers2.properties /usr/local/apache/conf/workers2.properties
cp /usr/local/src/jakarta-tomcat-connectors-jk2-2.0.2-src/jk/conf/jk2.properties /usr/local/tomcat/conf/jk2.properties
9. workers2.properties 파일 수정
vi /usr/local/apache/conf/workers2.properties
[logger.apache2]
level=DEBUG
[shm]
file=/usr/local/apache/logs/shm.file
size=1048576
[status:status]
#토크25
[channel.socket:news1.talk25.net:8009]
port=8009
host=127.0.0.1
[ajp13:news1.talk25.net:8009]
channel=channel.socket:news1.talk25.net:8009
[uri:news1.talk25.net/*.jsp]
worker=ajp13:news1.talk25.net:8009
[uri:news1.talk25.net/servlet/*]
worker=ajp13:news1.talk25.net:8009
10 index.jsp 인덱스 추가 httpd.conf
vi /usr/local/apache/conf/httpd.conf
DirectoryIndex index.html index.php index.htm index.cgi index.jsp
테스트
http://xxx.xxx:8080 톰캣 화면 잘 뜨는지 확인
apache 연동 확인
/usr/local/tomcat/webapps/examples 여기 자료를 /home/경로 에 복사
examples/WEB-INF/lib 안에 있는 jar파일 클래스패스에 추가
export CLASSPATH=.:/usr/local/java/lib/tools.jar:$CATALINA_LIB/servlet-api.jar:$CATALINA_LIB/jsp-api.jar:/home/talk25.net/html/examples/WEB-INF/lib/jstl.jar:/home/talk25.net/html/examples/WEB-INF/lib/standard.jar
http://xxx.xxx/examples/jsp/jsp2/tagfiles/hello.jsp
hello world가 잘찍히면 성공..
간단하게
http://xxx.xxx/examples/test.jsp
<% out.println("Hello world"); %>
11. mysql4 연동
wget http://mysql.byungsoo.net/">http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-3.1.14.tar.gz/from/http://mysql.byungsoo.net/
위 받은 jar 파일을 /usr/local/java/jre/lib/ext 에 넣고 lib/ 밑에 넣고 클래스 패스에 지정한다.
테스트 소스
vi jdbcTest.java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class jdbcTest {
public static void main(String[] args) {
try {
// The newInstance() call is a work around for some
// broken Java implementations
Class.forName("com.mysql.jdbc.Driver").newInstance();
} catch (Exception ex) {
// handle the error
}
try{
Connection conn =
DriverManager.getConnection("jdbc:mysql://아이피/dbname" ,"xxx" ,"xxx");
} catch (SQLException ex) {
// handle any errors
System.out.println("SQLException: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("VendorError: " + ex.getErrorCode());
}
}
}
javac jdbcTest.java
java jdbcTest 했을때 오류나지 않아야 한다.
jdbc 연결시 classpath 가중요함.
0
댓글 0개