
리눅스에서 간단하게 웹 서버(Nginx) 구축하기
이번 포스팅에서는 리눅스 환경에서 간단하게 웹 서버를 설치하고 실행하는 방법을 실습해 보겠습니다.
특히 웹 브라우저와 웹 서버 간 통신의 기본 구조를 이해한 뒤, Nginx
를 설치하고 직접 확인하는 과정을 다룹니다.
1. 웹 브라우저와 웹 서버의 통신 과정
웹 클라이언트(브라우저)에서 웹 서버에 접근할 때의 흐름은 다음과 같습니다:
-
도메인 입력
사용자가 브라우저에www.naver.com
또는google.com
을 입력합니다.
하지만 이 문자열만으로는 통신할 수 없기 때문에 먼저 DNS 서버를 통해 IP 주소로 변환해야 합니다. -
DNS 질의
-
국내 ISP(LG, KT, SK 등) 또는 구글 DNS(
8.8.8.8
)에 요청 → 해당 도메인의 IP를 응답받음.
-
-
HTTP 요청 (Request)
-
변환된 IP 주소로 웹 서버에
HTTP Request
를 보냅니다.
-
-
HTTP 응답 (Response)
-
웹 서버는 요청을 처리하고
Response
를 돌려줍니다.
-
➡️ 이 과정은 내부적으로 TCP/IP 통신을 기반으로 동작하지만, 일반적인 TCP 연결처럼 계속 유지되지 않고 요청-응답 단위로 연결이 종료되는 특징이 있습니다.
2.Nginx 설치 및 실행
-
Nginx 설치
sudo dnf install -y nginx
-
설치 과정에서 패키지 메타데이터도 자동으로 갱신됩니다.
-
비밀번호 입력 시 화면에 표시되지 않지만 정상적으로 입력됩니다.
-
서비스 시작
sudo systemctl start nginx
-
상태 확인 (선택)
sudo systemctl status nginx
-
running
상태라면 정상적으로 실행 중입니다.
3.웹 서버 접속 및 테스트
-
기본 페이지 확인
curl http://127.0.0.1
-
localhost
(127.0.0.1) 기본 80 포트로 접속됩니다. -
응답으로 Nginx 기본 HTML 페이지가 반환됩니다.
-
응답 헤더 확인
curl -I http://127.0.0.1
-
상태 코드(
200 OK
) 및 HTTP 헤더를 확인할 수 있습니다.
4.HTML 페이지 수정하기
-
기존 HTML 백업 후 수정
sudo cp /usr/share/nginx/html/index.html /usr/share/nginx/html/index.html.bak echo "Hello World" | sudo tee /usr/share/nginx/html/index.html
2. 변경된 페이지 확인
curl http://127.0.0.1
-
이제 Nginx의 기본 페이지 대신
Hello World
가 출력됩니다.
5.정리
이번 실습에서는 다음을 해보았습니다:
-
웹 브라우저와 웹 서버 간의 기본 통신 과정 이해 (DNS → Request → Response)
-
Rocky Linux 환경에서 Nginx 설치 및 서비스 실행
-
curl
명령어를 활용한 웹 서버 동작 검증 -
기본 HTML 페이지 수정 및 커스터마이징
➡️ 단순히 Nginx를 설치하고 기본 페이지를 확인하는 수준이지만, 이는 모든 웹 서비스 구축의 기초가 됩니다. 이후에는 DB 연동, Docker/Kubernetes 기반 확장 등으로 확장할 수 있습니다.
추가적으로 리눅스 기초 명령어 공부하고 싶다면 왕초보를 위한 리눅스 기초 강의를 참고하세요. https://reallinux.co.kr/course/linux_beginner