본문 바로가기

AWS/인프라 구축

AWS EC2 Nginx, Tomcat, RDS(MariaDB) 연동

반응형

 

구성도

 

 

1. Nginx 설치

nginx 설치 방법

 

AWS EC2 Nginx 설치(Amazon Linux 2, Ubuntu)

1. Amazon Linux 2 yum 업데이트 sudo yum update -y repository 등록 sudo vi /etc/yum.repos.d/nginx.repo 아래 코드 추가 [nginx] name=nginx repo baseurl= http://nginx.org/packages/centos/7/$basearch/ gpgcheck=0 enabled=1 repository 확인 yum info

minha0220.tistory.com

 

2. Java,Tomcat 설치

java 설치 방법

 

AWS EC2 JAVA 설치

운영체제: Amazon Linux 2 JAVA 설치 sudo yum -y install java-1.8.0-openjdk JAVA 버전확인 java -version JAVA 컴파일러 설치 sudo yum install -y java-1.8.0-openjdk-devel JAVAC 버전확인 javac -version 설치경로확인 which java readlink -

minha0220.tistory.com

tomcat 설치 방법

 

AWS EC2 Apache Tomcat 설치

운영체제: Amazon Linux 2 1. 파일생성 후 이동 sudo mkdir /home/tomcat cd /home/tomcat 2. Tomcat tar 파일 다운로드 https://tomcat.apache.org/download-90.cgi Apache Tomcat® - Apache Tomcat 9 Software Downloads Welcome to the Apache Tomcat®

minha0220.tistory.com

 

 

3. Nginx Tomcat 연동

nginx tomcat 연동 방법

 

AWS EC2: Nginx, Tomcat 연동

1. Nginx, Tomcat 활성화 확인 systemctl status nginx ps -ef | grep tomcat 만약 실행 안돼있으면 실행 #nginx sudo systemctl start nginx #tomcat sudo /home/tomcat/apache-tomcat-9.0.75/bin/startup.sh 2. Nginx 파일 설정 sudo vi /etc/nginx/con

minha0220.tistory.com

 

4. MariaDB 설치

tomcat 설치한 인스턴스에 mariadb설치

 

# Ubuntu
sudo apt-get update && sudo apt-get install -y mariadb-server
# AWS Linux 2
sudo yum install -y mariadb-server

 

 

5. MariaDB 시작

sudo systemctl start mariadb

 

6. MariaDB 접속

mysql -h <RDS 엔드포인트> -P <RDS 포트> -u <RDS 유저명> -p

 

RDS 엔트포인트, 포트, 유저명은 AWS RDS 데이터베이스에서 확인 가능

 

 

 

 

 

 

연결이 안된다면 EC2 인스턴스에 RDS를 연결했는지 확인(EC2 인스턴스와 RDS연결 방법 링크)

 

 

 


이하 Tomcat과 RDS 연동 후 Nginx를 통해 데이터가 잘 나오는지 테스트하는 과정

 

1. DB에 테스트할 데이터 삽입

 

2. Tomcat index 수정

기본화면 대신 방금 생성한 데이터를 출력하도록 수정

 

sudo vi /home/tomcat/apache-tomcat-9.0.75/webapps/ROOT/index.jsp

 

아래 코드 추가

<!DOCTYPE html>
<html>
<head>
  <title>MariaDB</title>
</head>
<body>
  <%-- MariaDB 연결 정보 --%>
  <% String url = "jdbc:mariadb://<RDS 엔드포인트>:<RDS 포트>/<데이터베이스 이름>";
     String username = "<RDS 유저명>";
     String password = "<RDS 비밀번호>";
     String driver = "org.mariadb.jdbc.Driver"; %>

  <%@ page import="java.sql.*" %>
  <%@ page import="javax.naming.*" %>
  <%@ page import="javax.sql.*" %>

  <%!
    public Connection getConnection() throws Exception {
      String driver = "org.mariadb.jdbc.Driver";
      String url = "jdbc:mariadb://<RDS 엔드포인트>:<RDS 포트>/<데이터베이스 이름>";
      String username = "<RDS 유저명>";
      String password = "<RDS 비밀번호>";
      Class.forName(driver);
      Connection conn = DriverManager.getConnection(url, username, password);
      return conn;
    }
  %>

  <%
    Connection conn = null;
    Statement stmt = null;
    ResultSet rs = null;

    try {
       conn = getConnection();
       stmt = conn.createStatement();
       String sql = "SELECT * FROM <테이블명>";
       rs = stmt.executeQuery(sql);
  %>

  <h1>MariaDB Data</h1>
    <% while (rs.next()) { %>
        <p>Name: <%= rs.getString("name") %></p>
        <p>Age: <%= rs.getInt("age") %></p>
    <% }
       rs.close();
       stmt.close();
       conn.close();
     } catch (Exception e) {
       e.printStackTrace();
     }
    %>
</body>
</html>

 

 

 

3. Tomcat lib 디렉토리에 JDBC 드라이버 설치

cd /home/tomcat/apache-tomcat-9.0.75/lib
wget https://dlm.mariadb.com/2896635/Connectors/java/connector-java-2.7.9/mariadb-java-client-2.7.9.jar

 

디렉토리 이동 시 permission denied가 뜨면 root 권한으로 실행(sudo -i)

 

JDBC 드라이버는 MariaDB 웹페이지에서 download 태그에서 확인

 

Download MariaDB Connectors for data access & streaming | MariaDB

Download connectors for high-performance data access & data streaming. MariaDB connectors include Python, C, C++, Java 7, Java 8, ODBC, R2DBC and Node.js.

mariadb.com

 

 

 

4. Tomcat 재시작

sudo /home/tomcat/apache-tomcat-9.0.75/bin/shutdown.sh
sudo /home/tomcat/apache-tomcat-9.0.75/bin/startup.sh

 

 

5. 확인

 

반응형