티스토리 뷰

BackEnd/Java

nginx

철철22 2019. 2. 27. 11:51
반응형

이번에 회사에서 플랫폼을 서비스 하면서 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://nginx.org/en/

https://ko.wikipedia.org/wiki/Nginx 



반응형

'BackEnd > Java' 카테고리의 다른 글

Spring boot jwt token 사용하기  (5) 2019.03.05
spring boot properties파일 분리하기  (0) 2019.03.04
spring boot HikariCP  (1) 2019.01.06
openjdk 설치하기  (0) 2018.12.16
가변 인자 (varargs)  (0) 2018.11.13
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함