관리 메뉴

의미없는 블로그

Ubuntu 20.04 + Tomcat 9 + Mysql 8.0 + JSP + Apache 2 본문

# 나/!nfra

Ubuntu 20.04 + Tomcat 9 + Mysql 8.0 + JSP + Apache 2

SaltLee 2024. 6. 21. 12:03

우분투에 톰캣, mysql 깔고 jsp 로 연동할거다

 

Java 설치 경로 확인

java 설치해야 할 경우

# java 1.8 설치
sudo apt install openjdk-8-jdk

# default 값으로 세팅
sudo update-java-alternatives --set java-1.8.0-openjdk-amd64

# 잘 되었나 확인
java -version

 

 

Tomcat 9 설치

# apt-get 업데이트
sudo apt-get update
sudo apt-get upgrade

# 톰캣 설치
sudo apt-get install tomcat9
sudo service tomcat9 start

# 톰캣 방화벽 열기
sudo ufw allow 8080

# 톰캣 접속
http://localhost:8080

 

톰캣 디폴트 경로 /usr/share/tomcat9 (bin 폴더 있는)

웹 루트는 /var/lib/tomcat9/webapps/ROOT (conf 폴더 있는)

/etc/tomcat9 = /var/lib/tomcat9/conf 같다

 

 

Mysql 8.0 설치

# mysql 설치
sudo apt-get install mysql-server

# mysql 설정
sudo mysql_secure_installation

# mysql 접속
sudo mysql -u root -p (초기 패스워드 없음)

# 계정 생성
create user 'id'@'localhost' identified by 'password';
grant all privileges on *.* to 'id'@'localhost' with grant option;

 

JDBC 드라이버 (.jar 다운로드)
https://repo1.maven.org/maven2/com/mysql/mysql-connector-j/8.0.33/

Ubuntu 버전에 맞는거 다운받으면 되고
몇 버전이 맞는지는 요기서 확인 가능
https://downloads.mysql.com/archives/c-j/

 

# .jar 톰캣 lib 에 넣어줌
sudo mv mysql-connector-j-8.0.33.jar /var/lib/tomcat9/lib

# .jar 소유자 tomcat 으로 변경
sudo chown tomcat:tomcat /var/lib/tomcat9/lib/mysql-connector-j-8.0.33.jar

# 톰캣 재시작
sudo service tomcat9 restart

 

dbtest.jsp 작성

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="java.sql.*" %>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>MySQL Version</title>
</head>
<body>
    <h2>MySQL Version</h2>
    <%
        // Database connection parameters
        String url = "jdbc:mysql://localhost:3306/dbname";
        String username = "id";
        String password = "password";
        
        Connection conn = null;
        Statement stmt = null;
        ResultSet rs = null;

        try {
            // Load the JDBC driver
            Class.forName("com.mysql.cj.jdbc.Driver");

            // Establish the connection
            conn = DriverManager.getConnection(url, username, password);

            // Create the statement
            stmt = conn.createStatement();

            // Execute the query to get MySQL version
            rs = stmt.executeQuery("SELECT VERSION()");

            // Process the result set
            if (rs.next()) {
                String version = rs.getString(1);
                %>
                <p>MySQL Version: <%= version %></p>
                <%
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            // Close the resources
            if (rs != null) try { rs.close(); } catch (SQLException e) { e.printStackTrace(); }
            if (stmt != null) try { stmt.close(); } catch (SQLException e) { e.printStackTrace(); }
            if (conn != null) try { conn.close(); } catch (SQLException e) { e.printStackTrace(); }
        }
    %>
</body>
</html>

 

8080 으로 붙으면 Mysql 버전 나옴

 

Apache 2 설치

# apache 설치
sudo apt-get install apache2

# 데몬 확인(자동 시작됨)
sudo systemctl status apache2 

# apache 접속
http://localhost

 

# 아파치 톰캣 연동 모듈 설치
sudo apt install libapache2-mod-jk

#설정 파일 
sudo vi /etc/libapache2-mod-jk/workers.properties 

 

 

#apache 설정 파일에 연동 모듈 설정
sudo vi /etc/apache2/apache2.conf 

  JkWorkersFile /etc/libapache2-mod-jk/workers.properties



# apache 설정 파일에 ajp 설정

sudo vi /etc/apache2/sites-available/000-default.conf

  DocumentRoot 톰캣 웹 루트 경로
  JkMount /* ajp13_worker

 

 

# tomcat 설정 파일에 ajp 설정
sudo vi /etc/tomcat9/server.xml

 

 

# ajp 모듈 활성화
sudo a2enmod proxy
sudo a2enmod proxy_ajp

 

# 서비스 재시작
sudo service apache2 restart
sudo service tomcat9 restart

 

80 으로 붙으면 톰캣 연동돼서 mysql 버전 나옴

Comments