Nginx는 무엇인가~?

찬찬잉·2022년 7월 20일
0

Web Server

단순히 정적 파일을 응답
ex) img, html, css, 단순 자바스크립트 그 파일

WAS(Web Application Server)

클라이언트 요청에 대해 동적인 처리가 이뤄진 후 응답
ex) 로그인을 해줘... 라고 사용자가 요청을 할 경우 처리를 해주는 것

웹 서버를 별도로 운영하는 이유?

→ WAS의 부담을 줄여주기 위해

굳이 Nginx를 사용하는 이유?

→ 빠르다.

50~3000까지 처리 능력을 비교했을때 Apache에 비해 NginX는 일정한것을 확인할 수 있다.

50명일때 초당 12000개 처리를 할 수 있다. 효율적!
→ 리버스 프록시로 사용 가능 (Reverse Proxy)
프록시 : 대리 / 어떤 임무를 대신 처리해주는 것
암호화 : 리버스 프로티가 어디서 처리를 요청했는지를 암호화 해준다.
→ SSL 지원
→ 웹페이지 접근 인증
→ 압축
→ 비동기 처리


아파치의 경우 하나의 처리를 한번에 하나씩할 수 있다.(동기)

비동기 방식으로 동작을 해서 상당히 많은 트래픽을 (동시에)처리할 수 있다.

장점 중에 추려라 하면 리버스 프록시를 사용하는 것과 비동기처리를 손에 꼽는다.

"Nginx를 Proxy 서버로 앞단에 두고 Node.js를 뒷단에 둔다면 버퍼 오버플로우 취약점에 의한 공격을 방지할 수 있어요." - Node.js 창시자, 라이언달

외워야하는 것! http: 80포트로 이동 후 443번 포트로 바꿔주고 그리고 5000번 포트로 이동

https: 443으로 바로 이동 그리고 5000포트로 이동

Nginx 설정 - OS: Linux Ubuntu


$ sudo apt-get update
$ sudo apt-get upgrade -y

$ sudo apt-get install nginx

$ sudo service nginx start

$ cd /etc/nginx/sites-enabled
$ sudo rm default
$ sudo vi default

$ sudo service nginx restart

server {
	listen 80:
    server_name idu-market.shop:
    
    #access_log/var/log/nginx/reverse-access.log;
    #error_log/var/log/nginx/reverse-error.log;
   	
    if($host = idu-market.shop) {
    	return 301 https://$host$request_url;
    }
}
아래 443 포트로 이동시킨다.
server {
	listen 443 ssl;
	server_name idu-market.shop;
    
    #access_log/var/log/nginx/reverse-access.log;
    #error_log/var/log/nginx/reverse-error.log;
    
    location / {
    	proxy_pass http://127.0.0.1:5000;
    }
}
5000포트로 이동시킨다.
profile
디자이너, 기획자 출신의 개발자

0개의 댓글