실습 중 Mac OS에서 nginx 환경 구축 시 사람마다 root 경로가 각기 다른 것 같았다. 제대로 경로를 확인하고자 할 때 어떻게 하는지 나름대로 정리해보았다.
Homebrew로 nginx를 설치한다면 다음과 같다.
> brew services | grep nginx
# 설치가 되어있다면 아래 처럼 출력된다.
# nginx none
> brew install nginx
이후 nginx 설정 확인은 다음과 같다.
> nginx -V
--conf-path=/opt/homebrew/etc/nginx/nginx.conf
임을 확인하자.
# nginx 시작/종료
> sudo brew services start nginx
> sudo brew services stop nginx
nginx 시작 시 나오는 log를 확인하여 root 경로를 잘 확인하자. 이를 기준으로 document root가 어디인지 알 수 있다.
기본 root 경로는 /opt/homebrew/opt/nginx
이다.
vi /opt/homebrew/etc/nginx/nginx.conf
를 실행하여 document root를 확인하면, html 디렉토리를 기준으로 하고있음을 확인할 수 있다.
이 후, /opt/homebrew/opt/nginx/html
에 html 파일을 생성해두면 nginx 실행 시 해당 document를 읽을 수 있게 된다.
나의 경우, 이 경로에 1.html 파일을 생성하고 실행했더니 다음과 같이 브라우저에서 확인할 수 있었다.
Reverse Proxy를 Tomcat과 연동하여 사용하는 방법이다.
// ...
http {
upstream tomcat {
server 127.0.0.1:8080;
}
server {
// ...
location / {
// ...
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://tomcat;
}
}
}
Tomcat을 upstream으로 두고 proxy_set_header, proxy_pass 설정까지 위와 같이 해주면 다음과 같은 구조를 가지게 된다.
이 후 Tomcat Server 실행 시, location으로 들어오는 패턴을 판단해서 proxy를 주게 된다.