Hayden's Archive
[AWS] Amazone Linux 서버 설정하기 본문
현재 내가 진행 중인 토이 프로젝트에서는 스프링부트, 리액트를 사용하기 때문에
스프링부트, 리액트 프로젝트를 기준으로 하여 설정해보겠다.
우분투에 익숙해서 apt-get 명령어를 쳤다가 당황했다.
sudo: apt-get: command not found
Amazone Linux는 레드햇 계열 리눅스이므로 apt-get 명령어 대신 yum을 사용한다.
Linux는 크게 레드햇, 데비안, 우분투 3가지로 분류되며, 계열에 따른 패키지 관리 명령어가 다르다.
레드햇 계열(레드햇 엔터프라이즈, 페도라, CentOS)은 yum을 사용하고
데비안, 우분투 계열은 apt-get 을 사용한다.
yum 패키지 관리자로 update, upgrade를 해주자. ( 참고 : apt와 yum 패키지 관리자의 update, upgrade 차이점 )
$ sudo yum update
$ sudo yum upgrade
TimeZone 변경
EC2 서버의 기존 타임존은 세계 표준 시간인 UTC(한국 시간과 9시간 차이)이다.
서버의 타임존을 한국 시간(KST)로 변경하자.
$ sudo rm /etc/localtime
$ sudo ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime
HostName 변경
현재 진행 중인 토이 프로젝트는 서버 하나로 운영하지만
여러 서버를 관리할 경우에는 IP만으로 어떤 서비스의 서버인지 확인이 어렵다.
그러므로 각 서버가 어떤 서비스의 서버인지 표현하기 위해 HostName을 변경해주는 것이 좋다.
아래 명령어를 입력해서 편집 파일을 연다.
$ sudo nano /etc/hosts
밑줄 친 부분을 추가해준다.(127.0.0.1 원하는 서비스명)
입력 후 저장은 Ctrl+O 입력 후 엔터, 편집 파일에서 나가기는 Ctrl+X
아래 명령어를 입력해서 편집 파일을 연다.
$ sudo nano /etc/hostname
밑줄 친 부분을 위에서와 동일하게 원하는 서비스명으로 바꿔준다.
입력 후 저장은 Ctrl+O 입력 후 엔터, 편집 파일에서 나가기는 Ctrl+X
아래 명령어로 재부팅하고
$ sudo reboot
다시 접속해보면 HOSTNAME이 변경되어 있는 것을 확인할 수 있다.
아래 명령어로 HOSTNAME이 정상적으로 등록되었는지도 확인해보자
$ curl 등록한 호스트 이름
성공한 경우
- 아직 80포트로 실행된 서비스가 없음(Failed to connect to ~ port 80)이더라도 curl 호스트 이름으로 실행은 잘 되었다는 의미
실패한 경우
- 찾을 수 없는 주소라는 에러 발생
git 설치
다음 명령어로 Amazone Linux 서버에 git을 설치한다
$ sudo yum install git
설치가 완료된 후 깃 버전을 확인해보자.
$ git --version
OpenJDK 11 설치
다음 명령어로 Amazone Linux 서버에 OpenJDK 11을 설치한다
$ sudo amazon-linux-extras install java-openjdk11
설치가 완료된 후 자바 버전을 확인해보자.
$ java -version
Node.js 설치
참고 : 자습서: Amazon EC2 인스턴스에서 Node.js 설정
다음 명령어로 Amazone Linux 서버에 nvm(Node Version Manager)을 설치한다.
nvm으로 각종 노드 버전을 설치하거나 전환할 수 있다.
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
nvm을 활성화시킨다
# . ~/.nvm/nvm.sh
Node.js 최신 버전을 설치한다. Node.js를 설치하면 npm(Node Package Manager)도 설치된다.
$ nvm install node
다음 명령어로 Node.js가 올바르게 설치되고 실행되는지 테스트할 수 있다.
$ node -e "console.log('Running Node.js ' + process.version)"
Nginx 설치 및 설정
nginx is available in Amazon Linux Extra topic "nginx1"
Amazon Linux에서는 아래의 명령어로 nginx를 설치한다.
$ sudo amazon-linux-extras install nginx1
EC2 서비스의 NETWORK & SECURITY - Security Groups - Inbound rules에서 Edit inbound rules를 선택하고
Nginx가 사용하는 80 포트를 Security Groups에 추가한다.
Nginx로 React 배포하기