AWS 에서 Node.js 개발환경 설치하는 방법
간단한 포트폴리오 홈페이지를 제작하게 되어, 개발환경과 도구에 대해서 고민을 해봤다. (예전 같으면) 국내 CAFE24 호스팅을 이용하여 html5, php, mysql 로 개발했을 것이다. 하지만 최근 클라우드에 관심이 생겨 AWS 에서 Node.js 로 개발하려고 한다. 만들어야할 페이지가 많지 않고 업데이트가 자주 있을 것 같지 않다. 그래서, 굳이 Database 를 사용하지 않으려고 한다. Google spread sheet 으로 데이터를 작성하고 json 으로 변환해서 file db 처럼 사용해보자.
AWS 를 시작하며
AWS 라이트세일
AWS 라이트세일, Lightsail 은 소규모 프로젝트를 위한 가상화 서버 서비스 이다. 복잡한 설정 없이 빠르고 쉽게 가상서버 인스턴스를 생성, 관리, 삭제 할 수 있다. 2022년 12월 기준으로 아래의 서비스를 제공한다.
- Linux 와 Windows 머신을 지원한다.
- Linux 와 Windows 머신에서 wordpress, php LAMP, nodejs, gitlab, Django 등 다양한 언어지원과 웹프레임워크를 제공한다.
- 가상 서버의 사양에 따라서 비용은 Linux $3.5, Windows $8 부터 시작한다.
- 별도의 비용이 예상된다. 예를 들어 도메인 서비스 Route53 도 (소액이지만) 따로 비용이 청구 되었다.
AWS 라이트세일에 가입한다. 가장 낮은 사양(월 $3 정도)으로 가입한다. 초기 트래픽이 많지 않을 경우 3달 무료 인것 같다. 이후에도 기본요금으로 사용이 가능할 것 같아 큰 부담은 없다.
도메인을 구입하고 AWS 에 연결하기
AWS 에서 Route53 라는 서비스를 통해 도메인 등록을 지원한다. 하지만, Route53 에서 모든 도메인을 살 수 있는 것은 아니다. Route53 에서 구입할 수 있는 도메인 리스트는 링크를 참고한다. [Route53 구매 가능 도메인]
사용할 도메인이 .kr 이라서, 다른 업체에서 도메인을 구입하였다. AWS 연결을 위해 name server 를 등록했다. 그리고 AWS 에서 Route53 를 통해 구입한 도메인을 등록 하였다. 등록 후에는 새로운 레코드를 생성해서 위에서 만든 인스턴스의 정적IP 와 연결해야 한다.
첫 인스턴스 생성하기
새로운 인스턴스를 생성한다. 우분투 18.04 가 가장 익숙하지만, 20.04 로 정했다. 왜냐하면, Node.js 를 사용할 건데, glibc 바인딩에서 버전때문에 에러가 나는 경우가 있었다. 물론 해결방법은 있지만, 운영체제에 포함된 legacy 라이브러리를 변경하고 싶지 않다. 게다가 glibc 는 가장 많이 사용되는 라이브러리이기 때문이다. 그외에도 여러모로 20.04 로 갈아타야 하는 시점인 것 같다.
인스턴스 연결하기
생성한 인스턴스에 연결하는 방법은 아래와 같다.
- AWS 에서 제공하는 브라우저 기반의 SSH 를 사용한다.
- Microsoft VSCode 의 ssh 익스텐션을 이용해서 접속한다.
- Windows Terminal 에서 ssh 로 접속한다.
ssh -i server.pem ubuntu@5.X.X.X
1번 방법을 제외한 다른 방법들은 key (*.pem) 가 필요하다. AWS 에서 다운 받거나, 인스턴스에서 직접 생성하자.
Node.js 와 NPM 설치하기
인스턴스 터미널에서 apt-get 을 통해 nodejs 와 npm 패키지를 설치한다.
$ sudo apt-get install -y nodejs npm
최신버전으로 업그레이드 하기 위해 npm cache 를 삭제하고 n 모듈을 설치 한다
$ sudo npm cache clean -f
$ sudo npm install -g n
n 모듈을 이용하여 최신 안정화된 버전으로 업그레이드 한다.
$ sudo n stable
copying : node/18.12.1
installed : 18.12.1 (with npm 8.19.2)
npm 을 최신 버전으로 업데이트 한다.
$ sudo npm update -g npm
node 와 np, 명령어를 실행하여 버전을 확인한다. (2022년 12월 기준 v18.12.1)
$ node -v
v18.12.1
$ npm -v
8.19.2
참고자료
AWS 라이트세일 관련 내용은 정식 홈페이지를 참고한다.
https://aws.amazon.com/ko/lightsail/
'프로그래밍 > Web development' 카테고리의 다른 글
WORDPRESS 워드프레스 테마 소스 (7) | 2024.06.22 |
---|---|
우분투 18.04 최신 node.js 와 npm 설치 (0) | 2022.08.09 |