AWS(Amazon Web Services)
-
EC2 우분투 서버 스프링부트 파일업로드 경로 지정하기 No space left on deviceAWS(Amazon Web Services) 2024. 6. 16. 18:50
에러의 발단jar로 배포한 프로젝트에서 파일업로드시 계속 java.io.IOException: No space left on device 에러가 발생이미지업로드 경로는 프로잭트 내부가아님 (/static/**)프로젝트 외부 경로로 지정했을 때 해당 디렉토리에 충분한 저장공간이 있음에도 동일 증상 발생함. 결론 > 원인을 해결하지 못하고 톰캣으로 배포하니 정상적으로 파일업로드가 잘된다. 톰캣으로 배포하려면 기존 JAR를 WAR형식으로 빌드해야한다. 방법은 구글에 많으니 참고.해결방법putty 로 EC2 에 접속 후 임의의 파일업로드 경로 생성mkdir -p /home/ubuntu/uploads 해당 디렉토리의 전체권한 부여sudo chmod -R 777 /home/ubuntu/uploads sprinbo..
-
[EC2] 배포 오류 java.lang.NoClassDefFoundError: Could not initialize class javax.crypto.JceSecurityAWS(Amazon Web Services) 2023. 8. 28. 12:13
이 오류 메시지는 Spring Boot 애플리케이션을 배포하려는 EC2 인스턴스에 JCE 보안 라이브러리가 설치되어 있지 않았을때 발생한다. 보통 로컬 환경에서 개발할때 볼 수 없는 에러인데.. jwt로 인증할때 저 클래스를 사용하다보니 오류가 발생했다. 보통은 jdk11이상에 에 다 포함되어 있다고 한다. 아무튼 ec2 ubuntu에서 이 오류를 해결하려면 EC2 인스턴스에 JCE 보안 라이브러리를 설치해야 한다. $ sudo apt-get install default-jdk-headless $ sudo apt --fix-broken install 이 명령어로 2개의 패키지를 설치하고 다시 서버를 올리고 jwt 인증통신을 하면 정상적으로 수행된다.
-
[EC2] 배포 오류org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested exception is java.lang.ExceptionInInitializerErrorAWS(Amazon Web Services) 2023. 8. 28. 10:47
EC2에 오라클을 설치하고 jar로 빌드한 project.jar 를 배포할 때 org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested exception is java.lang.ExceptionInInitializerError 이 에러가 발생하여 계속 찾다가 해결방법을 찾았다. 결론적으로 버전이 안맞아서 그렇다. 본인의 개발버전 Spring Boot 2.7.14 open jdk 11 oracle 11g pom.xml에는 ojdbc11을 등록하고 사용하고 있었다. 이게 로컬에서는 잘되는데 ec2 우분투로 올리면 jdbc를 못찾는 증상이었다. ojdb..
-
[AWS] 우분투 root 파일시스템 용량 100% 인 경우해결 /dev/rootAWS(Amazon Web Services) 2023. 8. 6. 14:09
프리티어로 이용중인 aws EC2 - ubuntu에 이것저것 설치하고 사용하려고하니 오라클은 갑자기 서버가 중지되고 svn 커밋도 안되고 자잘한 오류가 발생하여 확인해보니 서버에 용량이 부족하여 생긴 문제였다. 디렉토리별 용량확인하기 # df -h Filesystem Size Used Avail Use% Mounted on /dev/root 7.6G 7.6G 10M 100% / devtmpfs 476M 0 476M 0% /dev root 파일시스템 용량이 100%라 뭔가 저장하는 행위가 발생하면 에러가 발생하고 있었다. 파일 삭제하기 # rm -rf [파일명] 쓸때 없는 파일들을 rm명령어로 정리하였더니 아주 조금 공간이 확보되었고 자잘한 오류가 사라졌다. 나같은 경우는 [오라클알집 파일]을 지웠다. /..
-
svn E297: Write error in swap file E325: ATTENTIONAWS(Amazon Web Services) 2023. 8. 6. 14:03
EC2-우분투-SVN 설치후 뭔가 조작하려면 E297: Write error in swap file E325: ATTENTION 에러가 발생하여 안될때, root에 용량이 부족하여 발생하는 문제라고 한다. df -h 명령어로 현재 디렉토리별 용량확인을 한다. # df -h /dev/root 7.6G 7.6G 10M 100% / 파일삭제 # rm -rf [파일명] 쓸대없는 파일을 다 지워주고 다시 svn에 프로젝트를 커밋하면 정상적으로 작동한다.
-
[AWS] 아마존 AWS EC2 PostgreSQL 포스트그레스큐엘 설치하기 (with 우분투)AWS(Amazon Web Services) 2023. 5. 20. 21:00
ec2 - 우분트 os에서 간단하게 PostgreSQL를 설치하는 방법 ( 외부 접속 허용) 이번 토이 프로젝트에서 PostgreSQL를 사용하기 위해 사용중인 ec2에 간단하게 설치 및 외부접속설정을 하는 방법을 소개하겠다. 먼저 SSH로 EC2 접속을 해놓자. 1. PostgreSQL 설치 $ sudo apt-get install postgresql postgresql-contrib 설치중. 설치가 끝나면 버전확인하기 $ psql --version 2. PostgreSQL접속 $ sudo -u postgres psql 그러면 커맨드창이 postgres-# 로 바뀌며 이상태에서 아래의 명령어를 입력해야 한다. 3. 데이터베이스 생성, 계정생성, 권한주입 CREATE DATABASE [데이터베이스 이름]..
-
스프링부트 jar 무중단 배포하기(백그라운드 실행)& 서버종료하기AWS(Amazon Web Services) 2022. 9. 18. 22:47
보통 EC2 우분투에 프로젝트.jar 파일을 파일질러라로 업로드하고 해당경로에서 아래의 명령어를 실행하면 익숙한 로그와 함께 프로젝트가 실행된다. java -jar 파일명.jar 하지만 ssh를 종료하면 서버도 종료된다. 그래서 ssh를 종료해도 백그라운드 실행 시켜야 한다. nohup (no hangup) 커맨드를 사용하면 ssh 접속이 끊긴 이후에도 백그라운드에서 jar가 계속 돌아간다. nohup java -jar 프로젝트.jar & 명령어를 실행하면 nohup: ignoring input and appending output to 'nohup.out' 메세지가 나온다. (정상) 서버를 종료할때는 nohup 프로세스의 pid를 강제로 죽이거나 8080포트를 사용중인 pid를 죽이면 된다. 1. no..
-
[AWS] EC2 파일질라(FileZilla) 연결하기 with 우분투AWS(Amazon Web Services) 2022. 7. 31. 23:35
EC2에 war를 배포하기위해 파일질라를 사용해보자 1. 파일질라 다운 및 설치 아래의 사이트에서 파일질라를 다운받자. https://filezilla-project.org/ 2. EC2 연결정보 입력 설치가 완료되면 파일 > 사이트관리자를 선택후 EC2 로그인정보를 입력하자. 호스트 - 탄력적 IP나 기본 ec2 풀 도메인 입력 프로토콜 - SFTP 로그온유형 - 키 파일 키 파일 위치 선택 [연결] 클릭 3. 폴더 권한 주기 (permission denied 에러) 방법 1. 파일질라에서 마우스우클릭으로 폴더접근 권한을 줘도 되지만 안먹힐 때가 있다. 방법 2. ec2 터미널에서 톰캣 폴더에다가 권한을 부여한다. sudo chmod -R 777 apache-tomcat-8.5.51 4. war파일 업..