디버깅을 위해 nginx 로그에 변수를 출력하는 방법 파일에 출력하려고합니다. 어떻게 할

nginx를 테스트 중이며 변수를 로그 파일에 출력하려고합니다. 어떻게 할 수 있으며 어떤 로그 파일을 사용할 수 있습니까 (액세스 또는 오류).



답변

헤더를 통해 nginx 변수 값을 보낼 수 있습니다. 개발에 편리합니다.

add_header X-uri "$uri";

브라우저의 응답 헤더에 표시됩니다.

X-uri:/index.php

때로는 지역 개발 중에이 작업을 수행합니다.

하위 섹션의 실행 여부를 알려주는 것도 편리합니다. 절에 뿌려서 사용되는지 확인하십시오.

location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt)$ {
    add_header X-debug-message "A static file was served" always;
    ...
}

location ~ \.php$ {
    add_header X-debug-message "A php file was used" always;
    ...
}

따라서 http://www.example.com/index.php 와 같은 URL 을 방문하면 후자의 헤더 가 트리거되고 http://www.example.com/img/my-ducky.png 를 방문 하면 이전 헤더가 트리거됩니다.


답변

간단한 문자열을 HTTP 응답으로 반환 할 수 있습니다.

location /
{
    return 200 $document_root;
}

답변

log_format관심있는 변수를 기록하는 지시문을 사용하여 사용자 정의 액세스 로그 형식을 설정할 수 있습니다 .


답변

또 다른 옵션은 nginx를 빌드 할 때 echo 모듈 을 포함 시키 거나 echo와 같은 확장 기능이 번들로 포함 된 nginx 인 OpenResty 를 설치 하는 것입니다.

그런 다음 다음과 같은 명령문으로 구성을 간단히 뿌릴 수 있습니다.

echo "args: $args"