본문 바로가기

운영체제&네트워크/Nginx10

Nginx 성능 최적화: 워커 프로세스, 파일 디스크립터, 버퍼 크기 Nginx의 성능 최적화는 웹 서버의처리 능력을 극대화하고, 자원 사용을 최적화하는 데 중요하다. 이를 위해 워커 프로세스와 연결 수를 적절히 설정하고, 시스템의 파일 디스크립터 한계를 조정하며, 네트워크 버퍼 크기를 최적화해야 한다. 워커 프로세스 및 연결 수 최적화 >> 워커 프로세스(Worker Processes) : Nginx는 이벤트 기반 모델을 사용하므로, CPU 코어 수와 일치하는 워커 프로세스 수를 설정하는 것이 일반적으로 권장된다. 이를 통해 하드웨어 자원을 효율적으로 사용할 수 있다. worker_processes auto; # Nginx가 자동으로 CPU 코어 수에 맞춰 워커 프로세스 수를 설정하도록 합니다. 워커 연결(Worker Connections) : 각 워커 프로세스가 동시에.. 2024. 3. 29.
Nginx의 Map 지시어와 Rewrite 규칙, 연걸 처리 및 타임아웃 설정 Nginx 세부 설정에서는 웹 서버의 성능 최적화, 요청 처리의 유연성 향상 및 보다 세밀한 트래픽 관리를 가능하게 하는 기능들이 있다. 이번에 알아볼 map 지시어와 rewrite 규칙을 활용하여 요청을 동적으로 처리할 수 있으며, 연결 처리 및 타임아웃 설정을 조정하여 서버의 응답성과 안정성을 개선할 수 있다. Map 규칙 설정 >> map 지시어는 요청의 특정 요소(예: 헤더, URI)에 따라 변수의 값을 다르게 설정할 수 있게 한다. 이는 다양한 요청 처리 시나리오에 따라 동적으로 응답을 변화시키는 데 유용하다. http { map $http_user_agent $mobile { default 0; ~*mobile 1; ~*iPhone 1; ~*Android 1; } server { if ($mo.. 2024. 3. 29.
Nginx 액세스 로그와 에러 로그 설정 Nginx의 로그 관리는 서버의 성능 모니터링, 문제 해결, 보안 감사 등에 중요한 역할을 한다. 기본적으로 액세스 로그와 에러 로그를 제공하며, 이 로그 파일들은 서버 운영에 있어서 유용한 정보를 담고 있다. 액세스 로그 설정 >> 액세스 로그는 클라이언트의 요청 정보를 기록한다. nginx.conf 파일의 http 블록, server 블록, 또는 location 블록에 설정할 수 있으며, 요청에 대한 세부 정보를 기록하는 데 사용된다. http { access_log /var/log/nginx/access.log; } 또한, 로그 포맷을 커스터마이징하여 필요한 정보만을 선택적으로 기록할 수 있다. log_format 지시어를 사용하여 로그 포맷을 정의할 수 있다. http { log_format ma.. 2024. 3. 29.
Nginx 캐싱 설정 방법 Nginx 에서 콘텐츠 캐싱을 설정하면 웹 사이트의 성능을 크게 향상시킬 수 있다. 캐싱을 통해 서버의 부하를 줄이고, 페이지 로딩 시간을 단축시켜 사용자 경험을 개선할 수 있다. 정적 콘텐츠(이미지, CSS, JavaScript 파일 등)의 캐싱은 특히 중요한데, 이러한 파일들은 자주 변경되지 않으므로 한 번 캐시하면 여러 요청에 걸쳐 재사용할 수 있다. 캐싱은 웹 애플리케이션의 성능을 향상시키는 효과적인 방법이지만, 캐시된 데이터가 최신 상태를 반영하도록 적절히 관리하는 것이 중요하다. 이를 위해 캐시 만료 정책을 세심하게 설정하고, 필요에 따라 캐시를 적절히 갱신하거나 제거해야 한다. Nginx에서 정적 콘텐츠 캐싱을 설정하는 방법을 알아보자 >> 캐시 저장소 설정: 캐시를 저장할 위치와 캐시의 최.. 2024. 3. 29.