ubuntu 22 : apache 2 + tomcat 띄우기

김아무개·2023년 7월 25일
0

ubuntu

목록 보기
15/20
post-custom-banner

🤨🔎

Spring Boot 내장 톰캣을 사용해야 하기 때문에 tomcat 설치는 하지 않는다.

apache2가 설치되어있고 https를 적용한 상태에서 진행


본론



도움 받은 블로그

 





0. 도메인 계획

  • zhyun.kim == www.zhyun.kim
    개인 블로그 띄울 계획
  • project.zhyun.kim
    과제물 띄울 계획

고민 ❓🤨🔎
tomcat을 여러개 띄워야 하는데 도메인에 어떻게 연결할지
   -> 1. 서브 도메인 설정 - 이게 될까..?
        project.zhyun.kim/과제-1/
        project.zhyun.kim/과제-2/
        project.zhyun.kim/과제-N/

   -> 2. 서브 도메인 설정 - 이건 할 수 있을것 같다 !
        project-1.zhyun.kim
        project-2.zhyun.kim
        project-N.zhyun.kim

하지만
사용하고있는 도메인 호스팅 업체에서
무료로 제공되는 서브 도메인 수량이 2개밖에 안남았다.
하나 추가에 3300원인데 😬
비용을 아낄려면 1번으로 시도해야 할 것 같다.
이렇게 되면 프로젝트를 전부 수정해야하는 불쌍사가........
어쩌면 의외로 간단히 풀릴지도 모르겠다.

이 부분은 조금 더 고민 필요

일단 project.* 하나만 진행 💨


 


1. 서브 도메인 https 등록하기 + certbot


발급된 인증서 목록 확인

certbot certificates

새로운 서브 도메인 ' project.zhyun.kim ' 추가

certbot --apache -d zhyun.kim -d www.zhyun.kim -d project.zhyun.kim

기한 만료전 인증서 자동 갱신이 제대로 설정되었는지를 테스트

certbot renew --dry-run

확인

certbot certificates


2. Apache2 서브도메인 띄우기

/etc/apache2/sites-available에 파일 생성 & 내용 작성

vi /etc/apache2/site-available/000-project.zhyun.kim.conf
<IfModule mod_ssl.c>
<VirtualHost *:443>
    ServerName project.zhyun.kim
    ServerAlias project.zhyun.kim
 
    DocumentRoot /프로젝트/저장/경로

    <Directory /프로젝트/저장/경로/>
        Options FollowSymLinks MultiViews
        AllowOverride All
        require all granted
    </Directory>
 
    ErrorLog ${APACHE_LOG_DIR}/project-error.log
    CustomLog ${APACHE_LOG_DIR}/project-access.log combined
 
    Include /etc/letsencrypt/options-ssl-apache.conf
    SSLCertificateFile /etc/letsencrypt/live/zhyun.kim/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/zhyun.kim/privkey.pem
 
</VirtualHost>
</IfModule>

/etc/apache2/sites-enable에 링크 추가

ln -s /etc/apache2/sites-available/000-project.zhyun.kim.conf /etc/apache2/sites-enable/000-project.zhyun.kim.conf

apache2 사이트 활성화 적용

a2ensite 000-project.zhyun.kim

apache2 설정 다시 읽기

systemctl reload apache2

 


3. spring boot Jar 생성 (windows)

Windows 운영체제에서 powerShell을 이용하여 작업 !

1. 프로젝트 폴더 위치로 이동 후 우클릭 - 터미널에서 열기

서버에서 톰캣을 띄워보는 것이 목적이기 때문에
기존에 작성했던 과제 하나를 아무거나 다운받아서
내용을 모두 제거하고 루트 경로 진입시 문자열 하나만 출력하도록 수정해주었다.
db 연결등 라이브러리 모두 없애고 spring-web만 남겨둠


2. jdk가 설치되어있지 않다면 설치해야됨

https://www.oracle.com/kr/java/technologies/downloads/


3. ./gradlew build

./gradlew build


jar 생성 확인


jar 실행 확인

java -jar .\build\libs\app.jar



4. jar 파일 서버로 이동

서버에 프로젝트를 관리할 위치로 jar 파일을 복사한다.

fileZilla 를 이용하는 방법도 있고
terminal에서 명령어를 이용하는 방법도 있고 다양한 방법이 있는데
나는 에디트 플러스를 통해서 옮겼다.
그래서 과정을 적을것이 없기때문에 캡쳐본을 남김!

 



5. Java 설치

1. java 17 설치

apt update
apt install openjdk-17-jdk


2. JAVA_HOME 설정


vi ~/.profile


# JAVA_HOME settings
export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which java))))
export PATH=$PATH:$JAVA_HOME/bin


source ~/.profile


확인

echo $JAVA_HOME



6. 아파치에서 톰캣 실행설정

apache proxy 실행 설정 적용

a2enmod proxy
a2enmod proxy_http
systemctl restart apache2


/etc/apache2/sites-available/해당도메인 파일 설정

000-project.zhyun.kim.conf 파일에 아래 내용 추가

ProxyVia On
ProxyRequests Off
ProxyPreserveHost on
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/

apache2 재실행

systemctl restart apache2 

jar 파일 실행

실행 명령어 맨 마지막으로 & 를 붙여주면 백그라운드에서 실행된다.

java -jar /var/www/html/project/app.jar &


외부 접속 확인!

https://project.zhyun.kim



profile
Hello velog! 
post-custom-banner

0개의 댓글