웹사이트를 테스트해야 하지만 맥만 있을 때 어떻게 해야 할까요? 웹사이트를 테스트하기 위해 별도의 서버나 가상 머신을 구축할 필요가 없습니다. 하나의 빠른 옵션은 맥에 NGINX를 설치하는 것인데, 그러면 컴퓨터에서 바로 웹 서버를 실행할 수 있습니다.
계속해서 맥에 NGINX를 설치하고 설정하는 방법을 배우세요. NGINX를 설치하는 몇 가지 다른 방법을 배우게 될 것이며, 그 중에서 여러분에게 적합한 방법을 선택할 수 있을 것입니다. 또한 테스트를 시작하는 데 도움이 되는 기본 구성 항목을 배우게 될 것입니다.
필수 조건
이 튜토리얼은 실습으로 진행될 예정입니다. 따라오고 싶다면 다음 사항을 준비하세요:
- macOS의 최신 버전. 현재 기준으로, 지원 중이고 종료되지 않은 macOS 버전은 Catalina, Big Sur, Monterey입니다. 이 튜토리얼은 macOS Big Sur를 사용합니다.
- 당신의 컴퓨터에는 NGINX를 소스에서 설치하려면 Xcode Command Line Tools가 필요하거나 NGINX 패키지를 설치하려면 Homebrew가 필요합니다 (formula).
Mac에 NGINX 설치
Mac에 NGINX를 설치하는 두 가지 방법이 있습니다. 소스를 컴파일하거나 패키지 관리자를 사용하는 것 두 가지 방법 중 어떤 것을 선택할지는 요구 사항에 따라 다를 것입니다.
다음 섹션에서는 두 NGINX 설치 방법을 수행하는 방법을 알아보겠습니다.
메소드 1: 소스에서 컴파일 및 설치
소스에서 NGINX를 컴파일하고 설치하면 NGINX 설치에 모듈 또는 보안 패치를 포함시킬 수 있습니다. 예를 들어, 스트리밍 서버를 설정하면 실시간 메시징 프로토콜 (RTMP) 모듈을 포함하여 NGINX를 컴파일할 수 있습니다.
Customizability는 더 많은 단계와 수동 종속성 설치를 필요로합니다. 소스에서 Mac에 NGINX를 설치하려면 다음 단계를 따르십시오.
1. Mac에서 터미널을 엽니다.
2. 아래 명령을 실행하여 홈 폴더에 작업 디렉토리를 생성하십시오. 이 디렉토리에는 NGINX 설치에 필요한 모든 소스 파일이 포함됩니다.
3. 다음으로, 아래 명령을 실행하여 최신 Perl Compatible Regular Expressions (PCRE)을 다운로드(curl
)하고 추출(tar
)합니다. NGINX Core 및 Rewrite 모듈은 PCRE를 필요로합니다. 이 글을 쓰는 시점에서 최신 PCRE 버전은 8.45
입니다.
4. 아래 명령을 실행하여 SSL 지원을 추가하기 위해 OpenSSL 소스를 다운로드(curl
)합니다. 이 추가는 NGINX 빌드를 사용자 정의하는 예입니다. 이 글을 쓰는 시점에서 최신 OpenSSL 버전은 1.1.1m
입니다.
5. 요구 사항을 다운로드 한 후 아래 명령을 실행하여 NGINX 소스를 다운로드(curl
)하고 추출(tar
)합니다. 작성 시점의 최신 안정 버전은 1.20.2
입니다.
이 시점에서 아래에 표시된 것처럼 총 세 개의 새 디렉터리가 있어야 합니다.

6. 이제 아래 명령을 실행하여 NGINX를 컴파일(make
)하고 install
합니다.
7. 다음으로, 아래 명령을 실행하여 시스템 $PATH
에 NGINX 경로를 추가하고 전체 경로 /usr/local/nginx
를 /etc/paths
에 추가합니다. 이 단계 이후에는 전체 경로를 지정하지 않고 nginx
명령을 실행할 수 있습니다.
8. CMD+Q
를 눌러 터미널을 종료하고 새로운 터미널 세션을 열어 새로운 $PATHS
를 적용합니다.
9. 아래의 nginx
명령어를 실행하여 NGINX를 시작합니다. NGINX 서버는 설치 후 자동으로 시작되지 않습니다.
10. 마지막으로, NGINX가 실행 중인지 확인합니다. 웹 브라우저 창을 열고 주소 HTTP://localhost를 입력합니다. 아래와 같은 기본 NGINX 환영 메시지 페이지가 표시되어야 합니다.
소스에서 NGINX를 설치하면 기본 수신 포트가 80으로 설정됩니다.

루트로부터 Mac에 NGINX를 설치했기 때문에 앞으로 모든
nginx
명령어 앞에는sudo
를 붙여야 합니다.
메서드 2: Homebrew를 사용하여 NGINX 설치
Homebrew를 사용하여 NGINX를 설치하면 더 편리하고 실수할 가능성이 적습니다. 이 방법은 종속성을 자동으로 설치합니다. NGINX 설치를 사용자 정의할 필요가 없다면, 이 방법은 가장 빠른 옵션으로 하나의 명령어만으로 설치할 수 있습니다!
Mac에 Homebrew를 사용하여 NGINX를 설치하려면 다음 단계를 따릅니다.
1. 새로운 터미널 세션을 엽니다.
2. 아래의 brew
명령어를 실행하여 NGINX를 설치합니다.
Homebrew로 루트로 NGINX를 설치할 수 있나요? – 아니요 (공식적으로 지원되지 않음). sudo 접두사가 있는 brew install 명령어는 실행을 거부합니다. 시도하면 아래의 오류 메시지가 표시됩니다.
“Er” 또는: Homebrew를 root로 실행하는 것은 매우 위험하며 더 이상 지원되지 않습니다. Homebrew는 설치 중에 권한을 낮추지 않기 때문에 모든 빌드 스크립트에 시스템 전체 액세스 권한을 부여하게 됩니다.
3. 설치 후에는 아래 명령을 호출하여 NGINX를 시작하십시오. 이 명령은 NGINX를 백그라운드 데몬으로 실행합니다.
기본적으로 Homebrew는 NGINX를 /usr/local/Cellar/nginx/<version>에 설치하고 /usr/local/opt/에 심볼릭 링크를 생성합니다. nginx 이진 파일은 /usr/local/bin에 심볼릭 링크가 있으며 이 폴더는 이미 $PATH에 포함되어 있습니다.
백그라운드 서비스없이 NGINX를 실행하려면 대신 아래 명령을 실행하십시오. 이 명령은 nginx를 데몬으로 실행하지 않도록 전역 지시문을 제공합니다.
nginx -g “da” mon off;”
이 모드에서 터미널에서 CTRL+C를 눌러 NGINX를 중지할 수 있습니다.
4. 마지막으로 아래 curl
명령을 호출하여 NGINX가 현재 실행 중인지 확인하십시오.
Homebrew를 통해 NGINX를 설치하면 기본 수신 대기 포트가 8080으로 설정됩니다. 이 기본 포트 할당은 sudo없이 nginx를 실행할 수 있도록 합니다.
아래에서 볼 수 있듯이 curl 명령이 기본 NGINX 웹 페이지를 다운로드했으며, 이는 서버가 실행 중임을 나타냅니다.

NGINX 테스트를 위한 설정
지금까지 NGINX를 설치했지만 여전히 기본 설정으로 작동 중입니다. 웹사이트 테스트를 시작하기 전에 몇 가지 기본 변경 사항을 고려해 볼 수 있습니다.
컴퓨터 부팅 시 NGINX가 자동으로 시작되길 원하십니까? 테스트 중인 웹사이트 파일을 어디에 저장하시겠습니까? 기본 수신 포트 할당을 유지해야 할까요?
이들은 NGINX를 설치한 후 구성해야 할 몇 가지 사항입니다. 다음 섹션에서 설정하는 방법을 배우게 될 것입니다.
다음 섹션에서는 명시적으로 지시하지 않는 한 Homebrew로 설치한 NGINX 구성 파일 단계를 보여줍니다.
서버 수신 포트 사용자 정의
설치 방법에 따라 기본 수신 포트는 80 또는 8080 중 하나일 수 있습니다. 테스트 및 개발에는 일반적으로 포트 8080을 사용합니다. 그러나 다른 서비스와 충돌이 발생하거나 그냥 변경하고 싶을 경우 포트 번호를 변경하고 싶을 수도 있습니다.
어떤 이유든 간에 아래 단계를 따라 NGINX의 기본 수신 포트를 변경하십시오.
1. 먼저 아래 명령을 실행하여 NGINX가 실행 중이지 않도록 중지 신호(-s stop
)를 보냅니다. nginx -s stop
2. 다음으로 아래의 nginx
명령을 실행하여 NGINX 구성 파일 경로를 확인합니다.
아래 결과에서 구성 파일이 /usr/local/etc/nginx/nginx.conf에 위치함을 보여줍니다.

3. 선호하는 텍스트 편집기(예: nano
)에서 구성 파일을 엽니다. 아래 예시 참조.
4. 이제 server {}
블록 내에서 listen
라인을 찾으세요. 아래에서 볼 수 있듯이, 리스닝 포트 값은 8080
입니다.

5. 이 예제에서처럼 listen
포트 번호를 다른 고유한 포트 번호 값으로 변경하세요. 예를 들어, 9000
으로 변경하세요. 변경 사항을 저장하고 파일을 종료하세요.

6. 이제 아래의 nginx
명령을 다시 실행하여 NGINX를 다시 시작하세요.
7. 마지막으로, 새 브라우저 창을 열고 HTTP://localhost:9000로 이동하세요. NGINX는 이제 포트 9000에서 웹사이트를 제공해야 합니다. 아래와 같이 표시됩니다.

개발 웹 디렉토리를 가리킵니다
기본적으로 Mac에 NGINX를 설치하면 웹 디렉토리를 /usr/share/nginx/html (소스 설치) 또는 /usr/local/Cellar/nginx/<version>/html (Hombrew 설치)에서 제공합니다.
그러나 웹사이트 파일이 다른 위치, 예를 들어 다른 드라이브에 있다면 걱정하지 마세요. NGINX를 개발 웹 디렉토리로 가리키려면 아래 단계를 따르세요.
1. 먼저 NGINX를 중지하고 텍스트 편집기에서 구성 파일을 열려면 아래 명령을 실행하세요. “서버 리스닝 포트 사용자 정의” 섹션에서 (1에서 3단계) 수행한 것처럼.
2. 텍스트 편집기에서 server {}
블록 내에서 root html;
라인을 찾으세요.

3. root
값을 편집하여 사용자 지정 폴더로 변경합니다. 이 예제에서 웹 디렉토리는 /Volume/DevData/testweb
에 있습니다. 변경 사항을 저장하고 편집기를 종료합니다.
이 예제에서 테스트 웹사이트는 Dimensions라는 정적 웹사이트이며, HTML5 Up에서 다운로드했습니다. 이 샘플 웹사이트는 Creative Commons Attribution 3.0 라이선스에 따라 무료로 다운로드하고 사용할 수 있습니다.

4. 이제 NGINX 서버를 다시 시작합니다.
5. 마지막으로, 웹 브라우저에서 주소 HTTP://localhost:9000를 탐색합니다. NGINX가 이제 사용자 지정 웹 디렉토리에서 테스트 웹사이트를 제공하고 있습니다. 아래 스크린샷과 같습니다.

소스 기반 설치에서 NGINX 자동 시작 활성화
NGINX는 선택한 설치 방법에 관계없이 기본적으로 자동으로 시작되지 않습니다. 개발 또는 테스트에서는 NGINX 자동 시작이 필요하지 않을 수도 있습니다. 그러나 필요한 경우, launchd
프로세스를 사용하여 NGINX를 부팅 시 실행할 수 있습니다.
NGINX를 자동 시작하도록 설정할 수 있습니다. 소스 기반 또는 홈브루 기반 설치 중 하나를 선택할 수 있습니다. 그러나이 데모에서는 소스 기반 설치부터 시작합니다.
소스 기반 설치에서 NGINX를 자동 시작하려면 다음 단계를 따르십시오.
1. 아래의 touch
명령을 실행하여 NGINX를위한 새로운 속성 목록 (PLIST) 파일을 생성합니다.
/Library/LaunchDaemons 위치에는 루트 또는 지정된 사용자를 대신하여 실행되는 전역 데몬이 저장됩니다. 파일 이름은 원하는대로 지정할 수 있지만, 생성하는 데몬의 이름이 포함된 파일 이름이 유용합니다.
2. 이제 PLIST 파일을 편집하려면 엽니다.
3. 아래의 코드를 복사하여 텍스트 편집기에 붙여 넣고 파일을 저장한 다음 편집기를 종료하십시오.
간단히 말해, 아래의 코드는 이름이 ata.nginx 인 데몬을 정의합니다. 실행할 프로그램은 /usr/local/nginx/sbin/nginx 이며, RunAtLoad 값은 컴퓨터 부팅시 프로그램이 실행됨을 의미합니다.
4. 마지막으로 아래의 launchctl
명령을 실행하여 데몬을 로드
합니다. 이 명령은 NGINX를 즉시 시작합니다. 그리고 이 시점부터 NGINX는 컴퓨터 재부팅 후 자동으로 시작됩니다.
다음 명령을 실행하여 NGINX 자동 시작을 비활성화하도록 결정하면 아래 명령을 실행하세요. 이 명령은 NGINX 데몬 자동 시작을 중지하고 비활성화합니다.
홈브류 기반 설치에 대한 NGINX 자동 시작 활성화
소스 기반 설치와 달리 홈브류 기반 NGINX 설치에서는 NGINX 자동 시작 동작을 활성화하거나 비활성화하려면 한 번의 명령만 실행하면 됩니다. 편리하지 않나요?
NGINX 자동 시작을 활성화하려면 아래 명령을 실행하세요. start
명령은 NGINX를 즉시 시작하고 부팅 시 시작하도록 등록합니다.
명령을 실행한 후에는 아래 이미지와 유사한 출력을 받게 됩니다.

NGINX 자동 시작 상태를 비활성화하려면 아래 명령을 실행하세요. 보시다시피, 변경해야 하는 명령의 유일한 부분은 start
에서 stop
으로 변경하는 것뿐입니다. 이 명령은 또한 NGINX 서버를 즉시 정상적으로 종료합니다.
결론
여기서 확인하세요! Mac에 NGINX를 설정하면 시간이 걸리지 않고 웹 서버를 빠르게 테스트할 수 있습니다. 설정 요구 사항에 따라 설치 옵션이 있으며 설정을 사용자 정의하는 것은 일반 텍스트 구성 파일을 통해 빠르게 이루어집니다. 특별한 도구가 필요하지 않습니다.
NGINX는 테스트 및 실행을 하나의 웹 사이트로 제한하지 않습니다. 각각이 서로 간섭하지 않도록 동시에 여러 개의 개발 도메인 및 웹 사이트를 실행할 수 있습니다. 또한 Mac에서 도커에서 NGINX를 실행할 수도 있습니다!