
내 PC에서 로컬 서버를 구축하는 방법 (Windows, CMD 사용)
한눈에 보는 요약
이 글에서는 별도의 복잡한 개발 환경 없이, Windows의 CMD(명령 프롬프트)와 Python을 활용하여 로컬 웹 서버를 구축하는 방법을 설명합니다.
로컬 서버의 개념부터 폴더 준비, CMD 기본 명령, 서버 실행·접속·종료까지 한 번에 따라 할 수 있도록 단계별로 정리했습니다.
추가로 포트 변경 방법, 자주 발생하는 오류와 해결 팁, 다른 도구와의 간단한 비교 표까지 제공하여 학습용 실습에 바로 활용하실 수 있습니다.
목차
- 1. 로컬 서버란 무엇인가?
- 2. 준비 사항: Python과 실습 폴더 만들기
- 3. CMD 열기와 기본 명령어 익히기
- 4. Python으로 가장 쉬운 로컬 웹 서버 띄우기
- 5. 포트 변경, 서버 종료, 오류 해결
- 6. 다른 로컬 서버 방식 간단 비교 표
- 7. 따라 하기: 처음부터 끝까지 실습 시나리오
- 8. 추가로 생각해볼 점
핵심 포인트
- 로컬 서버는 “내 컴퓨터 안에서만 접속 가능한 연습용 서버”로, 웹 개발과 네트워크 학습의 첫 단계로 적합합니다.
- Windows에서는 CMD를 열고, 원하는 폴더로 이동한 뒤, Python의
http.server모듈만 실행하면 바로 웹 서버를 띄울 수 있습니다. - 기본 포트는 8000이며, 주소창에
http://localhost:8000또는http://127.0.0.1:8000을 입력해 접속합니다. - 포트가 이미 사용 중일 때는 다른 숫자(예: 8080, 9000 등)로 바꿔 실행하면 대부분 문제가 해결됩니다.
- 실습이 끝난 뒤에는 CMD 창에서
Ctrl + C를 눌러 서버를 종료하는 것을 잊지 말아야 합니다.
상세 설명
1. 로컬 서버란 무엇인가?
로컬 서버(Local Server)는 인터넷에 공개된 서버가 아니라, 내 PC 안에서만 접근 가능한 서버를 의미합니다. 브라우저 주소창에서 localhost 또는 127.0.0.1로 접속할 수 있으며, 주로 개발 테스트, 학습, 파일 공유 실험 등에 사용됩니다.
예를 들어 HTML 파일을 더블 클릭해서 열면 단순히 “파일”로만 보이지만, 로컬 서버를 통해 열면 실제 서버에 올린 것과 거의 동일한 환경에서 동작을 확인할 수 있습니다. 따라서 웹 개발을 배우거나, REST API 개념을 연습할 때 로컬 서버는 필수적인 학습 도구라고 할 수 있습니다.
2. 준비 사항: Python과 실습 폴더 만들기
이번 글에서는 Windows CMD와 Python에 기본으로 포함된 http.server 모듈을 활용합니다. 별도의 프로그램 설치 없이 Python만 있으면 되며, Python 3.x 버전이면 모두 가능합니다.
먼저 Python 설치 여부를 확인하기 위해 다음과 같이 CMD에서 버전을 조회합니다.
python --version
위 명령이 인식되지 않는다면 py --version도 시도해 보시기 바랍니다. 둘 다 인식되지 않는다면 Python이 설치되어 있지 않다는 의미이므로, 공식 사이트에서 Python 3.x 버전을 설치한 뒤 다시 시도합니다.
이제 로컬 서버에서 서비스할 파일을 넣어 둘 실습 폴더를 하나 만듭니다. 예를 들어 C:\local-server라는 폴더를 만든 뒤, 그 안에 index.html 파일을 하나 생성해 간단한 문장을 작성해 두면, 이후 로컬 서버로 접속했을 때 이 파일이 처음 화면으로 보이게 됩니다.
3. CMD 열기와 기본 명령어 익히기
로컬 서버 실행은 모두 CMD(명령 프롬프트)에서 진행됩니다. CMD를 여는 대표적인 방법은 다음과 같습니다.
- Windows 검색창에 cmd를 입력하고, “명령 프롬프트”를 클릭
- Win + R 키를 누른 뒤
cmd입력 후 Enter
CMD가 열리면, 기본 위치는 보통 사용자 홈 디렉터리입니다. 우리가 만든 실습 폴더로 이동하기 위해서는 cd 명령어를 사용합니다.
cd C:\local-server
위 명령은 현재 작업 경로를 C:\local-server로 변경합니다. 만약 경로에 공백이 포함되어 있다면 "C:\my folder\local-server"처럼 큰따옴표로 묶어 주어야 합니다. 현재 위치를 확인하려면 dir 명령으로 폴더와 파일 목록을 확인할 수 있습니다.
4. Python으로 가장 쉬운 로컬 웹 서버 띄우기
실습 폴더로 이동했다면 이제 한 줄의 명령어로 웹 서버를 띄울 수 있습니다. Python 3 기준 기본 명령어는 다음과 같습니다.
python -m http.server 8000
혹은 일부 Windows 환경에서는 python 대신 py 명령을 사용해야 할 수 있습니다.
py -m http.server 8000
위 명령을 실행하면 CMD 화면에 “Serving HTTP on...”과 비슷한 문구가 보이면서 서버가 실행됩니다. 이제 브라우저(Chrome, Edge 등)를 열고 주소창에 http://localhost:8000 또는 http://127.0.0.1:8000을 입력하면, 방금 로컬 서버로 띄운 폴더의 내용이 웹 페이지 형태로 표시됩니다.
실습 폴더에 index.html이 있다면 해당 파일이 첫 화면으로 자동 로드됩니다. 없다면 폴더 목록이 보이며, 그 안에서 원하는 파일을 클릭하여 확인할 수 있습니다.
5. 포트 변경, 서버 종료, 오류 해결
동일 PC에서 이미 다른 프로그램이 8000번 포트를 사용하고 있다면, 서버 실행 시 “Address already in use”와 같은 오류가 발생할 수 있습니다. 이 경우 포트 번호만 다른 값으로 바꿔 다시 실행하면 됩니다.
python -m http.server 8080
포트는 일반적으로 1024 이상 65535 이하의 임의 숫자를 사용하며, 흔히 8080, 9000, 3000 등이 자주 사용됩니다. 단, 회사나 학교 네트워크에서는 일부 포트가 정책상 막혀 있을 수 있으니 다른 번호도 함께 시도해 보시는 것이 좋습니다.
서버를 종료하려면 서버가 실행 중인 CMD 창에서 키보드의 Ctrl + C를 누릅니다. 그러면 “KeyboardInterrupt” 메시지와 함께 서버 프로세스가 종료되고, CMD 프롬프트가 다시 입력 대기 상태로 돌아옵니다.
간혹 방화벽 경고 창이 나타날 수 있는데, 이때는 “액세스 허용”을 선택하되, 로컬 학습용이라면 개인 PC에서만 사용하는지 확인한 뒤 진행하는 것이 안전합니다. 회사 PC나 공용 PC라면 방화벽 정책이나 보안 규정을 반드시 확인하시기 바랍니다.
6. 다른 로컬 서버 방식 간단 비교 표
Python http.server 외에도 Node.js, IIS 등 여러 방식으로 로컬 서버를 띄울 수 있습니다. 주요 특징을 비교하면 다음과 같습니다.
| 방식 | 실행 명령(예시) | 장점 | 단점 | 권장 용도 |
|---|---|---|---|---|
| Python http.server | python -m http.server 8000 |
Python만 있으면 바로 사용 가능, 설정이 매우 단순 | 보안 기능·라우팅 등 고급 기능 부족 | HTML/CSS/JS 학습, 정적 페이지 테스트 |
| Node.js http-server 패키지 | npx http-server . -p 8000 |
Node.js 생태계와 잘 연동, SPA 개발에 친숙 | Node.js와 패키지 설치 필요 | 프론트엔드 프레임워크(React, Vue 등) 개발 |
| Windows IIS(웹 서버) | Windows 기능 켜기/끄기에서 IIS 활성화 후 GUI 설정 | Windows에 깊이 통합, 실제 서비스 환경과 유사 | 설정이 다소 복잡, 관리자 권한 필요 | 사내 인트라넷, 실제 배포 환경 시뮬레이션 |
학습·연습 목적이라면 가장 가볍게 시도할 수 있는 Python http.server 방식이 적합하며, 추후 필요에 따라 Node.js나 IIS 등으로 확장해 나가면 좋습니다.
7. 따라 하기: 처음부터 끝까지 실습 시나리오
- 실습 폴더 만들기
C:\local-server와 같이 기억하기 쉬운 위치에 새 폴더를 생성합니다. 이 폴더 안에 간단한index.html파일을 만들어 “로컬 서버 테스트 페이지입니다.”와 같은 문구를 작성해 둡니다. - CMD 열기
Windows 검색창에서 “cmd”를 입력해 명령 프롬프트를 실행합니다. 화면이 검은 창으로 열리며, 여기에 모든 명령을 입력하게 됩니다. - 실습 폴더로 이동
CMD 창에서 다음 명령을 입력해 실습 폴더로 이동합니다.cd C:\local-serverdir명령으로 실제로index.html이 있는지 확인합니다. - Python 버전 확인
python --version또는py --version을 입력하여 Python이 정상 설치되어 있는지 확인합니다. 버전이 표시되면 다음 단계로 진행합니다. - 로컬 서버 실행
아래 명령 중 하나를 입력하여 로컬 서버를 실행합니다.python -m http.server 8000
또는py -m http.server 8000
CMD에 “Serving HTTP on...” 메시지가 보이면 서버가 정상적으로 시작된 것입니다. - 브라우저에서 접속 확인
Chrome이나 Edge를 열고 주소창에http://localhost:8000을 입력합니다. 조금 전에 만든index.html내용이 보이면 로컬 서버 구축에 성공한 것입니다. - 포트 변경 테스트
CMD 창에서 Ctrl + C로 서버를 종료한 뒤, 이번에는python -m http.server 8080처럼 다른 포트 번호로 실행해 봅니다. 브라우저에서도 주소를http://localhost:8080으로 변경해 확인합니다. - 파일 수정 및 새로고침
index.html내용을 수정하고 저장한 뒤, 브라우저에서 새로고침(F5)을 눌러 변경 사항이 즉시 반영되는지 확인합니다. 이를 반복하면서 HTML/CSS 실습을 진행하시면 효율적으로 학습하실 수 있습니다. - 실습 종료
더 이상 서버가 필요 없으면 CMD에서 Ctrl + C로 서버를 종료하고 CMD 창을 닫습니다. 필요할 때마다 동일한 폴더에서 다시 서버를 실행하면 됩니다.
추가로 생각해볼 점
- 학습이 익숙해지면 로컬 서버 위에 간단한 REST API 서버(예: Flask, FastAPI 등)를 올려보면서 백엔드 개발 개념도 함께 익혀 보시는 것을 권장드립니다.
- 회사·학교 네트워크에서는 보안 정책상 특정 포트가 차단될 수 있으므로, 로컬 서버 실습 전에 내부 규정을 확인하는 것이 안전합니다.
- 여러 PC에서 같은 네트워크를 공유할 경우,
localhost대신 실제 IP 주소를 사용하면 다른 장비(노트북, 모바일)에서도 테스트 페이지에 접속해 볼 수 있습니다.
'Server' 카테고리의 다른 글
| Uvicorn 서버 3회차 : 개발 모드의 핵심, reload와 코드 변경 반영 (1) | 2025.12.22 |
|---|---|
| Uvicorn 서버 2회차 : 첫 실행 마스터, uvicorn app:app 문법 완전 이해 (0) | 2025.12.22 |
| Uvicorn 서버 1회차: Uvicorn이 무엇인지, “서버”와 “앱”의 역할 분리 이해하기 (1) | 2025.12.22 |
| 포트포워딩이란? 공유기 예시로 10분 만에 이해하고, 깊이 있게 공부하기 (0) | 2025.12.21 |
| 우분투 데스크톱에서 서버 구축하기 : 초보자도 따라 하는 단계별 가이드 (0) | 2025.12.21 |