PHP-FPM이 왜 권한 거부를 줄 수 있는지에 대한 몇 가지 항목을 읽었지만 해결할 수는 없습니다.
오류 로그는 다음과 같습니다.
2013/04/20 23:33:28 [crit] 15479#0: *6 open() "/var/lib/nginx/tmp/fastcgi
/2/00/0000000002" failed (13: Permission denied) while reading upstream, client:
99.999.999.999, server: example.net, request: "GET /wp-admin/ HTTP/1.1",
upstream: "fastcgi://unix:/tmp/php-fpm.sock:", host: "example.net", referrer:
"http://example.net/"
나는 조금 있지만 잃어 버렸다.
- / var / lib / nginx / tmp를 ec2-user로 설정했습니다 (확인해야 할 모든 것을 +777까지).
- /tmp/php-fpm.sock을 ec2-user로 설정했습니다.
- nginx conf 파일이 ec2-user로 설정되었습니다
- php-conf는 사용자 및 그룹 ec2-user로 설정됩니다
- ps aux는 모든 php-fpm 및 nginx 프로세스에서 ec2-user를 제공합니다.
내 Nginx 구성에는 많은 파일이 포함되어 있으며 기본 conf는 다음과 같습니다.
user ec2-user ec2-user;
worker_processes 5;
error_log /opt/nginx/error.log;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /opt/nginx/access.log main;
sendfile on;
keepalive_timeout 65;
client_max_body_size 13m;
index index.php index.html index.htm;
upstream php {
server unix:/tmp/php-fpm.sock;
}
include /etc/nginx/conf.d/*.conf;
include /mnt/web/nginx/conf.d/*.conf;
}
내 /etc/nginx/conf.d/가 비어 있습니다. /mnt/web/nginx/conf.d에는 "wordpress.conf"를 포함하는 많은 웹 사이트 구성이 포함되어 있습니다.
location / {
try_files $uri $uri/ /index.php?$args;
}
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires 24h;
log_not_found off;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi_params;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass php;
}
내 /opt/php/etc/php-fpm.conf :
include=/opt/php/etc/fpm.d/*.conf
pid = run/php-fpm.pid
error_log = log/php-fpm.log
log_level = notice
[www]
listen = /tmp/php-fpm.sock
user = ec2-user
group = ec2-user
pm = dynamic
pm.max_children = 250
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
pm.status_path = /fpm-status
ping.path = /fpm-ping
slowlog = log/$pool.log.slow
catch_workers_output = yes
업데이트 : 문제를 발견했습니다. 답변에 넣으십시오.