1. MySQL RDS 생성 후 Tomcat 인스턴스와 연결

    Untitled

  2. 인스턴스에서 DB 접속, 테이블 생성

    mysql -h [psy-db.cr11ygywub5g.ap-northeast-2.rds.amazonaws.com](<http://psy-db.cr11ygywub5g.ap-northeast-2.rds.amazonaws.com/>) -u admin -p
    # mysql -h [ENDPOINT_IP] -P [PORT_NUMBER] -u [USER_NAME] -p
    # 패스워드 입력
    

    테이블 생성

    create database test;
    use test;
    create table dbtest ( id INT PRIMARY KEY AUTO_INCREMENT, name varchar(50), age int, email varchar(50) );
    insert into dbtest (name, age, email) values ('홍길동',30,'[email protected]');
    

    Untitled

  3. DB test용 jsp 파일 생성

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <%@ page import="java.sql.*"%>
    <%@ page import="javax.naming.*"%>
    <%@ page import="javax.sql.DataSource" %>
    
    <h1>DB-1</h1>
    <%
        Connection conn = null;
        try {
            Context initContext = new InitialContext();
            Context envContext = (Context) initContext.lookup("java:comp/env");
            DataSource dataSource = (DataSource) envContext.lookup("jdbc/mysql");
    
            conn = dataSource.getConnection();
            out.println("DB 연결 성공!");
    
            Statement stmt = conn.createStatement();
            ResultSet rs = stmt.executeQuery("SELECT * FROM dbtest");
    
            // 결과 출력
            while (rs.next()) {
                int id = rs.getInt("id");
                String 이름 = rs.getString("name");
                int 나이 = rs.getInt("age");
                String 이메일 = rs.getString("email");
    
                out.println("ID: " + id + ", 이름: " + 이름 + ", 나이: " + 나이 + ", 이메일: " + 이메일 + "<br>");
            }
    
            rs.close();
            stmt.close();
    
        } catch (Exception e) {
        out.println("예외 발생: " + e.getMessage());
        e.printStackTrace(new java.io.PrintWriter(out));
        } finally {
            try {
                if (conn != null) {
                    conn.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
    			}
        }
    %>
    
  4. DB Connector 설치

    cd /home/tomcat/apache-tomcat-9.0.75/lib
    # tomcat 디렉토리의 lib에 커넥터 다운로드
    wget <https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-j-8.0.33.tar.gz>
    tar xvfz mysql-connector-j-8.0.33.tar.gz
    
  5. Tomcat 설정 파일 수정

    <Context>
    <Resource name="jdbc/mysql"
                auth="Container"
                type="javax.sql.DataSource"
                driverClassName="com.mysql.jdbc.Driver"
                maxWait="5000"
                username="admin"
                password="password"
                testOnBorrow="true"
                url="jdbc:mysql://psy-db.cr11ygywub5g.ap-northeast-2.rds.amazonaws.com:3306/test"/>
    </Context>
    

    Untitled

  6. Nginx 설정 파일 추가

    location /dbtest {
            proxy_pass <http://10.1.41.127:8080>;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
        }
    

    Untitled

  7. Nginx 및 Tomcat 재시작

    sudo /home/tomcat/apache-tomcat-9.0.75/bin/shudown.sh
    sudo /home/tomcat/apache-tomcat-9.0.75/bin/startup.sh
    
    systemctl restart nginx
    
  8. DB 연결 확인

    IP/dbtest.jsp

    IP/dbtest.jsp