PHP-FPM не может записывать в папку www Nginx

Nginx в настоящее время настроен на запуск от имени пользователя «nginx»:

[root@localhost whmcs]# grep user /etc/nginx/nginx.conf
user nginx;

PHP-FPM также настроен на запуск как пользователь "nginx":

[root@localhost whmcs]# grep '^user\|^group' /etc/php-fpm.d/www.conf
user = nginx
group = nginx

Они определенно работают как пользователь "nginx":

[root@localhost whmcs]# ps aux | grep nginx | grep -v grep
nginx     55067  0.0  0.2 355128  9568 ?        S    15:54   0:00 php-fpm: pool www
nginx     55068  0.0  0.3 359488 13976 ?        S    15:54   0:00 php-fpm: pool www
nginx     55069  0.0  0.2 355128  9596 ?        S    15:54   0:00 php-fpm: pool www
nginx     55070  0.0  0.3 359508 13952 ?        S    15:54   0:00 php-fpm: pool www
nginx     55071  0.0  0.3 358712 13200 ?        S    15:54   0:00 php-fpm: pool www
nginx     55229  0.0  0.3 358456 12896 ?        S    15:54   0:00 php-fpm: pool www
root      62624  0.0  0.0  60572  1288 ?        Ss   16:15   0:00 nginx: master process /usr/sbin/nginx
nginx     62625  0.0  0.0  63096  2688 ?        S    16:15   0:00 nginx: worker process
nginx     62626  0.0  0.0  63096  2204 ?        S    16:15   0:00 nginx: worker process
nginx     62628  0.0  0.0  63096  2204 ?        S    16:15   0:00 nginx: worker process
nginx     62629  0.0  0.0  63096  2204 ?        S    16:15   0:00 nginx: worker process

PHP-FPM тоже:

[root@localhost whmcs]# ps aux | grep php-fpm | grep -v grep
root      55064  0.0  0.2 352152 11584 ?        Ss   15:54   0:00 php-fpm: master process (/etc/php-fpm.conf)
nginx     55067  0.0  0.2 355128  9568 ?        S    15:54   0:00 php-fpm: pool www
nginx     55068  0.0  0.3 359488 13976 ?        S    15:54   0:00 php-fpm: pool www
nginx     55069  0.0  0.2 355128  9596 ?        S    15:54   0:00 php-fpm: pool www
nginx     55070  0.0  0.3 359508 13952 ?        S    15:54   0:00 php-fpm: pool www
nginx     55071  0.0  0.3 358712 13200 ?        S    15:54   0:00 php-fpm: pool www
nginx     55229  0.0  0.3 358456 12896 ?        S    15:54   0:00 php-fpm: pool www

Моя папка www для этого домена - / var / www / whmcs и он принадлежит "nginx":

[root@localhost www]# pwd
/var/www
[root@localhost www]# ls -lah | grep whmcs
drwxr-xr-x. 19 nginx nginx 4.0K Feb  7 16:15 whmcs

Похоже, что в /var/log/php-fpm/error.log или /var/log/nginx/error.log нет ничего значимого.

Моя установка WHMCS в этом домене по-прежнему выдает ошибку «Не удается записать в веб-папку».

Я также отключил SELinux.

Кто-нибудь, пожалуйста, объясните мне, почему это может происходить?


ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ НИЖЕ

РЕДАКТИРОВАТЬ: Особо не работает, даже если я рекурсивно меняю разрешения для / var / www / whmcs на 777.

РЕДАКТИРОВАТЬ 2: Я дал логин оболочки пользователю "nginx". Он МОЖЕТ создавать файлы в папке / var / www / whmcs при входе в систему. Однако ошибка на странице все та же.

РЕДАКТИРОВАТЬ 3: Информация о владельцах и разрешениях, запрошенная пользователем @ ezra-s:

[root@localhost var]# namei -mxo /var/www/whmcs
f: /var/www/whmcs
 Dr-xr-xr-x root  root  /
 drwxr-xr-x root  root  var
 drwxr-xr-x root  root  www
 drwxr-xr-x nginx nginx whmcs

РЕДАКТИРОВАТЬ 4: @Orphans, похоже, у меня нет /etc/php*/fpm/pool/conf.d / $ { КОНФФИЛЬ}. Это все мои файлы / etc / php * в CentOS 6.7:

[root@localhost etc]# find /etc/php*
/etc/php.d
/etc/php.d/curl.ini
/etc/php.d/fileinfo.ini
/etc/php.d/json.ini
/etc/php.d/phar.ini
/etc/php.d/zip.ini
/etc/php.d/pdo.ini
/etc/php.d/pdo_sqlite.ini
/etc/php.d/sqlite3.ini
/etc/php.d/mysql.ini
/etc/php.d/mysqli.ini
/etc/php.d/pdo_mysql.ini
/etc/php.d/ioncube.ini
/etc/php.d/gd.ini
/etc/php-fpm.conf
/etc/php-fpm.d
/etc/php-fpm.d/www.conf
/etc/php.ini

Также вот файл виртуального хоста для домена (я использую файл hosts для доступа к нему):

[root@localhost etc]# cat /etc/nginx/sites-available/whmcs.com.conf 
server {
    listen 80;

    root /var/www/whmcs;
    index index.php;

    server_name whmcs.com www.whmcs.com;

    location / {
        try_files $uri $uri/ =404;
    }
    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/whmcs;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

}
3
задан 7 February 2017 в 16:56
1 ответ

Проверьте настройки selinux. Возможно, вам потребуется запустить:

$ sudo restorecon -R /var/www/whmcs
$ sudo setsebool -P httpd_unified 1

Ссылка: https://magento.stackexchange.com/a/72271/469

4
ответ дан 3 December 2019 в 06:01

Теги

Похожие вопросы