nginx
이번에 회사에서 플랫폼을 서비스 하면서 nginx란 것을 사용해봤습니다.
그래서 한번 정리해 보기로 했죠
Nginx는 웹 서버 소프트웨어로, 가벼움과 높은 성능을 목표로 하며, 웹 서버, 리버스 프록시 및 메일 프록시 기능을 가진다. 라고 합니다.
d
출처 :https://medium.com/sjk5766/%EB%84%8C-%EB%AD%90%EB%8B%88-nginx-9a8cae25e964
기본의 웹 서버 수요를 Apache가 16년 부터 다른 웹 서버 들에 추월 당하고 있는 모습들이 보이며 그 이후에도 머지않아 nginx가 추월할 것으로 예상됩니다.
Apache 와 Nginx 비교 글이 있던데 한번 참고 해보시면 도움 되실 거 같습니다.
저는 nginx를 Mac 환경과 Amazon linux 환경에서 설치를 해봤습니다.
MAC
솔직히 MAC 만큼 패키지 관리하기과 쉬운 os가 어디 있지 싶을까 합니다.
왜냐하면 brew만 있으면 설치부터 환경설정까지 다 잡아주니 얼마나 편합니까...ㅎㅎㅎ
그러므로 mac에서는 brew install nginx 면 끝이 납니다.
Amazon Linux
아마존 리눅스는 페도라와 같은 yum 패키지 관리자를 사용합니다.
설치 방법은 이 분이 더 자세히 작성 해주셨습니다.
nginx의 기본 명령어는 다음과 같습니다.
서버 시작 : nginx
서버 종료 : nginx -s stop
서버 재시작 : nginx -s reload
HELP : nginx -h
설치를 해봤으면 실행을 해봐야겠죠??? 한번 실행 해보겠습니다.
일단 설명을 mac 위주로 드리면
brew로 nginx를 설치해 주셨다면 기본적인 경로는 which통해 확인하면 /usr/local 안에 있다는 것을 확인할 수 있습니다.
그리고 nginx의 설정 파일은 /usr/local/etc/nginx 밑에 있습니다.
그럼 nginx.conf속의 내용을 확인 해보겠습니다. ( 제가 조금 수정한 부분도 있어요 )
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
#gzip on;
upstream kap_web {
# ip_hash;
server localhost:8380;
}
server {
listen 80;
server_name localhost;
error_page 497 http://$host;
error_page 404 http://error.com/;
client_max_body_size 10M;
real_ip_header X-Forwarded-For;
location / {
root html;
index index.do;
proxy_pass http://kap_web;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_cookie_path ~*^/.* /;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
# 추가적으로 설정을 import 할 경우에는 다음과 같이 include 하면 된다.
include /etc/nginx/conf.d/*.inc;
include /etc/nginx/conf.d/*.conf;
}
만약에 한 서버 안에 다른 프록시 들을 설정하고 싶으시면 server를 하나 더 추가 하셔서 비슷하게 설정하시면 됩니다.
그리고 위에서 server_name을 localhost로, localhost:8380을 proxy_pass를 줬는데 이렇게 설정 함 으로써 localhost만 입력하면 8380 포트로 연결 시켜주는 역할을 합니다.
nginx를 처음 사용해 봐서 아직은 미숙하지만 google 및 nginx doc을 보면서 꾸역구역 설정해보고 사용을 해봤는데 많이 어려웠지만 그래도 다음에는 좀 더 자세히 설정을 해보고 싶었습니다.
참고로 Amazon linux는
nginx 실행 파일은 /usr/sbin/nginx
설정 파일은 /etc/nginx/안에 nginx.conf가 있으며 conf.d 폴더안의 conf 파일들을 import
하는 방식으로 설정합니다.
참고 및 출처
https://ko.wikipedia.org/wiki/Nginx