Server/Tomcat / / 2023. 7. 25. 17:33

Linux에 Java와 Tomcat 연동

기본적으로 vm-ware와 리눅스를 설치한 후 실행했다는 가정하에 진행한다.

 

 

vm-ware 안에서의 ip를 알아야 하기 때문에 net-tool을 다운을 받아야 한다.

다운 받는 명령어는 yum install을 사용한다. (Centos나 레드햇 계열에선 yum 사용)

yum install net-tool

그러면 아래와 같이 동의를 묻고 다운이 된다.

그 후에 ifconfig를 사용하면 해당 리눅스에 관한 ip가 나온다.

이 ip를 FTP와 사용 환경을 편하게 할 수 있는 putty에 사용하자.

ifconfig

 

 

putty는 SSH, Telnet 등 서비스를 제공하고 있는 운영체제에 접근할 수 있는

터미널 클라이언트 프로그램이다.

보통 리눅스 서버에서 원격으로 SSH를 통한 접근을 위해 사용된다.

SSH의 기본 포트는 22이므로 자신이 확인했던 IP와 포트번호 22를 입력한다.

 

 

추가로 FTP 프로그램인 FileZilla로 쉽게 호스트 간에 파일을 옮길 수 있게 사용할 수 있다.

윈도우에서 사용했던 파일들을 가상머신 안의 리눅스 파일에 빠르게 전송이 가능하다.

putty처럼 자신의 리눅스 ip와 자신의 리눅스의 계정, 비번, 기본 SSH 포트인 22를 입력한다.

 

 

리눅스 서버에서 wget으로 다운 받는 법도 있지만 FTP를 사용해 진행한다.

아파치와 jdk(1.8)을 각각의 홈페이지에서 리눅스 버전(tar)으로 다운을 받는다.

다운 받는 법은 찾아보면 많다.

그 후에 FTP 프로그램인 FileZilla를 사용해 드래그해

자신이 원하는 폴더 안에 전송한다.

 

 

잘 들어왔는 지 확인도 한 번 해 주자.

그 후에 압축을 푸는데 압축을 푸는 명령어는 tar -xvf이다.

jdk와 아파치 압축 파일을 풀어 주자.

tar -xvf tar파일명

 

 

압축이 풀렸는 지 확인해 보자.

그리고 자신의 파일의 위치를 기억해야 하는데

그 이유는 그 위치를 환경 변수 설정을 해야 하기 때문이다.

환경 변수는 간단하게 이야기해서 깊숙히 있는 응용 프로그램을 

쉽게 꺼내 사용하기 위해 변수로 지정하는 것이다.

 

 

그리고 .bashrc에서 환경 변수를 설정해야 한다.

~/.bashrc는 개인 사용자의 alias 함수를 설정하는 부분이다.

모든 사용자에게  설정하고 싶으면 /etc/bash.bashrc에서 설정해야 한다.

다른 방법은 Tomcat의 Catalina에서 직접 PATH를 설정할 수도 있다.

vi는 파일의 내용을 수정하고자 할 때 사용하는 명령어이다.

vi 파일 내용을 수정할 파일명

 

 

~/.bashrc에 들어와서 아래에 export를 사용해 PATH를 지정하자.

export JAVA_HOME=다운받은 jdk 경로
export PATH=$PATH:$JAVA_HOME/bin
export CATALINA_HOME=다운받은 Tomcat 경로

 

 

그 후에 echo 명령어를 사용해 경로가 잘 설정 되었는 지 확인한다.

그 후에 자바 버전도 한 번 확인해주자.

echo $JAVA_HOME

 

 

그리고 난 후 Tomcat의 경로에 들어가서

ls를 했을 때 bin이 보이는 곳에서 startup을 실행한다.

./bin/startup.sh

 

 

기본적으로 다른 호스트에서 연결하려면 방화벽에서 포트를 추가해야 한다.

그 후 다시 로드하고 리스트를 확인 해보자.

firewall-cmd --permanent --zone=public --add-port=8080/tcp  -> 포트 추가
firewall-cmd --reload -> 다시 로드
firewall-cmd --permanent --list-all  -> 사용 가능한 포트 리스트 출력

아래에 ports 부분에서 8080/tcp가 추가된 것을 볼 수 있다.

 

 

리눅스의 아이피와 8080 포트를 url에 넣어주어 Tomcat이 잘 작동 되는지 보자

http://리눅스IP:8080

 

 

그리고 Tomcat의 conf 파일 안에 있는 server.xml을 설정해 포트를 바꿔서 실행시켜 보자.

항상 server.xml이나 설정 파일을 만졌을 때 Tomcat을 재가동하는 것을 잊지 말자.

 

 

포트 번호를 80으로 바꿨으니 8080으로 접속이 안 된다.

그런데 80으로 했는데도 접속이 안 된다. 이유가 뭘까?

 

 

 

방화벽 포트 추가를 해주는 것을 잊었기 때문이다.

항상 포트를 바꾸고 나서 방화벽 포트 추가를 잊어서는 안 된다.

포트 리스트를 확인해보면 8080만 열려 있고 80에 대한 포트 추가는 없다.

그래서 추가를 해 다시 접속해보면 포트 80으로 접속이 된다.

 

 

그리고 아래를 메모장에 작성 후

마지막 확장자를 jsp로 바꾸고 리눅스 안 경로에 FTP로 전송한다.

<%@ page contentType="text/html; charset=euc-kr" %>
<%@ page import="java.sql.*, javax.naming.*, javax.sql.*" %>
<%
 Connection con=null;
 try{
  Context initCtx = new InitialContext();
  DataSource ds =  (DataSource)initCtx.lookup("java:comp/env/jdbc/myoracle"); 
  con = ds.getConnection();
  out.println("제대로 연결되었습니다.");
 }
 catch(Exception e){
  e.printStackTrace();
  out.println(e.getMessage());
 }
 finally{
  con.close();
 }
%>

 

 

잘 들어왔는 지 리눅스 안에서 확인을 해야 한다.

그리고 다시 server.xml을 설정하러 들어가자.

들어가서 Context를 설정하기 전에 Context에 맞는 경로를 만들어야 하기에

자신이 원하는 디렉토리 만들거나 경로에 mv 명령어로 jsp 파일을 옮겨보자.

mv 파일명 원하는경로

 

 

그리고 server.xml을 들어가서 

Context에 대한 설정을 자신이 설정한 경로에 맞게 <Host> </Host> 안에 설정해야 한다.

<Context path="컨텍스트의 이름" docBase="이름으로 연결될 경로" reloadable="true" />

 

 

그리고 아까도 말했듯이 설정 파일을 수정한 후 서버 재가동하는 것을 잊지 말자.

재가동한 후 실행시켜 보니 연결은 잘 되었으나 오류 메세지 화면이 뜬다.

소스 코드가 DB 확인하는 용도이다 보니 db를 넣어주고 jndi를 설정해야 오류가 뜨지 않을 것이다.

 

 

자신이 사용하거나 쓸 DBMS에 관한 정보를 server.xml에 넣고

그 DBMS에 관한 jar 파일을 Tomcat의 lib 파일 안에 넣어줘야 한다.

기존의 Context에 <Context />에서 <Context> </Context>로 바꾼 후

그 안에 <Resource />로 DB 정보를 넣어주는 방식을 사용하겠다.

필자는 오라클 DBMS를 사용했다.

<Context> <Resource name="jdbc/자신이설정한명칭"
auth="Container" type="javax.sql.DataSource"
driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@DB가있는IP주소:1521:DB이름"
username="계정명"
password="비밀번호"
maxTotal="20"
maxIdle="10"
maxWaitMillis="-1"/>
</Context>

 

 

jsp 파일에서 프린트되는 값을 영어로 수정한 후 출력 완료했다.

 

 

 

'Server > Tomcat' 카테고리의 다른 글

Tomcat과 Oracle DB 연동하는 방법  (0) 2023.07.21
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유