카테고리 없음

[Ubuntu] 스프링 프로젝트를 자체 서버로 배포해보자(IntelliJ, Apache, Tomcat)

ImJay 2023. 3. 28. 16:05
반응형

현재 상황

우분투가 설치된 서버 컴퓨터는 웹 서버 포트인 80번을 32929번으로 포트포워딩한 상태이다.

개인 컴퓨터에는 진행 중인 스프링 기반의 자바 프로젝트가 있으며, 이를 외부 서버에 배포해보고 여러가지 테스트를 해보고 싶다.

 

준비

1. Java Project Export

서버에서 내가 만든 프로젝트가 동작하기 위해서는 프로젝트를 war 파일로 export 해주어야 한다.

 

1-1. 좌측 상단 파일 > 프로젝트 구조 ( Ctrl + Alt + Shit + S )

 

1-2. 아티팩트 > JAR > 종속 요소 포함 모듈에서...

 

1-3. 본인이 배포할 프로젝트의 모듈과 메인 클래스 설정

 

1-4. 확인 버튼 클릭

 

1-5. 중앙 상단 빌드 > 아티팩트 빌드

 

1-6. 빌드 클릭

 

1-7. <1-4> 출력 디렉터리에서 빌드 된 jar 파일 확인

 

1-8. 추출된 jar 파일을 서버 컴퓨터로 옮겨주기 ( 필자는 메일을 사용 )

 

2. Apache2·Tomcat9 연동하기

apt-get install apache2

2-1. terminal 을 통해 apache2 를 설치하자.

 

2-2. apache2 가 정상적으로 설치되었는지 확인하자.

 

apt-get install tomcat9 tomcat9-admin

2-3. tomcat9 을 설치하자.

 

apt-get install libapache2-mod-jk

 

2-4. libapache2-mod-jk 를 설치하자.

 

vi /etc/apache2/workers.properties

2-5. 해당 경로에 workers.properties 를 생성하여 내용을 입력해주자.

workers.tomcat_home=/usr/share/tomcat9  #톰캣 설치경로
workers.java_home=/usr/lib/jvm/java-17-openjdk-amd64  #JDK 설치경로

worker.list=tomcat1

worker.tomcat1.port = 8009
worker.tomcat1.host = localhost   #톰캣이 다른 서버에 설치되어있으면 ip 입력
worker.tomcat1.type = ajp13
worker.tomcat1.lbfactor = 1

 

vi /etc/apache2/mods-available/jk.conf

2-6. 해당 경로에 접속하여 아래와 같이 JkWorkersFile 을 수정해주자.

 

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

2-7. 해당 경로에 접속하여 아래와 같이 DocumentRoot 를 수정해주자.

        ServerAdmin webmaster@localhost
        #DocumentRoot /var/www/html
        DocumentRoot /var/lib/tomcat9/webapps/ROOT/

        #JkMount /* tomcat1

        JkMount /*.jsp tomcat1
        JkMount /*.json tomcat1
        JkMount /*.xml tomcat1
        JkMount /*.do tomcat1

 

vi /etc/tomcat9/server.xml

2-8. AJP 프로토콜을 위해 해당 경로를 아래와 같이 수정해주자.

 

2-9. 

 

반응형