개발/NginX

[NginX] NginX 컨피그

mabb 2023. 4. 11. 15:27
반응형

nginx.conf에서 default.conf를 include 한다.
default.conf가 

 

https://www.nginx.com/resources/wiki/start/topics/examples/full/
△링크 참조

http://nginx.org/en/docs/
△docs 참조

 

nginx.conf 기본 키 값 설명

usr testUser; //사용자명
worker_processes number|auto; //작업자 프로세스 수 [default:1]
worker_rimit_nofile number; //작업자 프로세스의 최대 열린 파일 수 제한
error_log file[level]; //로그.첫번째 매개변수:로그를 저장할 파일,두번째 매개변수:로깅수준
pid file; //기본 프로세스의 PID를 저장할 파일 정의
events{...} //연결처리 지시문을 지정하는 구성파일 컨텍스트
http{ //HTTP서버지시문 구성 컨텍스트
     include //다른설정파일 포함
     default_type mime-type; //응답 기본 mime유형 정의
     log_format name[escape=default|json|none] string ...; //로그 형식 정의
     access_log path; //로그 쓰기 경로, 형식 및 구성 설정
     sendfile on|off; // 파일 전송 온/오프
     tcp_nopush on|off; //sendfile활성화 시 TCP_CORK 소켓 옵션 활성화 여부
     tcp_nodelay on|off; // connection이   keep-alive 될 때 nodelay 활성화 여부
     reset_timedout_connection on|off; // 시간초과연결 및 닫힌연결 재설정 활성화 여부
     keepalive_timeout timeout [header_timeout]; //서버 측 연결 시간 제한, 응답헤더필드값
     gzip on|off; // 응답의 gzip 압축 활성화 여부
     server_tokens on | off | build | string; //오류페이지 nginx버전 출력 활성화 여부
     server_names_hash_bucket_size size; //서버 해시테이블 버킷 크기 설정
     types_hash_max_size size; //해시테이블의 최대 사이즈 설정
     types_hash_bucket_size size; //해시테이블 버킷 크기 설정
     client_max_body_size size; //클라이언트 요청body의 최대 허용 크기 설정
     proxy_http_version 1.0|1.1; //프록시를 위한 HTTP프로토콜 버전 설정
     proxy_redirect default|off|redirect replacement; // 프록시서버응답 시 헤더 변경 텍스트 설정
     proxy_buffering on|off; //프록시 서버 응답 버퍼링 활성화 여부
     proxy_next_upstream error|timeout|http_500|http|403|off...; // 요청 전달 필요 시 지정
     proxy_next_upstream_tries number; //요청을 다음 서버로 전달시 가능한 시도 횟수 제한
     add_header proxy_set_header field value; //프록시 서버 전달 요청헤드에 필드 재정의 또는 추가         
     proxy_connect_timeout time; //프록시 서버 연결 제한 시간 설정
     proxy_read_timeout time; //프록시 서버 응답을 읽기 위한 제한 시간 설정
     proxy_send_timeout time; //프록시 서버 요청 전송 제한 시간 설정
     send_timeout time; //클라이언트 응답 전송 제한 시간 설정
     include /etc/nginx/conf.d/*.conf; //여기서 default.conf 를 포함시킨다.
}

 

defaul.conf

server {
    listen 443 ssl;
    #server_name localhost;
    server_name www.xxx.com
    #access_log /var/log/nginx/host.access.log main;

    #ssl 인증정보 기재시, nginx 접속할 때 따로 로그인할 필요 없음.
    ssl_certificate /etc/nginx/cert.pem;
    ssl_certificate_key /etc/nginx/privkey.pem;
        ssl_password_file /etc/nginx/ssl.pass;
    ssl_prefer_server_ciphers off;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        #크롬화 작업완료된 경우, TLSv1은 삭제

    if (host != "sf.besthc.co.kr") {
           return 444;
    }

    #요청에 따른
    #동적데이터(controller에서 처리하는 메소드)
    location / {
          #root /usr/share/nginx/html;
          #index index.html index.html;
          #Directory Listing 금지
          autoindex off;
          #GET, POST만 허용하기 (delete나 put은 안보내도록)
          limit_except GET, POST {
                 deny all;
          }
          #톰캣포트 설정 (임의 지정, 흔하지 않은 포트 번호 설정 필요)
          proxy_pass http://localhost:8184;
        }
    #error_page 404 /404.html;
    # redirect server error pages to the static page /50x.html
    # error_page 500 502 503 504 /50x.html;
    location = /50x.html {
            root /usr/share/nginx/html;
     }
    #proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #location ~ \.php$ {
    #proxy_pass http://127.0.0.1;
    #}
    #pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 #
    #location ~ \.php$ {
    # root html;
    # fastcgi_pass 127.0.0.1:9000;
    # fastcgi_index index.php;
    # fastcgi_param SCRIPT_FILENAME /scriptsfastcgi_script_name;
    # include fastcgi_params;
    #}
    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    # deny all;
    #} }
반응형

'개발 > NginX' 카테고리의 다른 글

[nginX] nginx return 200 "문자열"  (0) 2023.06.26
[NginX] nginx.conf  (0) 2023.04.06