EC2 연결을 했는데.....자꾸 멋대로 연결이 끊기고 재부팅을 해서 한 번 연결하면 또 끊기고...를 반복해서 결국 아예 날리고 다시 만들기로 했다
이번엔 EC2 만들고 JAVA랑 Tomcat 까는거 정리하려고 쓰는 글...
아 CSS 적용문제는 주소 설정 때문이었다 변경한 뒤로 잘 됨!!
먼저 EC2를 삭제.... EC2는 중지가 아닌 ''종료''를 하면 삭제된다.
EC2 종료 후 재 생성은 많이 나오니 생략
아마존 리눅스 t2.micro로 설치 완료. RDS는 끝나고 나오는 바로 연결을 통해 연결해주었다. 탄력적 IP 설정까지 완료하면 이제 PuTTY로 접속~
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
이걸로 제대로 설치했는지 확인할 수 있다.
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