Я пытаюсь настроить NGINX с PHP-FPM в системе Fedora 20 и получаю сообщение об ошибке «Файл не найден / Основной сценарий неизвестен» только при запуске php-fpm как системной службы.
Я использую настройку по умолчанию в NGINX с включенным файлом fastcgi.conf по умолчанию.
(С помощью: fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
)
Вот соответствующий nginx.conf:
root /var/www/index;
index index.html index.php index.htm;
location ~ \.php$ {
try_files $uri = 404;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi.conf;
}
Теперь, когда я запускаю php-fpm непосредственно из оболочки (как root), все работает абсолютно нормально, однако, когда я запускаю php-fpm, используя systemctl start php-fpm.service
Я получаю сообщение об ошибке «Файл не найден / Первичный сценарий неизвестен».
Вот определение php-fpm.service:
[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target
[Service]
Type=notify
PIDFile=/run/php-fpm/php-fpm.pid
EnvironmentFile=/etc/sysconfig/php-fpm
ExecStart=/usr/sbin/php-fpm --nodaemonize
ExecReload=/bin/kill -USR2 $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
Кто-нибудь знает, почему php-fpm может вести себя по-другому при запуске через systemd? (Я очень запутался, особенно потому, что php-fpm порождает рабочие процессы, и не должно быть никакой разницы между запуском из оболочки и запуском через systemd.)
Я не использую настройки chroot или chdir в конфигурации пула fpm.
Любая помощь будет принята с благодарностью! Спасибо Маркус