tomcat 서버
- ip 주소 : 211.183.3.88
- hostname : tomcat
tomcat 설치
1. openjdk-8-jdk 설치
2. tomcat 다운로드 후 압축해제
<openjdk 설치>
root@tomcat:~# apt -y install openjdk-8-jdk
root@tomcat:~# cd~
root@tomcat:~# pwd
/root
root@tomcat:~# wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.76/bin/apache-tomcat-9.0.76.zip
# 내가 현재 위치한 디렉토리를 확인후 링크주소를 wget으로 다운로드
root@tomcat:~# apt -y install unzip
# unzip 다운로드
root@tomcat:~# unzip apache-tomcat-9.0.76.zip
# 압축해제
root@tomcat:~# rm -rf apache-tomcat-9.0.76.zip
# 압축파일은 삭제
root@tomcat:~# mv apache-tomcat-9.0.76/ tomcat
# mv로 디렉토리의 이름 변경
root@tomcat:~# chmod 777 -R tomcat
# tomcat이라는 디렉토리의 권한을 모두 읽고/쓰고/실행할수있도록 변경. -R : 하위디렉토리 포함
root@tomcat:~/tomcat# ./bin/startup.sh
# 톰캣 실행
211.183.3.88:8080 으로 접속시 톰캣 기본페이지 확인 가능.
<링크주소 복사>
tomcat sample Application
<샘플파일 다운로드>
root@tomcat:~/tomcat# wget https://tomcat.apache.org/tomcat-7.0-doc/appdev/sample/sample.war
war 파일이 자동으로 압축해제된것을 확인 가능
211.183.3.88:8080/sample 에서 웹어플리케이션이 정상 동작하는것을 확인할 수 있다. 이러한 방식으로 만든 웹어플리케이션(war파일)을 리눅스 톰캣에 올려 구동시킬 수 있다.
톰캣의 웹루트디렉토리 = 톰캣이 설치된 폴더/webapps/ROOT
/root/tomcat/webapps/ROOT/
톰캣의 루트디렉토리에 test.jsp 파일을 생성
root@tomcat:~/tomcat# vi /root/tomcat/webapps/ROOT/test.jsp
<%@ page contentType="text/html; charset=UTF-8"%>
<html>
<head><title>hello world</title></head>
<body>
<h2>
TOMCAT TEST<br><br>
time : <%= new java.util.Date()%>
<%@ page import="java.net.InetAddress" %><br>
<%InetAddress inet= InetAddress.getLocalHost();%>
WAS ip : <%=inet.getHostAddress()%>
</h2>
</body>
</html>
톰캣 중지
root@tomcat:~/tomcat# ./bin/shutdown.sh
톰캣 재시작
root@tomcat:~/tomcat# ./bin/startup.sh
<jdbc , tomcat에서 mysql과 연동하기 위한 라이브러리 파일 다운로드 링크>
https://mvnrepository.com/artifact/mysql/mysql-connector-java/8.0.23
<링크주소 복사>
<라이브러리 폴더로 이동후 다운로드>
root@tomcat:~/tomcat# cd lib
root@tomcat:~/tomcat/lib# chmod 777 -R mysql-connector-java-8.0.23.jar
<웹루트디렉토리에 dbtest.jsp 파일을 생성>
root@tomcat:~/tomcat# vi /root/tomcat/webapps/ROOT/dbtest.jsp
아래 내용을 복붙하되 , <>괄호안의 내용은 본인의 DB정보에 맞게 수정한다
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.sql.*"%>
<h1>DB</h2>
<%
Connection conn=null;
try{
String Url="jdbc:mysql://<DB주소>/<db이름>";
String Id="<DB유저>";
String Pass="<암호>";
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection(Url,Id,Pass);
out.println("was-db Connection Success!");
}catch(Exception e) {
e.printStackTrace();
}
%>
<ubuntu에 mysql 서버 설치>
root@db:~# apt -y install mariadb-server
root@db:~# systemctl restart mariadb
-u db유저 -p<암호> -p와 암호는 띄어쓰기를 하면 안되고 붙여서 써야한다.
root@db:~# mysql -u root -p
- 모든IP주소(%)에서 접속하는 testuser라는 db사용자에 test_DB라는 DB의 모든 권한을 부여. 암호는 1234
- 단, ‘%’에 localhost는 포함되지 않는다.
MariaDB [(none)]> grant all privileges on test_DB.* to testuser@'%' identified by '1234';
<test_DB라는 DB 생성>
MariaDB [(none)]> create database test_DB;
<외부에서 접속가능하게 mariadb 서버 설정 변경>
mariadb 서버 설정파일
root@db:~# vi /etc/mysql/mariadb.conf.d/50-server.cnf
#bind-address를 주석처리하여 모든 주소에서 접속 가능하게끔 설정한다.
변경사항 반영
root@db:~# systemctl restart mariadb
필요한 DB 정보
DB주소 : 211.183.3.210
DB이름 : test3_DB
DB유저 : test3user
DB유저암호 : test123
<DB 서버에서 다음 명령어 실행>
DB서버진입
root@db:~# mysql
권한부여
MariaDB [(none)]> grant all privileges on test3_DB.* to test3user@'%' identified by 'test123';
DB 생성
MariaDB [(none)]> create database test3_DB;
<그 후 tomcat 서버에서 다음 명령어 실행>
mysql 클라이언트(명령어) 설치
root@tomcat:~/tomcat# apt -y install mariadb-client-core-10.3
접속여부 확인
root@tomcat:~/tomcat# mysql -u test3user -ptest123 -h 211.183.3.210
DB가 정상적으로 보여지는지 확인
MariaDB [(none)]> exit
root@tomcat:~/tomcat# ./bin/shutdown.sh
root@tomcat:~/tomcat# ./bin/startup.sh
211.183.3.88:8080/dbtest.jsp 로 접속 및 success가 뜨면 잘되는것입니다!!