🤨🔎
Spring Boot 내장 톰캣을 사용해야 하기 때문에 tomcat 설치는 하지 않는다.
apache2가 설치되어있고 https를 적용한 상태에서 진행
본론
고민 ❓🤨🔎
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.* 하나만 진행 💨
발급된 인증서 목록 확인
certbot certificates
새로운 서브 도메인 ' project.zhyun.kim ' 추가
certbot --apache -d zhyun.kim -d www.zhyun.kim -d project.zhyun.kim
기한 만료전 인증서 자동 갱신이 제대로 설정되었는지를 테스트
certbot renew --dry-run
확인
certbot certificates
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>
ln -s /etc/apache2/sites-available/000-project.zhyun.kim.conf /etc/apache2/sites-enable/000-project.zhyun.kim.conf
a2ensite 000-project.zhyun.kim
systemctl reload apache2
Windows 운영체제에서 powerShell을 이용하여 작업 !
서버에서 톰캣을 띄워보는 것이 목적이기 때문에
기존에 작성했던 과제 하나를 아무거나 다운받아서
내용을 모두 제거하고 루트 경로 진입시 문자열 하나만 출력하도록 수정해주었다.
db 연결등 라이브러리 모두 없애고 spring-web만 남겨둠
https://www.oracle.com/kr/java/technologies/downloads/
./gradlew build
jar 생성 확인
jar 실행 확인
java -jar .\build\libs\app.jar
서버에 프로젝트를 관리할 위치로 jar 파일을 복사한다.
fileZilla 를 이용하는 방법도 있고
terminal에서 명령어를 이용하는 방법도 있고 다양한 방법이 있는데
나는 에디트 플러스를 통해서 옮겼다.
그래서 과정을 적을것이 없기때문에 캡쳐본을 남김!
apt update
apt install openjdk-17-jdk
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
a2enmod proxy
a2enmod proxy_http
systemctl restart apache2
000-project.zhyun.kim.conf 파일에 아래 내용 추가
ProxyVia On
ProxyRequests Off
ProxyPreserveHost on
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
systemctl restart apache2
실행 명령어 맨 마지막으로 &
를 붙여주면 백그라운드에서 실행된다.
java -jar /var/www/html/project/app.jar &