최적의 nginx 설정을 사용하면 요청 처리 속도를 높일 수 있습니다. 공유 호스팅에서는 원칙적으로 호스팅 제공업체의 전문가가 모든 설정을 이미 완료했습니다. 그리고 가상 서버에서 사이트를 호스팅하는 경우 모든 설정이 독립적으로 이루어집니다.
사이트가 더 빠르게 작동하도록 하려면 nginx 웹 서버가 더 빠르게 작동할 수 있는 구성을 확인하는 것이 좋습니다.
1. 기본 설정을 확인해보자
nano /etc/nginx/nginx.conf
1.1 이 옵션은 가상 서버의 코어 수를 자동으로 결정합니다.
worker_processes auto;
1.2 압축 설정
gzip on;
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/ xml+rss text/javascript;
1.3 http/2를 활성화하자
Listen 라인에서 ssl 뒤의 웹 호스트 파일의 서버 섹션에 http2를 추가해 보겠습니다. 이 옵션은 https에만 추가해야 합니다.
server {
listen 89.xx.77.xx:443 ssl http2;
listen [2a01:xx:4:x::xx]:443 ssl http2;
1.3.1 HTTP2의 동작을 확인해 봅시다
nginx -t
service nginx restart
curl -I https://your-domain.tld
우리는 다음과 같은 결과를 얻습니다:
HTTP/2 200
server: nginx
content-type: text/html; charset=UTF-8
vary: Accept-Encoding
cache-control: no-cache, private
date: Tue, 26 Mar 2024 10:39:35 GMT
1.4 최대 연결 수를 구성해 보겠습니다.
기본값은 768입니다. 운영 체제에서 지정한 숫자로 변경해 보겠습니다.
1.4.1 값을 확인해보자
ulimit -n
1024
1.4.2 nginx 설정 파일에서 설정해 보겠습니다
nano /etc/nginx/nginx.conf
events {
worker_connections 1024;
}
1.5 버퍼 크기를 구성해 봅시다
기본적으로 nginx의 버퍼 크기는 메모리 한 페이지입니다. 캐시에서 더 많은 요청을 처리할 수 있도록 호스트 섹션 내부의 값을 변경해 보겠습니다 http {}.
nano /etc/nginx/conf.d/domain-tld.conf
http {
...
client_body_buffer_size 10K;
client_header_buffer_size 1k;
client_max_body_size 8m;
large_client_header_buffers 4 4k;
...
}
1.6 요청 처리 시간 초과 설정
로드가 높고 대기 시간이 짧은 경우, nginx 웹 서버가 php-fpm으로부터 응답을 받지 못했을 때 클라이언트는 오류 메시지를 받을 수 있습니다. 이 경우 대기 시간을 늘려야 합니다.
대기 시간을 늘리면 서버의 리소스가 더 많이 소모되므로 Flooding이나 DDoS 공격이 발생할 경우 부정적인 영향을 미칠 수 있으므로 주의하시기 바랍니다.
nano /etc/nginx/conf.d/domain-tld.conf
http {
...
client_body_timeout 12;
client_header_timeout 12;
keepalive_timeout 15;
send_timeout 10;
...
}
이제 nginx는 더 빠른 속도로 요청을 처리합니다. 모든 변경을 완료한 후 구성 파일에 오류가 있는지 확인하고 서비스를 다시 시작하여 변경 사항을 적용하십시오.
nginx -t
service nginx restart
준비가 된.
No Comments Yet