두 번째 토이 프로젝트를 완료하고
·
개발생활
Rhythm Up - 역대글▶ Docker 배포 최적화▶ Nginx HTTPS▶ 두 번째 토이 프로젝트를 완료하고  완성 URL 두 번째 토이 프로젝트를 마무리했다. 이번 프로젝트에서는 사용자가 노래를 공유할 수 있는 서비스를 구현했다는데, 사용자 피드백을 받으며 기능을 다듬는 과정에서 기대 이상의 결과물을 만들어 낼 수 있었다.  이번 프로젝트에서는 첫 번째 토이 프로젝트를 진행하며 느꼈던 아쉬움을 바탕으로 개발 환경과 구조를 개선하는 데 중점을 두었다. 특히, Next.js를 활용하여 Node.js 서버가 불필요한 서비스에서도 Node.js 환경을 사용했던 비효율성을 보완했고, 배포 환경에서도 이전에 겪었던 문제를 해결했다.  또한 Docker 환경에서 배포 시 HTTP 설정으로 인한 이슈와 이미지 ..
Nginx HTTPS
·
도커
Rhythm Up - 역대글▶ Docker 배포 최적화▶ Nginx HTTPS▶ 두 번째 토이 프로젝트를 완료하고    기존 배포 방식에서는 HTTP 프로토콜을 사용해 데이터를 전송하고 있었다. 그러나 HTTP는 데이터가 암호화되지 않은 상태에로 전송되기 때문에, 민감한 정보가 제3자에 의해 가로채이거나 악용될 위험이 있다. 이러한 보안 문제를 해결하기 위해 HTTPS로 전환이 필요하다.  HTTPS는 SSL/TLS 인증서를 기반으로 동작하며, 인증서를 통해 서버와 클라이언트 간의 신뢰를 형성한다. HTTPS를 사용하면 데이터가 암호화된 상태로 전송되기 때문에, 제3자가 데이터를 가로채더라도 이를 읽거나 해독할 수 없다. 이를 통해 사용자 정보와 서버 간 통신을 안전하게 보호할 수 있다.  보안 이점 외..
Github Actions로 배포 자동화하기
·
개발환경
Mafia Game - 역대글▶ Node.js Docker로 배포하기▶ Next.js Docker로 배포하기▶ Github Actions으로 배포 자동화 ▶ 첫 번째 토이 프로젝트를 완료하고 지금까지 Nginx와 Next.js, Node.js 서버를 Docker를 통해서 배포하는 방법을 알아봤다. 이번에는 Github Actions를 사용해서 main 브랜치에 머지 되면 Docker를 통해 자동으로 배포되도록 설정하는 작업을 진행하려고 한다.  이 글에서는 Dockjer에 대한 설정을 추가로 다루지 않고, GitHub Actions와 Linux 환경 설정에 초점을 맞추고 있습니다. Docker 설정이 필요하다면, Node.js, Next.js 배포하기를 먼저 참고해 주시길 바랍니다.  Linux 설정Gi..
Next.js Docker로 배포하기
·
Next.js/실험실
Mafia Game - 역대글▶ Node.js Docker로 배포하기▶ Next.js Docker로 배포하기▶ Github Actions으로 배포 자동화▶ 첫 번째 토이 프로젝트를 완료하고 지난번에는 Node.js 서버를 Docker를 활용해서 배포하는 작업을 진행했다. 이번에는 Next.js를 Docker를 통해 배포하는 방법을 알아보려고 한다. 또한, 배포 과정에서 Nginx를 추가로 사용하려고 한다.  Next.js는 Node.js 기반의 서버를 내장하고 있어 React와 달리 Nginx가 배포를 위해서 필수는 아니다. 하지만 Nginx를 도입하면 도메인 설정이 용이하고, CORS 처리를 대신할 수 있어 배포 환경을 더욱 효율적으로 구성할 수 있다. 이러한 이유로 이번 배포에서는 Nginx를 함께 ..
Node.js Docker로 배포하기
·
Node.js/실험실
Mafia Game - 역대글▶ Node.js Docker로 배포하기▶ Next.js Docker로 배포하기▶Github Actions으로 배포 자동화▶ 첫 번째 토이 프로젝트를 완료하고 토이 프로젝트로 마피아 게임을 만들었는데, 클라이언트끼리 통신을 위해서 웹소켓 서버가 필요했다. 그래서 호다닥 만든 다음 실제로 사용하기 위해서 배포를 진행하려고 한다.  이때 Docker를 사용하는 이유는 하나의 서버에 여러 서비스를 배포할 생각이기 때문이다. (이것 저것 배포하는 실험실?)Linux Ubuntu 24.04 버전을 사용하고 있는 환경에 Docker를 설치까지는 선행으로 진행했고 이어서 배포를 하려고 한다.  Docker File1. Base Image 선택FROM node:20.16-alpine3.19..
[React] Docker Nginx React를 사용해서 배포하기
·
React/실험실
지난번에는 React와 Nginx를 함께 사용해서 배포하는 작업을 진행했다. 이번에는 React와 Nginx를 Docker를 사용해서 이미지화 시켜서 컨테이너로 클라이언트를 배포할 계획이다. 환경 정보 Server : Naver Cloud os : Ubuntu 20 필요한 파일 설치 apt install npm // npm 설치 sudo apt-get install build-essential libssl-dev curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash source ~/.bashrc // nvm 설치 nvm install 18.12.1 // 필요한 npm 버전 설치 npm을 설치하고 defaul..
Docker 이미지 실행 중 발생한 오류 /bin/sh: 1: [npm,: not found
·
개발정보
사건의 발단 CI / CD 자동 배포를 공부하던 중 Docker Image를 만들어야 했다. 그런데 분명 코드가 문제 없다고 생각했는데, /bin/sh: 1: [npm,: not found npm이 없다는 오류를 내는 거였따?! 분명 처음에 node를 From을 통해서 받아왔는데, 안될 이유가 없었다... 해결 FROM node:18.12.1 RUN mkdir -p /client WORKDIR /client ADD . /client/ RUN npm i RUN npm run build ENV HOST 0.0.0.0 EXPOSE 3000 CMD ['npm', 'run', 'start'] 뭐가 문제인지 보이십니까?! 정말 홀리 몰리한 문제였습니다. FROM node:18.12.1 RUN mkdir -p /cl..
[Docker] Node 환경 만들기
·
도커
1. 노트 프로젝트 만들기 VSCode에서 먼저 npm init을 통해 프로젝트를 초기화시킨다! 다음 Express 프레임워크를 설치해서 가벼운 백엔드를 만들어준다! 여기까지 완료되었다면, 간단하게 작성하였다. ※ package-lock.json이 안 만들어졌다면, npm i 명령어를 통해서 만들어주면 된다. 2. 도커 파일 만들기 Node 프로젝트 작성이 끝났다면, 다음으론 Dockerfile을 만들어준다! Dockerfile 안에는 어떤 이미지를 만들건지, 프로젝트에 어떤 것이 필요한지 명시하는 것이다. 1. BaseImage 정하기 - FROM 제일 처음에는 FROM baseImage로 시작한다. DockerImage를 만들때 모든 것을 다 만드는 것이 아닌 BaseImage를 기반으로 작업을 진행..