방금 nginx + php-fpm 서버를 설치했습니다. PHP-FPM이 로그에 오류를 쓰지 않는 것을 제외하고는 모든 것이 잘 보입니다.
fpm.conf
[default]
listen = /var/run/php-fpm/default.sock
listen.allowed_clients = 127.0.0.1
listen.owner = webusr
listen.group = webusr
listen.mode = 0666
user = webusr
group = webusr
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.status_path = /php/fpm/status
ping.path = /php/fpm/ping
request_terminate_timeout = 30s
request_slowlog_timeout = 10s
slowlog = /var/log/php-fpm/default/slow.log
chroot = /var/www/sites/webusr
catch_workers_output = yes
env[HOSTNAME] = mapsvr.mapking.com
php_flag[display_errors] = on
php_admin_value[error_log] = /var/log/php-fpm/default/error.log
php_admin_flag[log_errors] = on
nginx.conf
server
{
listen 80 default_server;
server_name _;
charset utf-8;
access_log /var/log/nginx/access.log rest;
include conf.d/drops.conf.inc;
location /
{
root /var/www/sites/webusr/htdocs;
index index.html index.htm index.php;
}
# pass the PHP scripts to FastCGI server listening on socket
#
location ~ \.php$
{
root /var/www/sites/webusr/htdocs;
include /etc/nginx/fastcgi_params;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /htdocs/$fastcgi_script_name;
if (-f $request_filename)
{
fastcgi_pass unix:/var/run/php-fpm/default.sock;
}
}
location = /php/fpm/status
{
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass unix:/var/run/php-fpm/default.sock;
}
location = /php/fpm/ping
{
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass unix:/var/run/php-fpm/default.sock;
}
# 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;
}
}
잘못된 PHP 스크립트를 만들어 실행했으며 웹 브라우저에서 오류 출력이 표시됩니다. 또한 nginx 오류 로그에는 동일한 메시지와 함께 fpm의 stderr 출력이 표시됩니다. 사용자가 지정된 로그 폴더에 대한 쓰기 권한 (777도 시도했습니다)을 가지고 있는지 확인했습니다. 지정된 error.log 파일조차 php-fpm에 의해 성공적으로 생성되었습니다. 그러나 PHP 스크립트에서 어떤 엄청난 오류가 발생하더라도 로그 파일은 항상 비어 있습니다.
무슨 일이야?
[나중에 그 이유를 꽤나 발견했다]
허가였습니다. 사이트의 사용자로 소유자를 변경하여 문제를 해결했습니다.