[php] Nginx PHP 로깅 설정

Nginx 서버에서 PHP 애플리케이션을 실행할 때 로그 파일을 적절하게 설정하는 것은 매우 중요합니다. 올바른 로깅 설정은 애플리케이션 문제 진단 및 성능 최적화에 도움이 됩니다.

이 블로그 게시물에서는 Nginx에서 PHP 애플리케이션을 실행하는 동안 로깅을 구성하는 방법에 대해 알아보겠습니다.

Nginx 로그 디렉토리 생성

먼저 Nginx의 로그 디렉토리를 만들어야 합니다. 일반적으로 /var/log/nginx/ 또는 원하는 디렉토리에 로그 파일을 저장합니다.

sudo mkdir -p /var/log/nginx

PHP-FPM 로깅 설정

PHP-FPM (FastCGI Process Manager)을 사용 중이라면 PHP-FPM의 로깅 설정을 수행해야 합니다. 이를 위해 PHP-FPM의 설정 파일 (www.conf 또는 php-fpm.conf)을 찾고 수정해야 합니다.

sudo nano /etc/php/7.4/fpm/pool.d/www.conf

다음과 유사한 설정으로 PHP-FPM 로깅을 활성화할 수 있습니다.

catch_workers_output = yes
php_flag[display_errors] = off
php_admin_value[error_log] = /var/log/nginx/php-fpm.log

위 설정에서 /var/log/nginx/php-fpm.log 경로에 PHP-FPM 로그를 저장하도록 지정했습니다.

Nginx 설정 수정

이제 Nginx 설정 파일을 수정하여 PHP 애플리케이션의 로깅을 활성화합니다. Nginx 가상 호스트 파일 (/etc/nginx/sites-available/example.com)을 열고 다음과 같이 수정합니다.

server {
    listen 80;
    server_name example.com;
    access_log /var/log/nginx/example.com_access.log;
    error_log /var/log/nginx/example.com_error.log;

    location / {
        root /var/www/html;
        index index.php;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    # 기타 설정 ...

}

위 설정에서 access_logerror_log 지시문을 사용하여 PHP 애플리케이션의 접근 및 오류 로그 파일의 경로를 지정했습니다.

이제 Nginx를 다시 시작하여 설정을 적용합니다.

sudo systemctl restart nginx

이제 Nginx와 PHP의 로깅이 설정되었습니다. 애플리케이션을 테스트하고 로그 파일을 검사하여 정상적으로 로깅이 수행되는지 확인해야 합니다.

로깅 설정은 애플리케이션 문제 해결 및 성능 모니터링에 매우 중요합니다. 적절한 로깅은 오류를 신속하게 식별하고 조치를 취할 수 있도록 도와줍니다.

이상으로 Nginx와 PHP의 로깅 설정에 대해 알아보았습니다. 감사합니다.

참고