Gidhub BE Developer

Nginx

2017-12-17
goodGid

What is Nginx ?

  • 비동기 이벤트 기반의 웹서버 소프트웨어

  • 가볍고 높은 성능으로 더 적은 자원으로 더 빠르게 서비스를 제공하는것이 목표

  • 적은 쓰레드로 클라이언트의 Request 처리

  • HTTP, Reverse Proxy, IMAP/POP Proxy server 제공


Reverse Proxy

  • 클라이언트는 Reverse Proxy Server에 Request

  • Reverse Proxy Server는 요청을 받아서 내부서버에 요청, 응답받은후 클라이언트에게 전달

  • 클라이언트에서 Origin Server에 직접 접속할 수 없으므로 높은 보안성 유지

  • 한개의 Reverse Proxy Server에 여러 Origin Server를 연결할 수 있으므로 Load Balancing이 쉽게 가능해짐


Set Nginx

1. Express 프로젝트 완성 후 PM2로 구동

2.  EC2 의 보안그룹 – 인바운드 설정에서 80, 443, 8080포트 열기

3.  EC2 접속후 nginx 설치하기
sudo apt update -y && sudo apt-get install nginx -y

4.  nginx가 제대로 설치되었는지 확인
sudo systemctl status nginx

5.  nginx 시작 및 재시작해도 자동으로 시작되게 설정
sudo systemctl start nginx
sudo systemctl enable nginx

6.  nginx 설정 파일 수정 ( Delete the existing code and add the following code)
sudo vim /etc/nginx/sites-available/default

server {
listen 8080; 
server_name localhost;

location / {
    proxy_pass http://localhost:3000; // http://localhost:express의포트번호
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade; 
    proxy_set_header Connection 'upgrade'; 
    proxy_set_header Host $host; 
    proxy_cache_bypass $http_upgrade;
}

location /public {
    root /usr/local/var/www; }
}

7.  nginx 재시작으로 설정 적용
sudo service nginx restart

8.  IP:Port/가 아닌 IP/만으로 접속 확인



Back : JWT

Comments

Content