EC2 연결 하고...자바랑 톰캣 설정!

Hamsuri·2023년 5월 19일
0

EC2 연결을 했는데.....자꾸 멋대로 연결이 끊기고 재부팅을 해서 한 번 연결하면 또 끊기고...를 반복해서 결국 아예 날리고 다시 만들기로 했다

이번엔 EC2 만들고 JAVA랑 Tomcat 까는거 정리하려고 쓰는 글...

아 CSS 적용문제는 주소 설정 때문이었다 변경한 뒤로 잘 됨!!

먼저 EC2를 삭제.... EC2는 중지가 아닌 ''종료''를 하면 삭제된다.

EC2 종료 후 재 생성은 많이 나오니 생략

아마존 리눅스 t2.micro로 설치 완료. RDS는 끝나고 나오는 바로 연결을 통해 연결해주었다. 탄력적 IP 설정까지 완료하면 이제 PuTTY로 접속~

가장 먼저 JAVA를 설치해준다.

JAVA 버전이 프로젝트랑 안 맞으면 404 오류가 뜨니까 프로젝트랑 버전을 맞추기 위해 11로 설치

접속 후 바로

sudo passwd

명령어로 비밀번호 설정

su

입력 후 방금 입력한 비밀번호로 root계정에 접속한다

ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
date

시간부터 바꿔주고 시작

yum install java-11-amazon-corretto.x86_64

로 JAVA-11 설치

java -version

으로 확인해보면 제대로 설치되었는지 확인할 수 있다.

which java
readlink -f (위의 경로)

로 JAVA의 위치를 확인한다

명령어로 나오는 거 복사 해두기

/usr/lib/jvm/java-11-amazon-corretto.x86_64

나의 경우엔 이렇게 나왔는데 이게 JAVA_HOME의 경로가 된다

vi /etc/profile

환경 변수 변경해주기

i(vi에서 insert로 바꿔주기)를 누른 후

이 부분에

export JAVA_HOME=/usr/lib/jvm/java-11-amazon-corretto.x86_64

를 입력한다.

esc 누른 후 :wq 로 저장 후 나가기

source /etc/profile

로 파일 업데이트!

$JAVA_HOME/bin/java -version

이걸로 제대로 설치했는지 확인할 수 있다.


여기까지가 JAVA 설치고 이제는 Tomcat 설치이다. 나는 8.5.88 버전을 사용했다.

tomcat.apache.org/download-70.cgi

사이트에서 내가 원하는 버전의 톰캣 tar.gz의 주소를 가져온다.(마우스 우클릭, 링크 주소 복사)

wget https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.88/bin/apache-tomcat-8.5.88.tar.gz

다운을 받았으면 압축 해제 후 파일 이동

tar zxvf apache-tomcat-8.5.88.tar.gz
mv apache-tomcat-8.5.88 /usr/local/tomcat8

다음은 톰캣 환경 변수 설정

vi /etc/profile

JAVA_HOME 밑에

CATALINA_HOME=/usr/local/tomcat8
CLASSPATH=$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar:$CATALINA_HOME/lib-jsp-api.jar:$CATALINA_HOME/lib/servlet-api.jarr:$CATALINA_HOME/lib/servlet-api.jar
PATH=$PATH:$JAVA_HOME/bin:/bin:/sbin
export JAVA_HOME PATH CLASSPATH CATALINA_HOME

를 추가한다.

변경사항을 적용하기 위해 다시 source 명령어


그 후 톰캣을 실행해 본다.

/usr/local/tomcat8/bin/startup.sh

네트워크 확인은

netstat -tln

8080 포트가 열렸는지 확인한다.

이제 계정을 생성하고 systemctl 등록한다.

useradd -m tomcat8
usermod -d /usr/local/tomcat8 tomcat8
vi /etc/systemd/system/tomcat8.service

vi 편집기 들어가서

# Systemd unit file for tomcat
[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target

[Service]
Type=forking

Environment="JAVA_HOME=/usr/lib/jvm/java-11-amazon-corretto.x86_64/"
Environment="CATALINA_HOME=/usr/local/tomcat8"
Environment="CATALINA_BASE=/usr/local/tomcat8"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"

ExecStart=/usr/local/tomcat8/bin/startup.sh
ExecStop=/usr/local/tomcat8/bin/shutdown.sh

User=ec2-user
Group=tomcat8
UMask=0007
RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target

작성.

그 후 순서대로 실행

chown -R ec2-user.tomcat8 /usr/local/tomcat8
systemctl daemon-reload
systemctl enable tomcat8
systemctl start tomcat8
systemctl enable tomcat8.service
systemctl list-unit-files --type service |grep tomcat8

이제 퍼블릭IP:8080을 주소창에 입력한 뒤 톰캣 캐릭터 화면이 나오면 연결 완료!

그 다음은 프로젝트 export(.war 파일)한 후 파일질라로 등록하면 끝!

...일거라고 생각했는데

퍼블릭IP:8080/파일이름

으로 접속하면... css가 날라가거나/경로가 틀린 부분이 나온다.

이걸 해결하려면

Tomcat8 폴더 속 conf에 들어갑니다

cd (폴더명) //폴더 안으로 들어가기
cd .. //뒤로가기
ll //현재 폴더에 있는 리스트 확인

을 활용해 줍니다.

vi server.xml

을 통해 파일을 열어주고

<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="false">
        <Context path="/" docBase="프로젝트명"  reloadable="true"> </Context>    
</Host>

를 입력해줍니다. 프로젝트 명은 export할 때 입력해준 부분입니다.

그리고 서버 재시작.

그러면 기본 주소에 우리 프로젝트가 뜨게 된다! css도 적용되고 경로도 정상이다.

(우리는 프로젝트 주소를 "/" 기준으로 경로 설정함)

그 외....도움이 되는 것들

톰캣에서 가끔 8080이랑 8005랑 충돌을 하기도 했는데 그 때는

netstat -tnlp

로 pid 확인 후

kill -9 (확인한 pid)



도움 받은 블로그

https://developer111.tistory.com/16
https://maivve.tistory.com/297

profile
공부한 것들의 기록

0개의 댓글