.servbay.config 파일을 활용한 프로젝트별 환경 설정
개요
ServBay는 강력한 로컬 웹 개발 환경 도구로, 개발자가 프로젝트마다 각각 독립된 실행 환경을 구성할 수 있도록 지원합니다. 이 기능의 핵심은 각 프로젝트 디렉터리에 .servbay.config
라는 설정 파일을 두어 환경을 제어하는 데 있습니다.
.servbay.config
파일을 통해 특정 프로젝트마다 필요한 PHP, Node.js, Python, Go, Java 등 언어의 버전을 지정하고, Node.js의 패키지 매니저(NPM, Yarn 등)의 저장소 주소나 캐시 디렉터리도 설정할 수 있습니다. 이처럼 프로젝트 수준에서 세밀하게 환경을 제어함으로써 개발 효율성과 편의성을 극대화하고, 각 프로젝트가 요구하는 환경에서 안정적으로 구동될 수 있게 하며, 버전 충돌 등의 문제도 예방할 수 있습니다.
.servbay.config
파일 동작 원리
ServBay가 시작되거나 웹사이트를 다시 불러올 때, 사이트의 루트 디렉터리에 .servbay.config
파일이 있는지 확인합니다. 파일이 있다면 내부의 설정을 읽어 해당 웹사이트의 실행 환경에 적용하며, 이러한 프로젝트별 설정은 ServBay의 전역 설정을 오버라이드(덮어쓰기)합니다. 만약 .servbay.config
파일이 없거나 특정 설정 항목이 비어있다면, ServBay는 전역 설정을 기본값으로 사용합니다.
이러한 방식 덕분에, 여러 프로젝트를 오가면서도 각 프로젝트만의 환경 구성이 자동 반영되어 끊김 없는 워크플로우를 경험할 수 있습니다.
.servbay.config
파일 만들기 및 설정 방법
.servbay.config
파일 생성과 설정은 매우 간단합니다.
파일 위치
프로젝트의 루트 디렉터리에 .servbay.config
파일을 생성하세요. 일반적으로 이 위치는 ServBay 내 사이트가 저장되는 경로(/Applications/ServBay/www/프로젝트명/
등)입니다.
설정 문법
.servbay.config
파일은 한 줄에 하나씩 KEY=VALUE
형태로 환경 설정을 명시합니다. 주석은 #
기호를 이용해 달 수 있어 가독성이 높아집니다.
설정 예시
아래는 다양한 환경 버전과 패키지 매니저 옵션을 지정하는 .servbay.config
예제입니다:
bash
# .servbay.config 예시 파일
# PHP 실행 버전 지정. 해당 버전이 ServBay에 설치되어 있어야 합니다.
PHP_VERSION=8.5
# Node.js 실행 버전 지정. 해당 버전이 ServBay에 설치되어 있어야 합니다.
NODE_VERSION=20
# Yarn 저장소 주소 지정 - 의존성 다운로드 속도를 개선.
YARN_CONFIG_REGISTRY=https://npmreg.proxy.ustclug.org/
# NPM 저장소 주소 지정 - 의존성 다운로드 속도를 개선.
NPM_CONFIG_REGISTRY=https://npmreg.proxy.ustclug.org/
# NPM 로컬 캐시 디렉터리 지정. 주의: 이 경로는 ServBay 설치 디렉터리 기준입니다.
NPM_CONFIG_CACHE=/Applications/ServBay/tmp/npm/cache
# Yarn 로컬 캐시 디렉터리 지정. 주의: 이 경로는 ServBay 설치 디렉터리 기준입니다.
YARN_CONFIG_CACHE=/Applications/ServBay/tmp/yarn/cache
# Ruby 실행 버전 지정. 해당 버전이 ServBay에 설치되어 있어야 합니다.
RUBY_VERSION=2.7
# Java(OpenJDK) 실행 버전 지정. 해당 버전이 ServBay에 설치되어 있어야 합니다.
JAVA_VERSION=21
# Python 실행 버전 지정. 해당 버전이 ServBay에 설치되어 있어야 합니다.
PYTHON_VERSION=3.11
# .NET 실행 버전 지정. 해당 버전이 ServBay에 설치되어 있어야 합니다.
DOTNET_VERSION=5.0
# Go 실행 버전 지정. 해당 버전이 ServBay에 설치되어 있어야 합니다.
GO_VERSION=1.12
# Go 모듈 프록시 서버 지정 - 모듈 다운로드 가속.
GOPROXY=https://goproxy.cn,direct
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
참고: 위 예제의 버전(PHP_VERSION=8.5
, NODE_VERSION=20
등)은 이해를 돕기 위한 것으로, 실제 프로젝트에서 사용할 버전과 ServBay에서 지원 및 설치한 버전으로 적절히 변경해야 합니다. 만약 지정한 버전이 설치되어 있지 않다면, ServBay는 기본값을 사용하거나 오류를 표시할 수 있습니다.
지원되는 설정 항목 유형
위 예시와 같이 .servbay.config
에서 지원되는 주요 설정 항목은 다음과 같습니다.
환경 버전 지정:
PHP_VERSION
: PHP 버전NODE_VERSION
: Node.js 버전RUBY_VERSION
: Ruby 버전JAVA_VERSION
: Java (OpenJDK) 버전PYTHON_VERSION
: Python 버전DOTNET_VERSION
: .NET 버전GO_VERSION
: Go 버전- (지원 환경 및 변수 명칭은 ServBay 문서나 앱 화면에서 반드시 확인하세요.)
패키지 매니저(Node.js) 관련 설정:
YARN_CONFIG_REGISTRY
: Yarn 저장소 주소NPM_CONFIG_REGISTRY
: NPM 저장소 주소NPM_CONFIG_CACHE
: NPM 로컬 캐시 디렉터리YARN_CONFIG_CACHE
: Yarn 로컬 캐시 디렉터리
Go 모듈 프록시 서버 설정:
GOPROXY
: Go 모듈 프록시 서버 주소
이 설정들을 통해 각 프로젝트별로 완전히 독립적인 환경 구성이 가능하며, 프로젝트 간 간섭 없이 효율적으로 관리할 수 있습니다.
실제 적용 및 설정 확인 방법
.servbay.config
파일을 설정한 후, ServBay에 프로젝트가 등록되어 있는지(ServBay 앱의 “웹사이트” 목록에서 확인)를 꼭 체크하세요. ServBay가 웹사이트를 불러오거나 갱신할 때마다 해당 설정 파일을 자동으로 읽어들입니다.
설정 반영 여부는 다음과 같이 확인할 수 있습니다.
ServBay 앱 화면 확인: 사이트 상세 정보나 환경 버전 표시 등에서 적용된 버전을 바로 확인할 수 있습니다.
명령줄에서 확인: ServBay의 터미널 기능을 열고, 현재 디렉터리를 해당 프로젝트 루트로 이동한 뒤 다음 명령어로 각 언어/도구의 버전을 확인할 수 있습니다.
- PHP 버전:
php -v
- Node.js 버전:
node -v
- Yarn 버전:
yarn -v
- NPM 버전:
npm -v
- Python 버전:
python -V
또는python3 -V
- Go 버전:
go version
- Java 버전:
java -version
- .NET 버전:
dotnet --version
- Ruby 버전:
ruby -v
명령어 출력이.servbay.config
에 명시한 버전과 일치하는지 확인하세요.
- PHP 버전:
웹페이지를 통한 확인(PHP 프로젝트일 경우): 프로젝트 루트에
info.php
와 같이 간단한 PHP 파일을 생성하고, 내용은<?php phpinfo(); ?>
로 입력하세요. 브라우저에서 해당 파일(예:http://your-project.servbay.demo/info.php
)에 접속하면, 출력된phpinfo
정보에서 PHP 버전을 바로 확인할 수 있습니다.
아래 이미지는 ServBay 앱 인터페이스에서 프로젝트별 설정이 성공적으로 반영된 사례 예시입니다:
(실제 구동 결과는 ServBay 앱 출력 화면을 참고하세요.)
유의사항
.servbay.config
파일명은 반드시 정확해야 하며, 오타가 있으면 인식되지 않습니다.- 파일은 프로젝트 루트 디렉터리에 위치해야 정상적으로 동작합니다.
- 설정된 버전은 반드시 ServBay에 설치 및 지원되어야 합니다.
- 항목별로 줄바꿈하며, 한 줄에 하나의
KEY=VALUE
설정만 작성하세요. - 문법 오류가 있으면 파일 전체 혹은 일부 설정이 무효 처리될 수 있습니다.
.servbay.config
의 설정값은 ServBay의 전역값을 덮어쓰며, 해당 프로젝트에만 영향을 미칩니다.
자주 묻는 질문 (FAQ)
Q: 프로젝트 루트에 .servbay.config
파일이 없으면 어떻게 되나요?
A: 파일이 없을 경우, ServBay는 앱에서 설정한 전역 환경설정값을 기준으로 프로젝트를 실행합니다.
Q: .servbay.config
파일에 ServBay에 설치되지 않은 버전을 지정하면 어떻게 되나요?
A: ServBay에서 오류가 발생하거나, 버전에 따라 기본값이 적용될 수 있습니다. 원하는 버전을 반드시 사전에 ServBay 앱에서 설치하세요.
Q: .servbay.config
파일 수정 후 ServBay를 재시작해야 하나요?
A: 보통 파일을 수정한 뒤에는 ServBay 앱에서 해당 웹사이트를 다시 불러오거나 정지 후 재시작하면 적용됩니다. 앱 전체를 완전히 종료했다가 켤 필요는 없습니다.
Q: .servbay.config
파일이 내 다른 프로젝트에도 영향을 주나요?
A: 주지 않습니다. .servbay.config
는 해당 프로젝트 디렉터리에 한해서만 적용되는 개별 설정 파일입니다.
결론
.servbay.config
파일을 활용하면 ServBay는 프로젝트별 환경을 강력하게 제어할 수 있는 수단을 제공합니다. 오래된 레거시 프로젝트의 구버전 환경, 최신 기술 스택이 요구되는 신생 프로젝트 등 어떠한 종류라도 간단한 설정 파일 한 장이면 손쉽게 격리와 전환이 가능해져, 로컬 개발 효율성과 유연성이 크게 향상됩니다. 이 강력한 기능을 적극 활용해 개발 워크플로우를 한 단계 더 향상시켜 보세요.