1. openJDK-8 설치
sudo apt-get install openjdk-8-jre openjdk-8-jdk
- 설치 경로 확인
- java 파일구조
1. java-8-openjdk-amd64/bin/java
2. java-8-openjdk-amd64/bin/javac
3. java-8-openjdk-amd64/jre/bin/java
- 경로 옮겨주기
# mv java-8-openjdk-amd64 /usr/local
다시 확인해보면 java-8-openjdk가 해당 경로에 당연히 없어져있다.
옮겨준 경로(/usr/local)로 가보면 여기에 java-8이 있는 걸 확인 가능
- java 환경변수 설정
java 라는 이름으로 링크 생성
export JAVA_HOME = /usr/local/java
export CLASSPATH = .:$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar
PATH = $PATH:$JAVA_HOME/bin
- 설정파일 적용
# source /etc/profile
2. Tomcat 8 설치
Not found 에러 뜨면 http://apache.tt.co.kr/tomcat/tomcat-8 → 이 링크로 가서 업그레이드 된 톰캣 버전 경로를 따라간 다음 다운받아주세요
/usr/local# wget http://apache.tt.co.kr/tomcat/tomcat-8/v8.5.56/bin/apache-tomcat-8.5.56.tar.gz
- 다운받아준 apache-tomcat 압축 풀기
/usr/local# sudo tar xvfz apache-tomcat-8.5.56.tar.gz
압축 풀린 tomcat이 같이 있는 걸 볼 수 있음
- 링크 생성
/usr/local# ln -s apache-tomcat-8.5.56 tomcat8
- 톰캣 버전 정보 및 경로 확인하기 (bin파일로 이동 후 확인)
- 톰캣도 환경변수 설정해주기
# export CATALINA_HOME=/usr/local/tomcat8
# export CLASSPATH=$CATALINA_HOME/lib/jsp-api.jar:$CATALINA_HOME/lib/servlet-api.jar
# source /etc/profile
- 톰캣 실행하기 (톰캣 실행시키는 경로 확인하고 실행시키세요)
/usr/local/tomcat8/bin# ./startup.sh
발급받은 AWS 퍼블릭 DSN 주소 : 8080 포트로 접속해주면 Apache 화면이 나옵니다.
만약 계속 접속이 안된다면 AWS 인바운드 규칙에서 모든 IP에 대한 8080포트 접속을 열어주었는지 확인해야 합니다.
- .war파일 배포 후 docBase 설정해주기.
( /tomcat8/bin/server.xml 파일)
Context path를 추가해주었다.
이제 내IP:8080/ 을 주소창에 입력하면 필자의 경우 musicchart.war에 대한 웹 프로젝트에 접근이 가능해진다.
http://내IP:8080/
배포한 파일을 띄우려니깐 다음과 같은 에러 발생 (tomcat log)
Caused by: java.lang.UnsupportedClassVersionError: com/exe/dao/AlbumDAO has been compiled by a more recent version of the Java Runtime (class file version 55.0) , this version of the Java Runtime only recognizes class file versions up to 52. 0 (unable to load class [com.exe.dao.AlbumDAO])
at org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(We bappClassLoaderBase.java:2397)
at org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClas sLoaderBase.java:855)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClas sLoaderBase.java:1327)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClas sLoaderBase.java:1180)
at org.springframework.util.ClassUtils.forName(ClassUtils.java:250)
at org.springframework.beans.factory.support.AbstractBeanDefinition.reso lveBeanClass(AbstractBeanDefinition.java:394)
at org.springframework.beans.factory.support.AbstractBeanFactory.doResol veBeanClass(AbstractBeanFactory.java:1408)
at org.springframework.beans.factory.support.AbstractBeanFactory.resolve BeanClass(AbstractBeanFactory.java:1353)
... 23 more
▶ ubuntu에는 java-8 버전을 다운받아 준 상태였는데 java-11 기반으로 만든 웹프로젝트가 컴파일이 안되어서 생기는 문제였다.
- java-11로 버전 업그레이드를 해주자
# sudo apt-get install openjdk-11-jre openjdk-11-jdk
- java-8에 매핑시켜줬던 심볼릭 링크 제거
# rm java
- 경로다시 옮겨주기
/usr/lib/jvm# mv java-11-openjdk-amd64 /usr/local
- 링크 생성
# ln -s java-11-openjdk-amd64 java
- tomcat log에 이런 에러가 떴다.
Caused by: java.lang.IllegalArgumentException: The AJP Connector is configured with secretRequired="true" but the secret attribute is either null or "". This combination is not valid.
찾아보니 tomcat 8.5 버전과 9.0 버전은 secretRequired 속성을 사용하여야 한다.
secretRequired = "false" 이 부분을 추가해줘야 한다는 것이다. (tomcat의 server.xml 파일)
→ default값은, secretRequired 속성이 true로 설정되어 있음.
'AWS' 카테고리의 다른 글
[Linux/타임존 변경하기] 특정 시간대에 특정 코드가 발생하도록 설정해놓았는데 작동이 안된다면? - 타임존 설정을 살펴보자 (0) | 2020.10.12 |
---|---|
AWS 고정 IP 할당 받기 (EIP) + 주의사항!!!! (0) | 2020.07.31 |
[AWS] 내 PC에서 RDS에 접속해보기 & EC2에서 RDS에 접속해보기 (0) | 2020.06.03 |