개발 관련/Server

우분투(Ubuntu)에 Nginx 설치하는 방법우분투(Ubuntu)에 Nginx 설치하는 방법

magpiebros 2025. 3. 25. 21:41
반응형

운영 서버를 구축할 때 가장 많이 사용되는 웹 서버 중 하나가 바로 Nginx입니다. 속도가 빠르고 안정적인 성능을 자랑하기 때문에 많은 웹사이트와 애플리케이션에서 사용되고 있습니다. 이번 글에서는 우분투(Ubuntu) 환경에서 Nginx를 설치하고 기본적인 설정을 하는 방법을 자세히 설명하겠습니다.

1. Nginx란?

Nginx(엔진엑스)는 높은 성능과 확장성을 제공하는 웹 서버로, 정적인 콘텐츠 제공뿐만 아니라 리버스 프록시(reverse proxy), 로드 밸런서(load balancer) 등의 역할도 수행할 수 있습니다. 특히, 대량의 트래픽을 효율적으로 처리하는 데 강점을 가지고 있습니다.

2. 우분투에서 Nginx 설치하기

Nginx는 대부분의 우분투 배포판에서 기본적으로 지원되므로, 간단한 명령어만으로 설치할 수 있습니다.

2.1 패키지 목록 업데이트

먼저 패키지 목록을 최신 상태로 업데이트합니다.

sudo apt update
sudo apt upgrade -y

2.2 Nginx 설치

아래 명령어를 입력하여 Nginx를 설치합니다.

sudo apt install nginx -y

설치가 완료되면 자동으로 Nginx 서비스가 시작됩니다.

2.3 Nginx 서비스 확인

설치된 Nginx가 정상적으로 실행되고 있는지 확인하려면 다음 명령어를 사용합니다.

sudo systemctl status nginx

정상적으로 실행 중이라면 출력 결과에 active (running) 상태가 표시됩니다.

3. 방화벽 설정

우분투의 UFW(Uncomplicated Firewall)를 사용하는 경우, Nginx의 트래픽을 허용해야 합니다.

3.1 방화벽 활성화

UFW가 활성화되어 있는지 확인하고, 필요하면 활성화합니다.

sudo ufw enable

3.2 Nginx를 위한 방화벽 규칙 추가

기본적으로 Nginx는 80번 포트(HTTP)와 443번 포트(HTTPS)를 사용합니다. 이를 허용하려면 다음 명령어를 입력합니다.

sudo ufw allow 'Nginx Full'

이후, 방화벽 상태를 확인합니다.

sudo ufw status

Nginx 관련 규칙이 적용되었는지 확인할 수 있습니다.

4. Nginx 기본 설정

4.1 기본 웹페이지 확인

Nginx가 정상적으로 작동하는지 확인하려면 웹 브라우저에서 서버의 IP 주소를 입력합니다.

http://your_server_ip

기본적으로 "Welcome to nginx!" 페이지가 나타나면 정상적으로 동작하는 것입니다.

4.2 Nginx 설정 파일 수정

Nginx 설정 파일은 /etc/nginx/nginx.conf 경로에 위치합니다. 편집하려면 다음 명령어를 사용합니다.

sudo nano /etc/nginx/nginx.conf

설정을 변경한 후 저장하고 나가려면 CTRL + X를 누른 후 Y를 입력하고 Enter를 누르면 됩니다.

4.3 Nginx 재시작

설정 파일을 변경한 후에는 변경 사항을 적용하기 위해 Nginx를 재시작해야 합니다.

sudo systemctl restart nginx

5. Nginx 자동 실행 설정

서버가 재부팅되었을 때 Nginx가 자동으로 실행되도록 설정할 수 있습니다.

sudo systemctl enable nginx

6. 추가 설정 (선택 사항)

6.1 리버스 프록시 설정

Nginx를 리버스 프록시로 사용하려면 sites-available 디렉터리에 새로운 설정 파일을 생성해야 합니다.

sudo nano /etc/nginx/sites-available/myproject

다음과 같은 내용을 추가합니다.

server {
    listen 80;
    server_name yourdomain.com;

    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

이후 설정을 활성화하고 적용합니다.

sudo ln -s /etc/nginx/sites-available/myproject /etc/nginx/sites-enabled/
sudo systemctl restart nginx

 

반응형

'개발 관련 > Server' 카테고리의 다른 글

node 설치  (0) 2025.03.26
[아파치] 우분투에 Apache 설치  (0) 2025.03.17
서블릿 필터와 리스너의 차이점  (0) 2025.02.10
enctype이란 무엇인가?  (0) 2025.02.10
DOM 객체란 무엇인가?  (0) 2025.02.10