본문 바로가기
리눅스 이야기

초간단 웹서버 만들기 Hello, world!

by reallinux1 2025. 9. 16.

리눅스에서 간단하게 웹 서버(Nginx) 구축하기

이번 포스팅에서는 리눅스 환경에서 간단하게 웹 서버를 설치하고 실행하는 방법을 실습해 보겠습니다.
특히 웹 브라우저와 웹 서버 간 통신의 기본 구조를 이해한 뒤, Nginx를 설치하고 직접 확인하는 과정을 다룹니다.

1. 웹 브라우저와 웹 서버의 통신 과정

웹 클라이언트(브라우저)에서 웹 서버에 접근할 때의 흐름은 다음과 같습니다:

  1. 도메인 입력
    사용자가 브라우저에 www.naver.com 또는 google.com을 입력합니다.
    하지만 이 문자열만으로는 통신할 수 없기 때문에 먼저 DNS 서버를 통해 IP 주소로 변환해야 합니다.
  2. DNS 질의
    • 국내 ISP(LG, KT, SK 등) 또는 구글 DNS(8.8.8.8)에 요청 → 해당 도메인의 IP를 응답받음.
  3. HTTP 요청 (Request)
    • 변환된 IP 주소로 웹 서버에 HTTP Request를 보냅니다.
  4. HTTP 응답 (Response)
    • 웹 서버는 요청을 처리하고 Response를 돌려줍니다.

➡️ 이 과정은 내부적으로 TCP/IP 통신을 기반으로 동작하지만, 일반적인 TCP 연결처럼 계속 유지되지 않고 요청-응답 단위로 연결이 종료되는 특징이 있습니다.

2.Nginx 설치 및 실행

  1. Nginx 설치
sudo dnf install -y nginx
  • 설치 과정에서 패키지 메타데이터도 자동으로 갱신됩니다.
  • 비밀번호 입력 시 화면에 표시되지 않지만 정상적으로 입력됩니다.

2. 서비스 시작

sudo systemctl start nginx

 

3. 상태 확인 (선택)

sudo systemctl status nginx
  • running 상태라면 정상적으로 실행 중입니다.

3.웹 서버 접속 및 테스트

  1. 기본 페이지 확인
curl http://127.0.0.1
  • localhost (127.0.0.1) 기본 80 포트로 접속됩니다.
  • 응답으로 Nginx 기본 HTML 페이지가 반환됩니다.

2. 응답 헤더 확인

curl -I http://127.0.0.1
  • 상태 코드(200 OK) 및 HTTP 헤더를 확인할 수 있습니다.

4.HTML 페이지 수정하기

  1. 기존 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://youtu.be/A4e9QUBRg04

추가적으로 리눅스 기초 명령어 공부하고 싶다면 왕초보를 위한 리눅스 기초 강의를 참고하세요. https://reallinux.co.kr/course/linux_beginner