# 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/nginx
의 nginx.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 할당량
- 리버스 프록시