(Ubuntu) 자체 서버(IntelliJ, Apache, Tomcat)에 Spring 프로젝트 배포

현재 상황

Ubuntu가 설치된 서버 머신은 웹 서버 포트인 포트 80을 32929로 전달했습니다.

내 PC에서 실행 중인 스프링 기반 Java 프로젝트가 있고 이를 외부 서버에 배포하고 다양한 테스트를 실행하려고 합니다.

준비

1. 자바 프로젝트 내보내기

내가 만든 프로젝트가 서버에서 동작하기 위해서는 해당 프로젝트를 WAR 파일로 내보내야 합니다.


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 파일을 서버 시스템으로 이동합니다(저는 Mail을 사용하고 있습니다).

2. 아파치2 ·Tomcat9의 통합

apt-get install apache2

2-1 터미널을 통해 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