카테고리 없음

Nginx 웹서버 설치 및 기본 환경 설정 방법(SSL 보안 인증서 적용 포함)

14722 2026. 8. 9. 16:04

웹사이트를 직접 운영하거나 개인 서버를 구축하려고 하면 가장 먼저 만나게 되는 것이 웹서버입니다. 그중 Nginx는 가볍고 빠르면서도 다양한 환경에서 사용할 수 있어 개인 홈페이지부터 기업 서비스까지 폭넓게 사용되고 있습니다.

Nginx는 단순히 웹페이지를 보여주는 프로그램만 의미하지 않습니다. 웹서버 역할뿐만 아니라 다른 서버로 요청을 전달하는 역방향 프록시, 캐시, 로드밸런서 등 다양한 기능을 제공합니다.

이번 글에서는 리눅스 서버를 처음 사용하는 분들도 따라 할 수 있도록 Nginx 설치부터 기본 설정, 도메인 연결, HTTPS를 위한 SSL 인증서 적용까지 순서대로 알아보겠습니다.

1. Nginx를 설치하기 전에 확인할 것

먼저 서버에 접속할 수 있어야 합니다. 일반적으로 VPS나 클라우드 서버를 이용한다면 SSH를 통해 서버에 접속합니다.

이 글에서는 Ubuntu 계열 리눅스를 기준으로 설명하겠습니다.

설치를 시작하기 전에 다음 항목을 확인하는 것이 좋습니다.

  • 서버에 정상적으로 접속되는지 확인
  • 관리자 권한을 사용할 수 있는지 확인
  • 도메인을 준비했는지 확인
  • 도메인의 DNS를 서버 IP와 연결할 준비
  • 80번과 443번 포트가 외부에서 접근 가능한지 확인

특히 마지막 항목은 중요합니다. 80번 포트는 일반적인 HTTP 접속에 사용되고, 443번 포트는 HTTPS 접속에 사용됩니다.

2. Nginx 설치하기

먼저 패키지 목록을 업데이트합니다.

sudo apt update

그다음 Nginx를 설치합니다.

sudo apt install nginx

설치가 끝났다면 Nginx 서비스가 정상적으로 실행되고 있는지 확인합니다.

sudo systemctl status nginx

정상적으로 실행되고 있다면 서버의 IP 주소를 웹브라우저에 입력해 확인할 수 있습니다.

예를 들어 서버 IP가 123.123.123.123이라면 브라우저 주소창에 다음과 같이 입력합니다.

http://123.123.123.123

Nginx 기본 페이지가 나타난다면 설치가 정상적으로 완료된 것입니다.

Nginx 공식 문서에서도 Ubuntu와 Debian 등에 패키지를 이용한 설치 방법을 제공하고 있습니다.

3. Nginx 기본 설정 이해하기

Nginx를 처음 접하면 설정 파일이 조금 어렵게 느껴질 수 있습니다.

하지만 처음부터 모든 내용을 이해할 필요는 없습니다.

가장 중요한 설정 파일 중 하나는 다음 경로에 있습니다.

/etc/nginx/nginx.conf

이 파일은 Nginx 전체 설정의 기본이 되는 파일입니다.

설정을 변경하기 전에 원본 파일을 백업해두는 것도 좋은 습관입니다.

sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.backup

이렇게 백업해두면 설정을 잘못 변경했을 때 이전 상태로 되돌리는 데 도움이 됩니다.

4. 웹사이트 기본 페이지 만들기

웹사이트 파일을 저장할 디렉터리를 만들어보겠습니다.

sudo mkdir -p /var/www/example.com/html

간단한 HTML 파일을 만들어 테스트할 수도 있습니다.

sudo nano /var/www/example.com/html/index.html

파일 안에는 다음과 같이 입력합니다.

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <title>내 웹사이트</title>
</head>
<body>
    <h1>Nginx 웹서버 설치 완료</h1>
    <p>정상적으로 웹페이지가 연결되었습니다.</p>
</body>
</html>

이제 Nginx가 이 폴더의 파일을 보여주도록 설정해야 합니다.

5. 도메인 연결과 서버 설정

예를 들어 사용하는 도메인이 example.com이라고 가정하겠습니다.

Nginx 사이트 설정 파일을 만들어줍니다.

sudo nano /etc/nginx/sites-available/example.com

기본적인 설정은 다음과 같이 작성할 수 있습니다.

server {
    listen 80;
    listen [::]:80;

    server_name example.com www.example.com;

    root /var/www/example.com/html;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

설정을 저장한 다음 사이트를 활성화합니다.

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

설정에 문법 오류가 없는지도 확인해야 합니다.

sudo nginx -t

syntax is ok와 test is successful과 같은 정상 메시지가 표시된다면 설정을 다시 적용합니다.

sudo systemctl reload nginx

이제 도메인을 브라우저에서 입력해 웹페이지가 정상적으로 표시되는지 확인합니다.

6. SSL 인증서가 필요한 이유

요즘 웹사이트에서 HTTPS는 매우 중요한 요소입니다.

HTTPS는 사용자의 브라우저와 서버 사이에서 주고받는 정보를 암호화해 다른 사람이 내용을 쉽게 확인하지 못하도록 보호하는 방식입니다.

특히 로그인이나 회원가입, 결제처럼 개인정보가 오가는 웹사이트라면 HTTPS 적용을 중요하게 생각해야 합니다.

SSL 인증서를 직접 발급하고 설정하는 방법도 있지만, 초보자라면 Certbot을 이용하는 방법이 비교적 간단합니다.

7. Certbot으로 SSL 인증서 적용하기

Certbot은 HTTPS 인증서 발급과 설정을 도와주는 도구입니다.

현재 Certbot 공식 안내에서는 Nginx 환경에서 다음과 같은 방식으로 인증서를 설치하고 Nginx 설정을 자동으로 변경할 수 있도록 안내하고 있습니다.

Certbot을 설치한 후 다음 명령을 사용할 수 있습니다.

sudo certbot --nginx

명령을 실행하면 사용할 도메인과 HTTPS 설정 등에 대한 안내가 나타납니다.

화면의 안내에 따라 도메인을 선택하면 Certbot이 인증서를 발급하고 Nginx 설정을 변경할 수 있습니다.

인증서가 정상적으로 적용된 후에는 브라우저에서 다음과 같이 접속합니다.

https://example.com

주소창에 자물쇠 표시가 나타난다면 HTTPS 연결이 적용된 것입니다.

8. SSL 인증서 자동 갱신 확인하기

SSL 인증서는 영구적으로 사용하는 것이 아닙니다.

따라서 인증서가 만료되기 전에 자동으로 갱신되는지 확인하는 것이 중요합니다.

Certbot 공식 문서에서는 다음 명령으로 갱신 테스트를 진행할 수 있다고 안내합니다.

sudo certbot renew --dry-run

테스트가 정상적으로 완료된다면 실제 인증서 갱신 과정에서도 문제가 발생할 가능성을 줄일 수 있습니다.

9. 설치 후 반드시 확인해야 할 항목

Nginx 설치와 SSL 설정이 끝났다고 바로 작업을 끝내기보다는 몇 가지를 확인하는 것이 좋습니다.

첫째, 웹사이트가 정상적으로 열리는지 확인합니다.

둘째, HTTP 주소와 HTTPS 주소가 정상적으로 연결되는지 확인합니다.

셋째, 브라우저에서 인증서 경고가 나타나지 않는지 확인합니다.

넷째, Nginx 설정 파일에 오류가 없는지 확인합니다.

sudo nginx -t

마지막으로 Nginx 서비스 상태도 확인합니다.

sudo systemctl status nginx

이러한 기본 점검을 습관화하면 서버 운영 중 발생할 수 있는 문제를 조금 더 빠르게 찾을 수 있습니다.

10. Nginx 설정에서 자주 발생하는 문제

Nginx를 처음 설정할 때 가장 흔한 문제 중 하나는 설정 파일의 오타입니다.

설정을 변경한 뒤 바로 서비스를 재시작하기보다는 먼저 다음 명령으로 설정을 검사하는 것이 좋습니다.

sudo nginx -t

또한 방화벽 때문에 외부에서 웹사이트가 접속되지 않는 경우도 있습니다.

서버의 방화벽뿐만 아니라 클라우드 서비스를 사용하는 경우에는 해당 서비스의 보안 그룹이나 네트워크 설정도 함께 확인해야 합니다.

도메인이 연결되지 않는다면 DNS 설정도 확인해야 합니다.

즉, 웹사이트 접속 문제는 Nginx 하나만 확인해서 해결되지 않을 수 있습니다.

마무리

Nginx 웹서버 설치는 처음에는 복잡하게 느껴질 수 있지만 순서를 나누어 진행하면 생각보다 어렵지 않습니다.

핵심 과정을 다시 정리하면 다음과 같습니다.

  1. 서버 접속 환경 확인
  2. Nginx 설치
  3. 웹사이트 파일 생성
  4. Nginx 사이트 설정
  5. 도메인 연결
  6. 설정 문법 검사
  7. SSL 인증서 적용
  8. HTTPS 접속 확인
  9. 인증서 자동 갱신 테스트

특히 중요한 것은 설정을 한꺼번에 많이 변경하지 않는 것입니다. 한 단계씩 변경하고 정상적으로 작동하는지 확인하면서 진행하면 오류가 발생했을 때 원인을 찾기도 쉽습니다.

Nginx는 단순한 웹페이지를 운영하는 것부터 역방향 프록시와 서버 부하 분산 등 다양한 용도로 활용할 수 있는 웹서버입니다. 공식 문서에서 제공하는 설치 및 설정 방법을 함께 참고하면 보다 안전하게 서버를 관리할 수 있습니다.

처음 서버를 구축한다면 완벽하게 이해하려고 하기보다 설치 → 테스트 → 설정 → 확인의 과정을 반복하는 것이 가장 좋은 학습 방법입니다.