devOps8 Nginx Let's Encrypt SSL 적용 AL2023 Nginx SSL 인증서 적용SSL/TLSSSL(Secure Socket Layer)/TLS(Transport Layer Security)은 전송계층 상에서 클라이언트, 서버에 대한 인증 및 데이터 암호화를 수행한다. 보안용 프로토콜이며 이 둘은 버전의 차이이다.Let's Encrypt무료로 SSL/TLS 인증서를 발급해 주는 비영리기관이다. 무료인 대신 만료기한이 90일로 기간 안에 매번 재발급을 진행해야 한다.1. Certbot 설치Certbot은 SSL/TLS 인증서를 자동으로 발급하고 갱신하는 도구이다.sudo dnf install -y certbot python3-certbot-dns-route53 python3-certbot-nginxpython3-certbot-dns-route5.. 2025. 3. 13. AWS EC2 Amazon Linux 2023 Nginx 설치 Nginx 설치1. nginx 설치 전 필수 구성 요소 설치sudo yum install yum-utils2. AL2023(Amazon Linux 2023)에 대한 yum 저장소를 설정"/etc/yum.repos.d/nginx.repo"라는 파일을 만들어 아래의 내용을 작성해야 한다.sudo vi /etc/yum.repos.d/nginx.repo[nginx-stable]name=nginx stable repobaseurl=http://nginx.org/packages/amzn/2023/$basearch/gpgcheck=1enabled=1gpgkey=https://nginx.org/keys/nginx_signing.keymodule_hotfixes=truepriority=9[nginx-mainline]na.. 2025. 3. 10. AWS EC2 Ubuntu Nginx 설치 Nginx 설치Nginx 설치 전 필수 구성 요소 설치sudo apt install -y curl gnupg2 ca-certificates lsb-release ubuntu-keyringapt가 패키지 진위를 확인할 수 있도록 공식 nginx 서명 키를 획득curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \ | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null올바른 키가 포함되어 있는지 확인gpg --dry-run --quiet --no-keyring --import --import-options import-show /usr/share/keyrings/nginx-arc.. 2025. 3. 1. Spring 프로젝트 AWS EC2 Docker 배포 Spring Boot 프로젝트를 AWS EC2에 Docker를 사용해서 배포를 해보려고 합니다.프로젝트를 Docker build를 통해 Image로 만들고 Docker Hub에 공유해서 EC2에서 다운로드하고 프로젝트를 실행하는 방법입니다.AWS EC2 구축 전이라면 아래의 링크를 참조해 주세요.AWS EC2 구축 세팅(프리 티어)현재 환경과 더 간편하게 배포하는 방법 및 EC2에 도커 설치 방법은 아래의 링크를 참조해 주세요.Spring Boot 프로젝트 AWS EC2 배포하기1. Gradle build먼저 gradle build로 jar 파일을 만들어줍니다. 그전에 따로 설정 없이 빌드를 하면 "plain"이 없는 것과 있는 것 2개의 jar 파일이 생성되기 때문에 "*-plain.jar" 파일은 생.. 2025. 2. 5. Spring Boot 프로젝트 AWS EC2 배포하기 Spring Boot 프로젝트를 AWS EC2에 가장 쉽고 간단한 방법으로 배포를 해보려고 합니다.프로젝트를 빌드해서 jar 파일을 만들고 EC2 인스턴스로 옮겨서 jar 파일을 실행만 하면 됩니다.AWS EC2 구축 전이라면 아래의 링크를 참조해 주세요.AWS EC2 구축 세팅(프리 티어) 저는 스프링에서 제공하는 예제 중 petclinic의 gradle 프로젝트로 배포했습니다. 프로젝트 기본 설정이 h2 database를 사용하고 있어서 "application.properties" 파일에서 "database" 값을 "mysql"로 변경하고, "spring.profiles.active=mysql"을 추가해서 mysql로 사용하도록 변경하고 진행했습니다. petclinic에 대한 예제는 아래의 링크를 참.. 2025. 2. 2. [Docker] Redis 설치 Docker 설치는 아래 글을 참조 Docker 설치 및 명령어 정리 해당 내용은 Ubuntu 22.04.2 LTS 버전에서 진행 ✔ Docker Redis Image 다운로드 # redis 최신 버전 다운(아래의 2개가 동일함) $ docker pull redis $ docker pull redis:latest # redis 지정 버전 다운 $ docker pull redis:7.0.11 Docker Image 정상적으로 다운로드되었는지 아래의 명령어로 확인할 수 있다. $ docker images docker 명령어를 사용할 때 관리자 권한인 sudo를 사용하지 않게 권한을 주려고 하면 맨 위의 Docker 설치 및 명령어 정리 글을 참조하면 된다. ✔ Docker Redis Container 생성 .. 2023. 6. 28. Dockerfile & docker-compose 작성 NodeJS, Express, MySQL, Sequelize로 구현한 프로젝트를 Docker를 이용하여 배포하기 위한 내용 처음 Docker를 사용 배포를 하면서 생긴 오류들과 과정을 기억하기 위해 남깁니다. 과정은 다음과 같습니다. docker-compose.yml 파일에 Redis서버와 MySQL 서버, Express app 서버 3개를 한 번에 구동시키기 위해 작성 docker-compose up -d --build로 이미지가 만들어지고 컨테이너가 실행 app에서 MySQL 연결 및 Redis 연결이 이뤄지고 실행 하지만 컨테이너가 실행은 됐지만 app 컨테이너의 로그를 봤더니 "connect ECONNREFUSED 127.0.0.1:3306"으로 에러가 발생 원인들의 이유부터 말하자면, 일단 첫 .. 2022. 7. 31. Docker 설치 및 명령어 정리 자동 설치 스크립트(리눅스)Docker는 리눅스 배포판 종류를 자동으로 인식하여 패키지를 설치해주는 스크립트를 제공$ sudo wget -qO- https://get.docker.com/ | shUbuntu 패키지 설치/usr/bin/docker.io 실행파일을 /usr/local/bin/docker로 링크해서 사용$ sudo apt-get update$ sudo apt-get install docker.io$ sudo ln -sf /usr/bin/docker.io /usr/local/bin/dockerdocker-compose 설치curl을 사용해서 github에서 docker-compose 바이너리 설치터미널에서 사용할 수 있도록 심볼릭 링크 생성, 실행 권한 부여마지막으로 version 출력으로 정.. 2022. 7. 24. 이전 1 다음