맥에 nginx를 설치하고 웹 파일을 넣으려는데, 첫 단계부터 막힌다.
“/var/www/html에 파일을 넣으세요.”
그런데 맥에는 그 폴더가 없다. 설치가 잘못됐나 싶지만, Homebrew로 설치했다면 다른 곳을 찾으면 된다.
Apple Silicon 맥은 보통 /opt/homebrew/var/www, 인텔 맥은 /usr/local/var/www다.
리눅스에서 흔히 보는 경로와 Homebrew 기본 웹 폴더 비교. 실제 서비스 경로는 nginx 설정에 따라 달라진다. 그림: 직접 제작.
왜 설명마다 폴더가 다를까?
/var/www/html은 리눅스 서버 설치 안내에서 자주 나오는 경로다. nginx가 반드시 이 폴더를 써야 하는 건 아니다. 설치 방식과 설정에 따라 웹 파일을 두는 위치가 달라진다.
Homebrew의 nginx 패키지는 기본 웹 폴더를 Homebrew 설치 경로 아래의 var/www로 안내한다. 기본 포트도 80 대신 8080이다. 설치 후 http://localhost에서 화면이 안 뜬다면 http://localhost:8080으로도 확인해보자.
내 맥에서는 이 명령부터
칩 종류를 따지기보다 터미널에서 직접 확인하는 게 빠르다.
brew --prefix출력이 /opt/homebrew라면 기본 웹 폴더는 /opt/homebrew/var/www다. Finder에서 바로 열려면 아래 명령을 쓰면 된다.
open "$(brew --prefix)/var/www"여기에 사이트 파일이나 HTML 파일을 넣는다. 다만 기존에 운영 중인 파일이 있다면 index.html을 무심코 덮어쓰지 않도록 확인하자.
파일을 넣었는데 화면이 그대로라면
이때는 nginx가 실제로 어느 폴더를 보고 있는지 확인해야 한다.
nginx -T-T는 설정 문법을 검사하면서 포함된 설정 파일 내용까지 출력하는 옵션이다. 별도 설정 파일로 실행한 nginx라면 같은 -c 옵션을 붙여 확인해야 한다.
출력에서 접속 중인 사이트의 server 블록을 찾아 root를 확인하자. 예를 들어 다음과 같다면:
root /opt/homebrew/var/www;웹 파일을 읽는 기준 폴더는 /opt/homebrew/var/www다. 여러 사이트를 설정했다면 server_name과 listen도 함께 봐야 한다. 다른 사이트의 root를 고치면 접속 화면은 그대로다.
nginx는 일반적인 정적 파일 요청에서 root 경로에 요청 URI를 붙여 파일을 찾는다. 위 설정에서 /hello.html을 요청하면 /opt/homebrew/var/www/hello.html을 찾는 식이다.
root html;이라고만 적혀 있다면?
절대 경로 대신 이렇게 되어 있는 경우도 있다.
location / {
root html;
index index.html index.htm;
}여기서 html은 터미널에서 현재 열어둔 폴더를 뜻하지 않는다. nginx의 실행 prefix를 기준으로 해석되는 상대 경로다.
그래서 에러 로그에 다음처럼 설치 버전이 들어간 경로가 나타나기도 한다.
/opt/homebrew/Cellar/nginx/버전번호/html/이 경우에는 해당 폴더의 연결 대상도 확인해보자.
ls -ld /opt/homebrew/Cellar/nginx/버전번호/html버전번호는 로그에 나온 실제 값으로 바꾼다. Homebrew 구성에 따라 html이 다른 웹 폴더로 연결되어 있을 수 있다. 로그에 Cellar가 보인다는 이유만으로 그 안으로 사이트 파일을 옮길 필요는 없다.
폴더가 헷갈린다면 해당 사이트의 기존 root를 절대 경로로 바꿔두는 방법도 있다.
location / {
root /opt/homebrew/var/www;
index index.html index.htm;
}기존 설정에서 필요한 부분만 수정하면 된다. PHP나 프록시 설정이 있는 블록을 통째로 지우고 이 예제로 바꾸지는 말자.
수정한 설정 적용하기
먼저 문법 검사를 한다.
nginx -t검사가 성공하면 설정을 다시 읽힌다.
nginx -s reload정적 HTML 파일 내용만 바꿨다면 일반적으로 nginx를 다시 시작할 필요는 없다. 위 작업은 root 같은 nginx 설정을 수정했을 때 필요하다.
참고로 폴더를 제대로 찾았는데도 403이 뜬다면 경로 문제만은 아닐 수 있다. 기본 페이지 파일이 없거나, nginx가 파일을 읽을 권한이 없는지도 확인해야 한다.
맥에서 /var/www/html이 안 보인다면 일단 이것부터 실행해보자.
open "$(brew --prefix)/var/www"리눅스 설치 글을 보면서 한참 찾던 폴더가 여기서 열릴 수도 있다.
참고 자료
댓글1
-
빗방울
2026.11.01 11:33
맥에서 nginx 깔고 첫 화면 안 뜨면 다들 어디부터 보시나요? 저는 포트 8080을 한참 늦게 알아서 80만 붙잡고 있었는데, 여러분은 폴더부터 찾으셨나요 포트부터 의심하셨나요? 그리고 Cellar 안에 버전 폴더가 새로 생겨도 예전 경로 그대로 쓰시는 편인가요?
모든 이야기1455
가벼운 안부부터 깊은 생각까지, 함께 나눠요.