샤인의 IT (막 적는) 메모장

[Nginx] WEB 서버 정리 본문

Open Source

[Nginx] WEB 서버 정리

신샤인 2021. 12. 30. 10:37
반응형

Nginx 설정정보 정리

블록
http 블록
Server, Location의 루트 블록, 설정된 값을 하위 블록들은 상속

Server 블록
하나의 웹사이트를 선언하는데 사용됨 (가상 호스팅 개념)

Location 블록
Server 블록 안에 저장되면서 특정 URL을 처리하는 방법을 정의

Events 블록
네트워크의 동작방법과 관련된 설정값 설정, 따로 다른 블록과 상속관계를 가지지 않음

Virtual Host
server {
    server_name example1.com
    root /var/www/example1.net
}
server {
    server_name example2.com
    root /var/www/exaple2.net
}

http-server Snippet 예시
http {
    server {
        #Port 설정
        listen 80;
        #Server 이름 설정
        server_name example.com
        #로그 저장 위치
        access_log /var/log/nginx/example.com.log;
        location ^~ /admin/ {
            index index.php;
        #업로드할 수 있는 용량의 크기 지정 (default 1M)
        client_max_body_size 10M;
        }
    }
}

필요한 조정
user root root;
worker_processes 1;
worker_priority 0;
error_log logs/error.log error;
event {
    accept_mutex on;
    accept_mutex_delay 500mx;
    multi_accept off;
    worker_connection 1024;
}
user root root;
작업자 프로세스가 루트로 실행, 파일시스템의 모든 권한을 얻게됨으로 보안 위험

worker_processes 1;
하나의 작업 프로세스만 실행, CPU 코어당 1개로 설정해야한다.

worker_priority 0;
작업 우선순위로 값이 낮을수록 더 높은 우선순위를 가짐 -20 ~ 19

log_not_found on;
nginx가 404 에러를 로그 파일에 기록할지 여부

worker_connections 1024;
작업 프로세스(코어 수) 당 서버가 동시에 수용할 수 있는 전체 접속 수 worker_processes * worker_connections 위에 예제로는 1 * 1024 동시 접속자 수를 처리함

Proxy 관련 설정
Proxy_pass
해당 요청을 백엔드 서버로 전달함

proxy_pass http://hostname:port;
proxy_pass http://myexample.com;

Proxy_method
백엔드 서버에 전달하는 HTTP 메소드를 덮어씌기

proxy_method POST;
proxy_hide_header
백엔드 서버로부터 수신된 응답을 처리해 나타나는 응답 헤더를 무시

proxy_hide_header Date;
proxy_pass_header
무시된 헤더의 일부를 클라이언트로 전달

proxy_pass_header Date;
proxy_buffer_size
서버 응답 첫부분의 응답을 읽기 위한 버퍼 크기 설정

proxy_buffer_size 4k;
반응형
Comments