AWS EC2 인스턴스에 Nginx 설치하기
오늘 작업해 볼것은 AWS EC2에 새롭게 인스턴스를 생성을 한 후에, 그 인스턴스에 Nginx를 설치해보는 걸 해보려고합니다.
1. AWS EC2에 인스턴스 생성하기
1-1. EC2에 새로운 인스턴스 생성하기
검색창에 EC2를 검색해서 인스턴스를 생성하는 찾으로 가줄겁니다.
인스턴스를 생성할때는 사진에서 보이듯 두개의 버튼중 하나를 눌러줍니다. "인스턴스 시작" 버튼을 클릭을 해주면 인스턴스 생성창으로 이동하게됩니다.
인스턴스를 시작하기위해서 인스턴스를 구별하기 위한 이름을 먼저 지어줍니다. 저는 "nginx-server"라고 지었습니다.
인스턴스에서 사용될 애플리케이션을 선택하는 곳입니다. 여기서 우리는 "Ubuntu"를 선택해줍니다.
그다음, 해당하는 인스턴스의 유형과 키페어정보는 입력하는데, 인스턴스의 유형은 기본적으로 사용하는 "t2.micro"를 선택주고, 키페어는 굳이 필요없을것같아서 "키 페어 없이 계속 진행(권장되지 않음)"을 선택해줍니다.
그 다음엔 네티워크를 설정하는데, nginx를 공부하면서 HTTP,HTTPS에 관한 테스트도 진행을 할거라서 선택해서 진행해보려고합니다.
다 만들고 나서 인스턴스를 생성하게 되면 아래와 같이 새로만든 인스턴스가 실행중인것을 확인할 수 있습니다.
+) EC2 관련 기본 셋팅에 대해서 알고싶으면 이전 포스팅 참고해주세용 : )
2025.02.28 - [침착하게 Study/서버] - [AWS] AWS EC2 생성 및 기본 셋팅 하기
[AWS] AWS EC2 생성 및 기본 셋팅 하기
AWS EC2 세팅하기 최근에 뭔가 데브옵스나 인프라 쪽에 대해서 어느 정도 기본지식은 알고 있어야 한다는 생각에, 인프런에서 강의 하나를 만나게 되었다. 해당 강의를 들으면서 선생님께서 기록
calmspace-dev.tistory.com
2. Nginx 설치 하기
인스턴스를 새롭게 만들고 나서 이제는 nginx를 설치해 보겠습니다.
"연결" 버튼을 클릭을 해서 인스턴스 연결화면으로 넘어가겠습니다.
연결 버튼을 누르고 나면 해당 서버로 들어오게 됩니다.
Nginx 설치 명령어
# apt에서 설치 가능한 패키지 리스트(최신 패키지, 버전 등)를 최신화시킨다.
# apt는 리눅스에서 사용되는 소프트웨어 패키지를 설치 및 관리할 수 있게 도와주는 툴이다.
# npm 또는 gradle과 같은 패키지 관리 도구와 비슷하다고 생각하면 된다.
$ sudo apt update
# nginx 설치에 필요한 라이브러리 설치
$ sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring
# 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-archive-keyring.gpg
$ echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list
# nginx 설치
$ sudo apt update
$ sudo apt install nginx
+) 참고 공식문서
https://nginx.org/en/linux_packages.html#Ubuntu
nginx: Linux packages
nginx: Linux packages Supported distributions and versions nginx packages are available for the following Linux distributions and versions: RHEL and derivatives Version Supported Platforms 8.x x86_64, aarch64/arm64 9.x x86_64, aarch64/arm64 Debian Version
nginx.org
1. apt에서 설치 가능한 패키지 리스트(최신 패키지, 버전 등)를 최신화시켜줍니다.
sudo apt update
명령어를 치고 나서 업데이트가 완료된것을 확인한다.
2. Nginx에 필요한 라이브러리들을 설치한다.
sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring
중간에 "Do you want to continue?" 라는 질문에 "Y"를 입력해준다.
설치가 막힘없이 잘되어서 끝났다.
3. Nginx 패키지 저장소에서 제공하는 서명 키를 가져와서, apt 패키지 관리자가 Nginx 패키지가 신뢰할 수 있는 것인지 확인할 수 있도록 하는 작업을 진행합니다.
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
| sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
잘 완료가 되었는지 확인해줍니다.
4.다운로드한 파일이 정확한 서명 키를 포함하고 있는지 확인하는 작업을 합니다.
gpg --dry-run --quiet --no-keyring --import --import-options
import-show /usr/share/keyrings/nginx-archive-keyring.gpg
완료가 잘 되었는지 확인해줍니다.
5. 안정적인 Nginx 패키지를 설치할 수 있도록 apt 저장소를 설정하는 명령어를 실행을 합니다.
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list
잘 설치가 되었습니다.
5. 다시 한번 apt에서 설치 가능한 패키지 리스트(최신 패키지, 버전 등)를 최신화시킵니다.
sudo apt update
6.이제 Nginx를 설치하는 명령어를 입력합니다.
sudo apt install nginx
설치가 잘된것을 확인해줍니다.
Nginx 실행 명령어
이쯤에서 설치가 잘 되었는지 확인을 해줘야합니다. 그냥 설치가 다 했다고 종료하는게 아니라, 정말도 되었는지 상태를 확인해주는 절차를 실행해 줍니다.
# nginx 상태 확인
$ sudo systemctl status nginx
# nginx 시작
$ sudo systemctl start nginx
# nginx 상태 확인
$ sudo systemctl status nginx
7. Nginx 상태를 확인해주는 명령어를 칩니다.
sudo systemctl status nginx
명령어를 치고나면 해당 Nginx의 상태를 나타내줍니다. 현재는 "Active: inactive(dead)" 입니다. 즉, 서버가 중지가 되어있는 상태라는 말입니다.
8. 이제 Nginx 서버를 실행시키는 명령어를 입력해줍니다.
sudo systemctl start nginx
8. 시작후 바로 시작이 잘 되었는지, 상태 확인을 해주는 명령어를 다시 쳐줍니다.
sudo systemctl status nginx
확인 해본 결과, "Active : active(running)"의 상태로 바뀐것을 확인할 수 있습니다.
그리고 나서 해당 인스턴스의 주소를 쳐보면, nginx가 잘 실행중인것을 확인 할 수 있습니다.
'침착하게 Study > 서버' 카테고리의 다른 글
[AWS,Nginx] Nginx 에러 페이지 수정 및 기본페이지 변경 (0) | 2025.03.14 |
---|---|
[vim] 개발자가 꼭 알아야 되는 vim 명령어 정리 (0) | 2025.03.10 |
[AWS,Nginx] Nginx 기본적으로 알아야할 파일과 의미 해석 (0) | 2025.03.09 |
[리눅스] 자주 쓰는 리눅스 용어 정리 (+) 리눅스 실습가능한 사이트 소개 (1) | 2025.03.02 |
[AWS] AWS EC2 생성 및 기본 셋팅 하기 (0) | 2025.02.28 |