В настоящее время пытаемся настроить новую установку WordPress на нашем оборудовании. Мы запускаем Nginx и PHP 7.3 FPM и уже запускаем несколько других веб-экземпляров при той же установке Nginx.
Я уже пробовал каждую комбинацию в отношении прав доступа к файлам (за исключением просто все 777 - не с нетерпением жду этого), но я просто не могу заставить WordPress иметь возможность писать файлы. Вот как выглядит наша конфигурация:
Nginx работает как www-data
(как настроено в nginx.conf
).
Несколько PHP носков FPM:
$ sudo ls /var/run/php/ -l
total 4
-rw-r--r-- 1 root root 5 Jan 24 15:27 php7.3-fpm.pid
srw-rw---- 1 www-data www-data 0 Jan 24 15:27 php7.3-fpm.sock
srw-rw---- 1 www-data www-data 0 Jan 24 15:27 php7.3-fpm-w_app.sock
srw-rw---- 1 www-data www-data 0 Jan 24 15:27 php7.3-fpm-w_backend.sock
srw-rw---- 1 www-data www-data 0 Jan 24 15:27 php7.3-fpm-w_home.sock
srw-rw---- 1 www-data www-data 0 Jan 24 15:27 php7.3-fpm-w_rest.sock
srw-rw---- 1 www-data www-data 0 Jan 24 15:27 php7.3-fpm-w_webhook.sock
Тот, кто запускает установку WordPress - w_home
. Вот конфигурация FPM в pool.d для него:
[w_home]
user = w_home
group = w_home
listen = /var/run/php/php7.3-fpm-w_home.sock
listen.owner = www-data
listen.group = www-data
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
chdir = /
И, наконец, вот конфигурация Nginx для этого экземпляра:
server {
root /usr/share/nginx/sites/w_home/public;
index index.php index.html;
server_name wp.***.de;
location / {
try_files $uri $uri.html $uri/ @extensionless-php;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php7.3-fpm-w_home.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_sc$
include fastcgi_params;
}
location @extensionless-php {
rewrite ^(.*)$ $1.php last;
}
listen [::]:443 ssl ipv6only=on; # managed by Certbot
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/wp.***.de/fullchain$
ssl_certificate_key /etc/letsencrypt/live/wp.***.de/privk$
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certb$
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = wp.***.de) {
return 301 https://$host$request_uri;
} # managed by Certbot
server_name wp.***.de;
listen 80;
listen [::]:80;
return 404; # managed by Certbot
}
Я уже пробовал разбить полный набор Каталог WordPress для www-data, а также nginx, а также w_home. Каждый файл 644 (пробовал также 664), каждый каталог 755. WordPress не может писать.
Любая помощь?