MySQL RDS 생성 후 Tomcat 인스턴스와 연결
인스턴스에서 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]');
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();
}
}
%>
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
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>
Nginx 설정 파일 추가
location /dbtest {
proxy_pass <http://10.1.41.127:8080>;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
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
DB 연결 확인
IP/dbtest.jsp