Я настраиваю систему, похожую на учебник здесь.
У меня проблемы с подключением nginx к сокету php5-fpm, но из того, что я могу сказать, права доступа к сокету верны ... вы можете мне помочь?
2011/04/14 15:31:24 [crit] 13147#0: *1 connect() to unix:/var/run/php5-fpm.socket failed (2: No such file or directory) while connecting to upstream, client: 74.129.***.***, server: app.mydomain.com, request: "GET /phpinfo.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.socket:", host: "app.mydomain.com" root@app0:/# ls -l /var/run/php5-fpm.socket srw-rw-rw- 1 www-data www-data 0 Apr 14 15:51 /var/run/php5-fpm.socket root@app0:/# ps aux | grep fpm root 13315 0.0 1.9 168276 4948 ? Ss 15:51 0:00 /usr/sbin/php5-fpm --fpm-config /etc/php5/fpm/main.conf www-data 13316 0.0 2.1 168672 5492 ? S 15:51 0:00 /usr/sbin/php5-fpm --fpm-config /etc/php5/fpm/main.conf root@app0:/# ps aux | grep nginx root 13341 0.0 0.4 33200 1036 ? Ss 15:52 0:00 nginx: master process /usr/local/nginx/sbin/nginx -c /etc/nginx/nginx.conf www-data 13342 0.0 0.7 34008 1880 ? S 15:52 0:00 nginx: worker process www-data 13344 0.0 0.6 33680 1628 ? S 15:52 0:00 nginx: worker process
У меня есть несколько настроек для предоставленных вами конфигураций, но в основном это то же самое. Хотите предложить способ устранения неполадок?
Это ошибка, которую упускают из виду многие учебники. пользователь php должен быть владельцем сокета. Итак, вы хотите убедиться, что
chown www-data:www-data /var/run/php5-fpm.socket
Я не знаю, что именно вызвало это, возможно, некоторые изменения в коде PHP, но я нашел способ исправить это:
1) Откройте конфигурацию пула как root, мой находится в: /etc/php5/fpm/pool.d/www.conf
2) Добавьте следующие строки:
listen.owner = www-data
listen.group = www-data
Вот полная документация для всех параметров конфигурации.
3) Перезапустите PHP FPM: sudo service php5-fpm restart
Он должен воссоздать файл сокета с правильным пользователем и группой:
ls -lah / var / run / | grep php:
-rw-r--r-- 1 root root 4 Jun 24 18:19 php5-fpm.pid
srw-rw---- 1 www-data www-data 0 Jun 24 18:19 php5-fpm.sock
Надеюсь, это поможет! Ура!
У меня была похожая проблема. На моем ноутбуке для разработчиков (MacOS) я хочу запускать все в своей учетной записи, чтобы все было просто. I-узел сокета принадлежит моей учетной записи.
Мне просто нужно было закомментировать listen.owner и listen.group в www.conf.
Я начинаю все в своей учетной записи с "brew services start --all".
В www.conf «пользователь» по-прежнему установлен в «_www». Socket по-прежнему принадлежит мне. Не уверен, почему это не вызывает ошибки.