[Linux Cent OS 7] 9. 리눅스로 JSP 프로젝트 옮기기(Tomcat, MariaDB, JDBC) + 톰캣 메인 페이지 변경

이태우·2023년 12월 27일

Linux - Cent OS 7

목록 보기
9/9

Intro

이제 아파치와 톰캣이 설치되어 있고, 정상 작동한 것을 확인했으니, 윈도우에서 만들었던 JSP를 옮겨서 리눅스에서 띄워보자. 사실 별건 없고 MariaDB로 드라이버를 옮겨 웹에서 구현한다고 생각하면 된다.

Process

환경변수 설정

sudo vi ~/.bash_profile

먼저 환경변수를 설정하기 위해 위 파일로 들어가준다.

export PATH
export CATALINA_HOME=/usr/local/tomcat

가장 하단에 이 두줄을 추가해주고,

PATH=$PATH:$HOME/.local/bin:$HOME/bin:$JAVA_HOME/bin:CATALINA_HOME/bin

본래 있던 'PATH='로 시작하는 라인은 이렇게 바꿔준다.

source ~/.bash_profile
echo $CATALINA_HOME

저장하여 나온 다음,
위 두 명령문을 쳐서 적용해준다.

.WAR 압축하기

또 신경써야 할 것이 한가지 있다. 기존 JSP 프로젝트를 프레임워크에서 열 때,
폴더 트리를 하나 파서 그 폴더로 프로젝트를 열곤 했었는데,

리눅스에서는 '.war'이라는 압축파일 형태로 리눅스에 옮겨서 띄우려고 한다.

필자는 JSP 프로젝트시 이클립스를 사용했기 때문에 이클립스 기준으로 설명한다.

가장 먼저 이클립스에 들어가 상단에 'File - Export'를 눌러준다.

webapps로 파일 옮기기

war 파일은 압축을 직접 풀 일이 없다. webapps 폴더에 옮기고 나면, 자동으로 실행하며
압축이 풀리게 될 것이다.

이제 일단 tomcat이 설치된 폴더 경로를 찾아야한다.
일반적으로 설치되어 있는 경로가 비슷하겠지만 사람마다 설치된 경로가 각자
다를수도 있기 때문에 확실하게 하기 위해 한번 찾아보겠다.

find / -name webapps

tomcat이 아닌 webapps를 find 하는 이유는, 우리의 타겟은 webapps 폴더이기 때문이다.


그러면 이런식으로 webapps 폴더가 있는 경로가 몇개 뜨게 되는데,
이 중에서 톰캣의 버전명이 적혀있는 폴더인

/root/apache-tomcat-8.5.78/webapps

이 곳에 우리는 war 파일을 넣으려고 한다.

mv Personal.war /root/apache-tomcat-8.5.78/webapps

war 파일이 있는 디렉토리로 이동하여, 위와 같은 방식으로 war 파일을 webapps 폴더로 옮겨준다.

'Personal.war' 부분은 각자 프로젝트 명에 따라 다를것이니 그대로 쓰지 않도록 주의

server.xml 설정

vi /root/apache-tomcat-8.5.78/conf/server.xml

이제 톰캣 설치 폴더 내에 있는 conf 폴더로 이동하여 server.xml을 열어준다.
가장 하단부로 내리다 보면

<Host name="localhost"  appBase="webapps"
    152             unpackWARs="true" autoDeploy="true">

이런식으로 적혀있는 코드들을 발견할 수 있다. 그 밑에 우리는

 <Context path="" docBase="" reloadable="false"> </Context>

이런식으로 된 코드 한 줄을 더 추가해 줄 것이다

Context path = .war 파일이 위치하는 디렉토리
docBase= 파일명.war

이런식으로 맞춰서 써주면 된다.

 <Context path="/root/apache-tomcat-8.5.78/webapps" docBase="mydb.war " reloadable="false"> 
 </Context>

필자의 환경에 맞춰서 작성하게 되면 이런 형태가 된다.


이렇게 추가하면 된다.

sudo /root/apache-tomcat-8.5.78/bin/shutdown.sh
sudo /root/apache-tomcat-8.5.78/bin/startup.sh

그 다음 톰캣을 재시동 해준다.

접속확인

이제

http://IP주소:포트번호/.war 파일 이름('.war'은 제외)/jsp 페이지 맵핑명

이런 순서로 URL을 기입해보면,

이런식으로 페이지가 뜨게 된다.


DB에서 정보도 잘 읽어온다.

톰캣 기본 페이지로 변경하기

http://IP주소:포트번호/.war 파일 이름('.war'은 제외)/jsp 페이지 맵핑명

혹시 이런 형태가 아닌,

http://IP주소:포트번호/

이렇게만 쳐도 기본 고양이 페이지가 아니라 내 웹 페이지의 메인 페이지가 나오게 하고 싶다면,

두 가지만 바꾸면 된다.

vi /root/apache-tomcat-8.5.78/conf/server.xml

먼저 아까 들어갔던 이 파일에 들어간다.

<Host name="localhost"  appBase="webapps/mydb"
                  unpackWARs="true" autoDeploy="true"
                  xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="." reloadable="true"/>

이런식으로 코드를 추가, 및 변경 해준다.
주의할 점은 'appBase="webapps/폴더명"'으로 바꾸어줘야 한다는 것이다.

그 다음, 나의 프로젝트 폴더 안에 있는 'WEB-INF' 폴더로 들어간다.

vi web.xml

JSP 맵핑 파일인 web.xml을 열어준다

<welcome-file-list>
                <welcome-file>index.html</welcome-file>
                <welcome-file>index.htm</welcome-file>
                <welcome-file>index.jsp</welcome-file>
                <welcome-file>default.html</welcome-file>
                <welcome-file>default.htm</welcome-file>
                <welcome-file>default.jsp</welcome-file>
</welcome-file-list>

뭐 이런식으로 있을건데,

<welcome-file>바꾸고 싶은 jsp 파일명</welcome-file>

이런 코드를 리스트 중 맨 위에 추가해주면 된다.

<welcome-file-list>
				<welcome-file>main.jsp</welcome-file>
                <welcome-file>index.html</welcome-file>
                <welcome-file>index.htm</welcome-file>
                <welcome-file>index.jsp</welcome-file>
                <welcome-file>default.html</welcome-file>
                <welcome-file>default.htm</welcome-file>
                <welcome-file>default.jsp</welcome-file>
</welcome-file-list>

이런식으로 말이다.

이 설정까지 저장하고 마쳤으면 톰캣을 재부팅 하고 포트번호까지만 적어보자

이런식으로 페이지가 뜨게 된다.

profile
햇병아리 개발자

0개의 댓글