# Table of Contents

# MacOS에서 Nginx 설치하고 사용해보기

# 설치

MacOS 환경에서는 Homebrew (opens new window)Nginx를 쉽게 설치할 수 있다.

$ brew install nginx

Nginx를 시작해보자.

$ brew services start nginx
==> Successfully started `nginx` (label: homebrew.mxcl.nginx)

설치한 패키지의 정보를 확인해보자.

$ brew info nginx
nginx: stable 1.21.4 (bottled), HEAD
HTTP(S) server and reverse proxy, and IMAP/POP3 proxy server
https://nginx.org/
/usr/local/Cellar/nginx/1.21.4 (26 files, 2.2MB) *
  Poured from bottle on 2021-12-29 at 21:51:06
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/nginx.rb
License: BSD-2-Clause
==> Dependencies
Required: openssl@1.1 ✔, pcre ✔
==> Options
--HEAD
	Install HEAD version
==> Caveats
Docroot is: /usr/local/var/www

The default port has been set in /usr/local/etc/nginx/nginx.conf to 8080 so that
nginx can run without sudo.

nginx will load all files in /usr/local/etc/nginx/servers/.

To restart nginx after an upgrade:
  brew services restart nginx
Or, if you don't want/need a background service you can just run:
  /usr/local/opt/nginx/bin/nginx -g daemon off;
==> Analytics
install: 28,503 (30 days), 114,042 (90 days), 493,845 (365 days)
install-on-request: 28,467 (30 days), 113,842 (90 days), 492,774 (365 days)
build-error: 11 (30 days)

Nginx는 다음과 같이 구동한다.

$ brew services start nginx

Nginx는 다음과 같이 정지시킬 수 있다.

$ brew services stop nginx

# 경로와 구조

Nginx는 다음 경로에 설치된다.

$ which nginx
/usr/local/bin/nginx

Nginx의 설정 파일들은 다음 경로에 위치한다.

$ pwd 
/usr/local/etc/nginx

$ tree
.
├── fastcgi.conf
├── fastcgi.conf.default
├── fastcgi_params
├── fastcgi_params.default
├── koi-utf
├── koi-win
├── mime.types
├── mime.types.default
├── nginx.conf
├── nginx.conf.default
├── scgi_params
├── scgi_params.default
├── servers
├── uwsgi_params
├── uwsgi_params.default
└── win-utf

대표적으로 중요한 설정 파일들은 다음과 같다.

  • nginx.conf : 메인 설정 파일.
  • fcgi.conf : FastCGI 환경설정 파일

# Document Root

Document Root는 Nginx, Tomcat 같은 웹 서버가 제공하는 정적 웹 페이지가 위치하는 디렉토리다. 기본값은 /usr/local/var/www다.

$ ls /usr/local/var/www
index.html

/usr/local/bin/nginxnginx.conf를 수정하면 Document Root를 변경할 수 있다.

http {
    server {
        location / {
            root /Users/yologger/Desktop/www;
            index  index.html;
        }
    }
}

위와 같이 수정하면 정적 웹 페이지는 /Users/yologger/Desktop/www에 위치하게 된다.

# nginx.conf

Nginx를 구동하면 nginx.conf (opens new window)파일의 설정값이 적용한다. 이 파일에는 다음과 같은 것들을 설정할 수 있다.

  • 포트
  • 서버 이름
  • Document Root 경로
  • 메모리 할당량
  • CPU 할당량
  • 리버스 프록시