로컬에 nginx 설치
brew update
brew install nginx
nginx -v
brew services start nginx
brew services restart nginx
<http://localhost:80>
localhost 만 쳐도 가능
nginx.conf 설정
cd /opt/homebrew/etc/nginx
sudo vi nginx.conf
- 높은 트래픽 관리를 위해 process 개수 설정
worker_processes auto;
- upstream 을 통해 nginx가 포트를 랜덤으로 사용
upstream front_proxy {
server 127.0.0.1:8080;
server 127.0.0.1:8081;
}
upstream gateway_proxy {
server 127.0.0.1:8090;
server 127.0.0.1:8091;
}
server {
listen 80; # 80 요청 신호를 받아 사용
server_name localhost;
location / {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_pass http://front_proxy/; # 위의 upstream 에서 가져와 사용
}
location /backend/ {
rewrite ^/backend/(.*) $ / $1 break; # /backend/ 를 제거
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://gateway_proxy/; # 위의 upstream 에서 가져와 사용
}
}
- 로그 확인 용 log_format 및 로그 위치 경로 설정 (주석 제거)
log_format main '$remote_addr - $http_x_forwarded_for - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent" "$gzip_ratio"';
access_log /opt/homebrew/var/log/nginx/access.log main;
error_log /opt/homebrew/var/log/nginx/error.log;