1

У меня достаточно чистая установка (и обновление) Ubuntu 16.04 LTS, и я пытаюсь настроить PHP-FPM для привязки к каждому домену. Я действительно не хочу открывать n портов на сервере (они локальные, но я все равно не хочу) для каждого домена.

Но, как я уже пробовал, я не могу заставить прокси выполнить правильный скрипт через сокет. Когда я заменяю $ {% SCRIPT_NAME} на index.php, он загружает мой индекс (содержащий phpinfo ();), но больше ничего не загружает - в настоящее время он отвечает просто «Файл не найден». и 404 статус. Я также вижу [Thu Feb 15 17:18:37.581204 2018] [proxy_fcgi:error] [pid 15974] [client 10.0.0.15:60620] AH01071: Got error 'Primary script unknown\n' в журнале apache. Я также не знаю, как правильно отлаживать php-fpm, так как он не выводит много в журнал ... :-(

Но независимо от того, что я делаю, я не могу заставить его работать с index.php или другим скриптом в URL (а не в конфиге). Я пробовал несколько предполагаемых решений, но ни одно из них не работает.

У меня есть следующие настройки в php fpm:

[domain.com]
user = 4003
group = 4001
listen = /var/run/php/domain.com.sock
chroot = /disks/sdb1/clients/clientname/domain.com
chdir = /
catch_workers_output = yes
access.log = /disks/sdb1/clients/client/logs/access.domain.com.log


listen.owner = www-data
listen.group = www-data
listen.mode = 0660

pm = dynamic
pm.max_children = 5
pm.min_spare_servers = 1
pm.max_spare_servers = 3
pm.max_requests = 500

php_admin_value[error_log] = /disks/sdb1/clients/client/logs/error.domain.com.log

и apache conf:

<VirtualHost *:80>

    ServerName domain.com
    ServerAlias www.domain.com

    ServerAdmin client

    DocumentRoot /disks/sdb1/clients/client/domain.com

    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    CustomLog /var/log/apache2/domain.com-access.log combined
    ErrorLog /var/log/apache2/domain.com-error.log

    <Directory /disks/sdb1/clients/client/domain.com>
        Options FollowSymLinks
        AllowOverride All
        <IfModule !mod_authz_core.c>
            Order allow,deny
            Allow from all
        </IfModule>
        <IfModule mod_authz_core.c>
            Require all granted
        </IfModule>
    </Directory>

        SetEnv HOME "/disks/sdb1/clients/client/domain.com"
        SetEnv HTTP_HOME "/disks/sdb1/clients/client/domain.com"
    <FilesMatch \\.php$>
        SetHandler "proxy:unix:/run/php/domain.com.sock|fcgi://localhost/${%SCRIPT_NAME}"
    </FilesMatch>
#Use PHP-FPM for PHP processing
#SetEnv PATH_INFO "%{SCRIPT_NAME}"
#ProxyPassMatch ^(.*)$ "unix://var/run/php/domain.com.sock|fcgi://localhost//$1" enablereuse=on

</VirtualHost>

0