소개
Live Reload Local Web Server for Windows는 Rick Strahl이 개발한 .NET 기반 로컬 웹 서버로, 정적 파일 서빙과 함께 자동 라이브 리로드, 마크다운 렌더링, 루즈 Razor 페이지 지원을 제공합니다. 이 도구는 로컬 개발 환경에서 HTML, CSS, JavaScript, 마크다운 및 Razor 페이지를 실시간으로 미리보기하고 테스트하는 데 사용됩니다. Windows, macOS, Linux에서 크로스플랫폼으로 동작하며, 특히 정적 사이트나 간단한 동적 기능이 필요한 프로젝트에 적합합니다.
상세정보
정적 파일 웹 서버
어떤 폴더든 지정하여 HTML, CSS, JavaScript, 이미지 등 정적 리소스를 간단한 명령으로 웹 서버처럼 제공할 수 있습니다. 기본적으로 포트 5200에서 실행되며, 사용자 지정 포트와 경로를 지원합니다.
자동 라이브 리로드
서버는 지정된 폴더 내의 파일 변경(HTML, CSS, JS, Razor, 마크다운 등)을 감지하고, 브라우저 페이지를 자동으로 새로고침합니다. Razor 페이지의 경우 변경 전 자동으로 재컴파일됩니다. 이 기능은 기본적으로 활성화되어 있으며, --UseLiveReload False로 비활성화할 수 있습니다.
마크다운 렌더링 지원
--UseMarkdown True 옵션을 활성화하면 .md 또는 .markdown 파일을 직접 HTML로 렌더링하여 제공합니다. 기본 템플릿이 제공되며, 커스텀 Razor 템플릿으로 스타일링을 커스터마이징할 수 있습니다. 마크다운 파일 변경 시에도 브라우저가 자동으로 새로고침됩니다.
루즈 Razor 페이지 지원
.cshtml 파일을 독립적으로 실행하여 서버 사이드 C# 코드를 실행할 수 있습니다. NuGet 패키지나 로컬 어셈블리를 PrivateBin 폴더에 배치하여 외부 코드를 불러올 수 있으며, 서버 재시작 시 업데이트된 어셈블리를 로드합니다. 이 기능은 전체 ASP.NET 사이트를 대체하기보다는 정적 사이트에 약간의 동적 기능을 추가하는 경량 솔루션입니다.
SSL 지원
dotnet tool을 사용하는 경우 --UseSsl 스위치를 통해 HTTPS로 로컬 사이트를 실행할 수 있습니다. 이는 .NET SDK의 개발 인증서를 사용하며, 인증서가 설치되어 있지 않은 경우 dotnet dev-certs https --trust 명령으로 신뢰할 수 있습니다.
Chocolatey를 통한 Windows 설치
Chocolatey 패키지 관리자를 통해 다음 명령으로 설치할 수 있습니다:
choco install LiveReloadWebServer
설치 후, LiveReloadWebServer 명령어를 사용하여 서버를 실행할 수 있습니다. 이 실행 파일은 자체 포함 형태이며, dotnet tool과 파일 이름(LiveReloadWebServer)이 달라서 동시에 설치해도 충돌하지 않습니다.
dotnet tool 설치 (크로스플랫폼)
.NET SDK가 설치된 경우 다음 명령으로 전역 도구로 설치할 수 있습니다:
dotnet tool install -g LiveReloadServer
설치 후, LiveReloadServer 명령어를 사용합니다. 이 방식은 Windows, macOS, Linux에서 모두 동작합니다.
자체 포함 실행 파일 다운로드
GitHub에서 직접 ZIP 파일을 다운로드하여 압축을 풀고 실행할 수 있습니다:
LiveReloadWebServer-SelfContained.zip
압축을 푼 폴더에서 LiveReloadWebServer.exe를 실행하거나, 경로를 환경 변수에 추가하여 어디서든 실행할 수 있습니다.
기본 사용법
서버를 실행하려면 명령 프롬프트 또는 PowerShell에서 다음 중 하나를 사용합니다:
- 현재 폴더를 포트 5200으로 제공:
LiveReloadServer또는LiveReloadWebServer - 특정 폴더 지정:
LiveReloadServer "c:tempMy Web Site" - 포트 지정:
LiveReloadServer --port 5350 - SSL 활성화:
LiveReloadServer --useSsl - 마크다운 지원 활성화:
LiveReloadServer --useMarkdown - Razor 페이지 지원 활성화:
LiveReloadServer --useRazor - 브라우저 자동 열기 비활성화:
LiveReloadServer --openBrowser false
모든 옵션은 구성 파일(LiveReloadWebServer.json), 환경 변수(LIVERELOADSERVER_* 접두사), 명령줄 스위치에서 설정할 수 있으며, 이 순서로 우선순위가 적용됩니다.
이런 경우에 유용합니다
정적 사이트나 문서 사이트를 로컬에서 미리보기하고 싶은 개발자에게 유용합니다. 마크다운 파일을 작성할 때 변경 사항을 실시간으로 확인하거나, 간단한 Razor 페이지로 동적 콘텐츠(예: 현재 시간, 버전 정보)를 추가하고 테스트할 때 편리합니다. 또한, Blazer WASM 앱이나 SPA(React, Vue, Angular)를 로컬에서 실행하여 정적 자원을 제공하고 테스트하는 데도 사용할 수 있습니다.
지원 환경·시스템 요구사항
dotnet tool 사용 시 .NET 9 SDK가 필요하며, 자체 포함 실행 파일은 .NET 9 런타임을 포함하여 별도 설치 없이 Windows에서 실행됩니다. 호스팅 모드(IIS 등)에서 사용할 경우 .NET 9 및 ASP.NET Core 런타임이 대상 서버에 설치되어 있어야 합니다. Linux 및 macOS에서는 dotnet tool 방식으로만 지원됩니다.
최신 버전·업데이트
버전 2.0.1은 .NET 9 기반으로 업데이트되었으며, 이전 버전과의 호환성을 유지합니다. 업데이트는 Chocolatey(choco upgrade LiveReloadWebServer) 또는 dotnet tool(dotnet tool update -g LiveReloadServer)을 통해 수행할 수 있습니다. 자체 포함 실행 파일은 최신 버전의 ZIP 파일을 다시 다운로드하여 교체할 수 있습니다.
제한 사항·확인 사항
라이브 리로드 기능은 WebSocket을 지원하는 웹 서버 환경에서만 호스팅 시 정상 동작합니다. IIS 등에서 호스팅할 경우 웹소켓 지원이 필요합니다. 루즈 Razor 페이지는 코드 비하인드(.cs 파일)나 컴파일된 소스 코드를 지원하지 않으며, 모든 동적 코드는 .cshtml 파일에 포함되어야 합니다. 외부 어셈블리를 사용할 경우 의존성을 모두 PrivateBin 폴더에 수동으로 배치해야 하며, 누겟 패키지는 직접 지원하지 않습니다.
FAQ
- 이 도구는 무료인가요?
예, MIT 라이선스 하에 무료로 제공됩니다.
- 인터넷 연결이 필요한가요?
아니요. 로컬에서 실행되며, 외부 어셈블리나 누겟 패키지를 로드하지 않는 한 인터넷 연결이 필요하지 않습니다.
- Windows 외에 다른 OS에서도 사용할 수 있나요?
예, dotnet tool 방식으로 Windows, macOS, Linux에서 모두 사용할 수 있습니다. 자체 포함 실행 파일과 Chocolatey 패키지는 Windows 전용입니다.
- IIS나 nginx 같은 웹 서버 뒤에서 사용할 수 있나요?
예, 호스팅 패키지를 사용하여 ASP.NET Core 모듈로 IIS 등에 배포할 수 있으며, 환경 변수를 통해 웹 루트와 기능을 설정할 수 있습니다.
- 기본 포트를 변경하려면 어떻게 해야 하나요?
명령줄에서
--port 5300처럼 지정하거나, 환경 변수LIVERELOADSERVER_PORT를 설정하거나, 구성 파일에 포트 값을 입력할 수 있습니다.
시스템 요구사항
.NET 9 SDK (dotnet tool 사용 시), .NET 9 런타임 (호스팅 시), 자체 포함 실행 파일(Windows)의 경우 .NET 9 자체 포함


