ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Project: 3Tier 구성하기(CentOS7)
    공부합시다!/Cloud 2023. 2. 2. 00:14
    728x90

    드디어 Project들이 진행이 되네요!

    우선 3Tier 구성에 대해서 진행합니다.

     

    WEB(Apache) <-> WAS(Tomcat) <-> DB(MySQL5.7)가 각각의 역할에 맞게 구성하는 것을 3Tier 구성이라고 합니다. WEB+WAS <-> DB로 연결하는 2Tier 구성도 많이들 사용합니다.

    이렇게 계층을 나눠서 서비스를 진행하면 속도가 느린 동적인 페이지는 WAS가 전문적으로 처리하고 정적인 페이지들은 속도가 빠른 WEB를 처리를 해서 Service를 빠르게 처리할 수 있는 장점을 갖게 됩니다.

    WAS만 단독으로 구성한다면 정적인 페이지까지 처리해야 하니 느려질 수 밖에 없겠지요!

     

    오늘은 모두 yum를 활용해서 구성합니다.

    인터넷에 Binary설치에 대한 자료들이 넘처나니 일단은 쉽게 yum으로 작업을 진행합니다.

    ps: 방화벽은 모두 open상태, 여러분은  firewall-cmd 로 제어하셔야 합니다.

     

    3Tier

     

    1. apache 설치 및 설정(CentOS7-1)

    2. tomcat 설치 및 설정(CentOS7-2)

    3. mysql5.7 설치 및 설정(CentOS7-3)

    4. Test

    순서로 진행합니다.

     

    1. apache 설치 및 설정(CentOS7-1)

     1.1. apache 설치 및 필수 패키지 설치

    # yum install -y httpd 
    # yum install -y gcc gcc-c++ wget expat-devel httpd-devel
    # yum install -y java-11-openjdk-devel.x86_64

     1.2. wokers.properties 파일 생성 및 구성

    # vi /etc/httpd/conf/workers.properties
    
    worker.list=tomcat1
    worker.tomcat1.type=ajp13
    worker.tomcat1.host=10.0.0.11
    worker.tomcat1.port=8009
    worker.tomcat1.lbfactor=1
    
    :wq

     1.3. tomcat.conf 파일 작성(이름은 뭐라 해도 상관 없음)

    # vi /etc/httpd/conf.d/tomcat.conf
    
    LoadModule jk_module /etc/httpd/modules/mod_jk.so
            
                    <IfModule jk_module>
                            JkWorkersFile /etc/httpd/conf/workers.properties
                            JkLogFile /var/log/httpd/mod_jk.log
                            JkLogLevel info
                            JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
                            JkMount /*.jsp tomcat1 
                    </IfModule>
    :wq

     

     

     1.4. mod_jk.so 설치

    # wget https://dlcdn.apache.org/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.48-src.tar.gz --no-check-certificate
    source 파일 다운로드
    
    # tar xvfz tomcat-connectors-1.2.48-src.tar.gz 
    압축 및 아카이브 해제
    
    # cd tomcat-connectors-1.2.48-src/native/
    디렉토리 이동
    
    # ./configure --with-apxs=/usr/bin/apxs
    환경 설정
    
    # make && make install
    컴파일 및 설치

     

     1.5. index.html 작성

    # vi /var/www/html/index.html
    
    <html>
    <body>
    <h1>3Tire Configuration</h1>
    <ul>
            <li> web </li>
            <li> was </li>
            <li> db </db>
    </ul>
    </body>
    </html>
    
    :wq

     

    2. tomcat 설치 및 설정(CentOS7-2)

     2.1. tomcat 설치

    # yum install -y tomcat*
    
    java 및 기타 tomcat 관련된 모든 패키지 설치
    이렇게 하지 않고 tomcat만 설치하면 다른 패키지를 설치해야하는 불편함이 있습니다.
    바로 아래에 있는 것들도 설치해야 하는 불편함
    
    # yum install -y tomcat-webapps tomcat-admin-webapps

     

     2.2. server.xml 설정

     

     2.3. mysql-connect 설치

    # yum install -y mysql-connector-java.noarch

     

     2.4. db.jsp 파일 생성

    # vi /var/lib/tomcat/webapps/ROOT/db.jsp
    
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8" import="java.sql.*"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>DB Connection Test</title>
    </head>
    <body>
    <%
    String DB_URL = "jdbc:mysql://10.0.0.12:3306/mysql?autoReconnect=true&serverTimezone=UTC";
    String DB_USER = "root"; 
    String DB_PASSWORD= "It12345@";
    
    Connection conn;
    Statement stmt;
    
    try {
     Class.forName("com.mysql.jdbc.Driver");
     conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);
     stmt = conn.createStatement();
     conn.close();
     out.println("MySql jdbc test: connect ok!!"); 
    } catch(Exception e) {
     out.println(e.getMessage());
    }
    %>
    </body>
    </html>
    
    :wq

     

    주의 

    cp /usr/share/java/mysql-connector-java.jar /usr/share/tomcat/lib

    꼭 해주세요! - 이준님이 알려주셨습니다.

     

    3. mysql5.7 설치 및 설정(CentOS7-3)

    2022.04.05 - [공부합시다!/LInux] - CenTOS7 : WordPress + MySQL5.7 + PHP7.3 Install

    참고하세요.

     

    4. Test

     4.1 index.html

     

     4.2 index.jsp (CentOS7-2의 /var/lib/tomcat/webapps/ROOT/index.jsp 존재함)

     

    4.3 db.jsp (CentOS7-2의 /var/lib/tomcat/webapps/ROOT/db.jsp 생성함)

     

    자 이렇게 해서 3Tier 구성을 완료했습니다.

    여러분들이 하셔야 할 일은 이걸 자동화 하는 것입니다..

    또한 jsp가 아닌 php로도 구현해 보시기 바랍니다.

    그리도 Container -> K8S -> Cloud 환경의 K8S 구축이 프로젝트 순서가 됩니다.

     

    Have a nice day!

     

     

     

     

    728x90
Designed by Tistory.