사용자 도구

사이트 도구


service:was:tomcat

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

다음 판
이전 판
service:was:tomcat [2008/06/18 09:02]
gauryan 새로 만듬
service:was:tomcat [2020/06/06 21:47] (현재)
starlits [Tomcat]
줄 1: 줄 1:
 ====== Tomcat ====== ====== Tomcat ======
  
-===== CentOS 5 에서 설치하기 ===== +  - [[service:was:tomcat:tomcat_apache_virtualhost | Install Tomcat 6 on Debian (squeeze) with virtual hosts and Apache2 integration ]] 
-CentOS 5 에서 yum 을 이용해서 Tomcat 5.5 를 설치하면, gcj(Java 1.4.2가 기본으로 설치된다.\\ +  - [[service:was:tomcat:centos5 | CentOS 5 에서 설치하기 ]] 
-이 때문에 Java 1.5 이상에서 지원되는 새로운 기능들(Annotation, Generics, Boxing 등)을 사용할 수 없게 된다.\\ +  - [[service:was:tomcat:debian | Deian Linux (Etch) 에서 Apache 2.2 와 Tomcat 5.5 설치(연동)]] 
-그러므로, [[http://java.sun.com|Sun Microsystems]] 에서 직접 JDK 를 다운로드 받아서 설치하도록 한다.\\ +  [[service:was:tomcat:dbpool Connection Pool 설정하기 ]] 
-현 시점(2008-03-20)에서 JDK 의 최신버전은 1.6 Update 5 이다. 파일명은 jdk-6u5-linux-i586-rpm.bin 이다.\\ +  [[service:was:tomcat:shutdown | shutdown.sh 실행시 비스가 종료되지 않는 경우 ]]
-해당 파일을 다운로드 받은 후 chmod 로 실행권한을 준 후에 실행하면 파일이 풀리면서 RPM 파일이 자동으로 설치된다.\\ +
-__설치된 JDK 는 /usr/java/jdk1.6.0_05 에 위치하며, /usr/java/default, /usr/java/latest 에 소프트 링크가 걸린다.__\\ +
-__환경 변수 JAVA_HOME=/usr/java/default 를 설정하고__, 아래와 같이 결과가 나오면 정상 설치된 것이다. +
-<code> +
-# java -version +
-java version "1.6.0_05" +
-Java(TM) SE Runtime Environment (build 1.6.0_05-b13) +
-Java HotSpot(TM) Client VM (build 10.0-b19, mixed mode, sharing) +
-</code>+
  
-yum 을 이용해서 설치한 Tomcat 5.5 를 새로 설치한 java 1.6_5 로 실행되게 설정하면, 여러 jar 파일들이 없다고 메시지를 뿌린다.\\ 
-일일이 찾아서 설치해 줄수도 있겠지만, 상당히 번거롭기 때문에 Tomcat 5.5 를 별도로 다운로드 받아서 설치하도록 하자.\\ 
-[[http://tomcat.apache.org/download-55.cgi]] 에서 최신버전(5.5.26)을 받는다. 파일 이름은 apache-tomcat-5.5.26.tar.gz 이다.\\ 
-이 파일을 /opt 에 복사한 후 아래와 같이 압축을 풀고 디렉토리 이름을 바꾸기만 하면 설치 완료이다. 
-<code> 
-# tar xvfz apache-tomcat-5.5.26.tar.gz  
-# mv apache-tomcat-5.5.26 tomcat 
-</code> 
-Tomcat 을 실행하려면 아래와 같이 실행한다. 
-<code> 
-# cd /opt/tomcat/bin 
-# ./startup.sh 
-</code> 
-Debian 에서 비해서 상당히 번거롭게 설치를 해야 되고, 부팅시 자동 시작도 지원되지 않는다. 
- 
- 
-===== Deian Linux (Etch) 에서 Apache 2.2 와 Tomcat 5.5 설치(연동) ===== 
- 
-==== Sun JDK 1.5 설치 ==== 
-sources.list 파일에 non-free 를 추가한다. 
-<code> 
-# vi /etc/apt/sources.list 
-deb http://ftp.kr.debian.org/debian/ etch main non-free 
-deb-src http://ftp.kr.debian.org/debian/ etch main non-free 
- 
-deb http://security.debian.org/ etch/updates main contrib non-free 
-deb-src http://security.debian.org/ etch/updates main contrib non-free 
-</code> 
-패키지 목록을 업데이트하고 설치한다. 
-<code> 
-# apt-get update 
-# apt-get install sun-java5-jdk sun-java5-fonts 
-# vi /etc/profile 
-export JAVA_HOME="/usr/lib/jvm/java-1.5.0-sun" 
-export PATH=$JAVA_HOME/bin:$PATH 
- 
-# source /etc/profile 
-# java -version 
-java version "1.5.0_14" 
-Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_14-b03) 
-Java HotSpot(TM) Client VM (build 1.5.0_14-b03, mixed mode, sharing) 
-</code> 
- 
- 
-==== Apache 2.2 and Tomcat 5.5 설치 ==== 
-<code> 
-# apt-get install tomcat5.5 tomcat5.5-admin tomcat5.5-webapps libapache2-mod-jk apache2 apache2-utils 
-</code> 
- 
-Apache 2.2 의 Virtual Host 설정에서 아래와 같이 해준다. 
-<code> 
-# mkdir /opt/project_name/web/WEB-INF 
-# cd /etc/apache2/sites-available 
-# vi project_name 
-NameVirtualHost *:80 
- 
-<VirtualHost *:80> 
-    ServerName test.com 
-    ServerAlias www.test.com 
-    DocumentRoot /opt/project_name/web 
-</VirtualHost> 
- 
-# a2ensite project_name 
-</code> 
- 
-Tomcat 5.5 의 Virtual Host 설정을 아래와 같이 해준다. 
-<code> 
-# cd /etc/tomcat5.5 
-# vi server.xml 
- 
-... 
-      <!-- test.com --> 
-      <Host name="test.com" debug="0" appBase="" unpackWARs="true" autoDeploy="true"> 
-        <Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="test.com_" suffix=".log" timestamp="true"/> 
-        <Context path="" docBase="/opt/project_name/web" debug="0"> 
-          <Resources className="org.apache.naming.resources.FileDirContext" allowLinking="true" /> 
-        </Context> 
-      </Host> 
-... 
- 
-# /etc/init.d/tomcat5.5 restart 
-</code> 
- 
-/etc/init.d/tomcat5.5 를 열어서 아래와 같이 수정해준다. 
-<code> 
-TOMCAT5_SECURITY=no 
-</code> 
- 
-==== Apache 2.2 + Tomcat 5.5 연동 ==== 
-<code> 
-# vi /etc/libapache2-mod-jk/workers.properties 
-workers.tomcat_home=/usr/share/tomcat5.5 
-workers.java_home=/usr/lib/jvm/java-1.5.0-sun 
- 
-# cd /etc/apache2 
-# cp /usr/share/doc/libapache2-mod-jk/httpd_example_apache2.conf mods-available/jk.conf 
-# ln -s /etc/apache2/mods-available/jk.conf mods-enabled/jk.conf 
-# /etc/init.d/apache2 restart 
-</code> 
- 
-이후에 /opt/project_name/web 디렉토리에 test1.html 과 test2.jsp 파일을 작성하여 브라우저에서 테스트해본다. 
-  * http://test.com/test1.html 
-  * http://test.com:8180/test2.jsp 
-  * http://test.com/test2.jsp 
- 
- 
-===== Connection Pool 설정하기 ===== 
-  - JDBC Driver 를 $CATALINA_HOME/common/lib 에 복사한다. 
-  - server.xml 의 <Context> 태그 안쪽에 다음을 추가한다.<code xml> 
-          <Resource name="jdbc/DBName" 
-                    auth="Container" 
-                    type="javax.sql.DataSource" 
-                    driverClassName="com.mysql.jdbc.Driver" 
-                    loginTimeout="10" 
-                    maxWait="5000" 
-                    username="아이디" 
-                    password="비밀번호" 
-                    testOnBorrow="true" 
-                    url="jdbc:mysql://localhost:3306/디비이름" /> 
-</code> 
-  - web.xml 에 다음을 추가한다.<code xml> 
-    <resource-ref> 
-        <description>MySQL DB Connection</description> 
-        <res-ref-name>jdbc/DBName</res-ref-name> 
-        <res-type>javax.sql.DataSource</res-type> 
-        <res-auth>Container</res-auth> 
-    </resource-ref> 
-</code> 
-  - JSP 코드를 다음과 같이 작성한다. 관련 DB와 테이블은 작성되어 있어야 합니다.<code> 
-<%@ page contentType="text/html;charset=utf-8" session="true" %> 
-<%@ page import="java.sql.*" %> 
-<%@ page import="javax.sql.*" %> 
-<%@ page import="javax.naming.*" %> 
-<html> 
-<head> 
-<meta http-equiv="content-type" content="text/html; charset=utf-8"> 
-<title>테스트</title> 
-</head> 
-<body> 
-<% 
-DataSource   ds = null; 
-Connection conn = null; 
-Statement  stmt = null; 
-ResultSet    rs = null; 
- 
-try { 
-    Context initCtx = new InitialContext(); 
-    Context envCtx = (Context) initCtx.lookup("java:comp/env"); 
-    ds = (DataSource) envCtx.lookup("jdbc/DBName"); 
-    conn = ds.getConnection(); 
-    stmt = conn.createStatement(); 
-    rs  = stmt.executeQuery("select code_class_id, code_class_name from tb_code_class"); 
-    while(rs.next()) { 
-        out.println("Code Class ID: " + rs.getString("code_class_id")); 
-        out.println(", Code Class Name: " + rs.getString("code_class_name") + "<br />"); 
-    } 
-    rs.close(); 
-    stmt.close(); 
-    conn.close(); 
-} catch (Exception e) { 
-    out.println("<br /><font color='red'>SQL Exception: " + e + "</font><br/>"); 
-} 
-%> 
-</body> 
-</html> 
-</code> 
-  - JSTL 을 이용하는 경우에는 $CATALINA_HOME/common/lib 에 standard.jar, jstl.jar 파일을 복사하고 코드를 다음과 같이 작성합니다. <code> 
-<%@ page contentType="text/html;charset=utf-8" session="true" %> 
-<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %> 
-<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
- 
-<sql:query var="rs" dataSource="jdbc/DBName"> 
-select code_class_id, code_class_name from tb_code_class 
-</sql:query> 
- 
-<html> 
-  <head> 
-    <meta http-equiv="content-type" content="text/html; charset=utf-8"> 
-    <title>테스트</title> 
-  </head> 
-  <body> 
- 
-<c:forEach var="row" items="${rs.rows}"> 
-    ID ${row.code_class_id}<br/> 
-    Name ${row.code_class_name}<br/><br/> 
-</c:forEach> 
- 
-  </body> 
-</html> 
-</code> 
  
 ===== 한글문제 해결책 ===== ===== 한글문제 해결책 =====
줄 213: 줄 14:
   * [[http://www.mimul.com/pebble/default/2007/12/09/1197199680000.html|DBCP와 iBatis를 통한 Connection Pooling 사용기]]   * [[http://www.mimul.com/pebble/default/2007/12/09/1197199680000.html|DBCP와 iBatis를 통한 Connection Pooling 사용기]]
   * [[http://kwon37xi.egloos.com/3666564|초보 Java 웹 개발자들을 위한 학습 로드맵]]   * [[http://kwon37xi.egloos.com/3666564|초보 Java 웹 개발자들을 위한 학습 로드맵]]
- 
service/was/tomcat.1213747343.txt.gz · 마지막으로 수정됨: 2008/06/18 09:02 저자 gauryan