우분투 Nginx 최신 버전 설치 과정 정리, 우분투에서 Nginx을 설치하면 최신 버전이 아닌 레거시 버전이 설치된다. Nginx 저장소를 이용해 메인라인 또는 안정 버전을 설치한다.
Nginx 설치 방법은 크게 2가지가 있다.
- 우분투 Nginx 패키지 설치(기본)
- Nginx 리포지토리를 이용해 최신 버전으로 설치
Nginx 우분투용 패키지 저장소 설정
Nginx 홈페이지로 접속해 메인라인(Mainline version)과 안정 버전(Stable version)을 확인한다.
- Nginx 메인라인 버전 : nginx-1.21.6
- Nginx 안정 버전 : nginx-1.20.2
Nginx 저장소의 우분투용 패키지로 설치하면 항상 최신 버전으로 업데이트할 수 있다.
필수 구성 요소 설치
Nginx 리포지토리를 사용하기 위해 필수 구성 요소를 설치
sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyringnginx 서명 키 가져오기
apt가 패키지 진위를 확인할 수 있도록 공식 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 --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg출력에는 다음과 같이 전체 지문이 포함되어야 한다
pub rsa2048 2011-08-19 [SC] [expires: 2024-06-14]
573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62
uid nginx signing key <signing-key@nginx.com>지문이 다른 경우 파일 제거 후 다시 설치한다.
Nginx 안정 버전
메인라인과 안정 버전 중 한 가지만 선택해 설치해야 한다.
안정적인 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.listNginx 메인라인
안정 버전을 설치했다면 메인라인은 설치하면 안 된다.
메인라인 Nginx 패키지에 대한 apt 저장소 설정
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/mainline/ubuntu `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.listNginx 패키지 저장소 고정
배포판에서 제공하는 패키지보다 Nginx 리포지토리 패키지를 선호하도록 리포지토리 고정
echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" \
| sudo tee /etc/apt/preferences.d/99nginx우분투 Nginx 최신 버전 설치
우분투에 Nginx 패키지를 설치한다.
참고로 우분투 Nginx이 설치되는 폴더 경로는 기존과 같은데 html이 있는 루트 폴더의 위치는 다르다. 버전이 달라서 인지 아니면 저장소가 달라서인지는 모르겠다.
- 설치된 경로 :
/etc/nginx - 루트 경로 :
/usr/share/nginx/html
지금부터 설치 과정은 기본적인 방법과 동일하다.
# 우분투 팩키지 업데이트
sudo apt update
# Nginx 설치
sudo apt install nginx
# 설치된 Nginx 버전확인
sudo nginx -v
# Nginx 시작
sudo systemctl start nginx브라우저 창을 열고 주소창에 IP 주소 또는 연결된 도메인으로 접속한다.

접속이 되지 않는다면 방화벽 설정을 확인한다.
대부분 클라우드 가상 머신의 경우 관리 페이지와 OS 두 곳 모두에서 방화벽을 설정해 주어야 한다.