Я запускаю WordPress с помощью: Nginx + PHP-FPM + APC + W3 Total Cache + PageSpeed.
После 3-дневного исследования и настройки мне удалось заставить его работать. Я настроил PHP-FPM для запуска через 127.0.0.1:9000. Но теперь я хочу настроить через Socket.
Проблема в том, что я не могу найти путь сокета на моем сервере. Я только что нашел /var/run/php-fpm/php-fpm.pid , но php-fpm.sock не было.
Запуск whereis php-fpm :
php-fpm: /usr/sbin/php-fpm /etc/php-fpm.d /etc/php-fpm.conf /usr/share/man/man8/php-fpm.8.gz
Но там нет php-fpm.sock .
Как найти php-fpm.sock ?
Мои спецификации:
Я знаю, что это старые вопросы, но поскольку у меня тоже есть такая же проблема, и я узнал ответ, подумал, что могу поделиться им. Проблема возникла из-за конфигурации в каталоге pood.d /.
открыто
/etc/php5/fpm/pool.d/www.conf
найти
listen = 127.0.0.1:9000
изменить на
listen = /var/run/php5-fpm.sock
После этого перезапустите службу nginx и php5-fpm и проверьте, уже создан ли php5-fpm.sock.
Проверьте конфигурационный файл, путь конфигурации – /etc/php5/fpm/pool.d/www.conf , там вы найдете путь по конфигурации и, если хотите, можете его изменить.
EDIT :
ну, вы правы, вам нужно заменить listen = 127.0.0.1:9000 на listen = /var/run/php5-fpm/php5-fpm.sock , тогда вам нужно запустить sudo service php5-fpm restart и убедиться, что он говорит, что он перезапустился правильно, если нет, то убедитесь, что у /var/run/ есть папка с именем php5-fpm или заставить ее слушать /var/run/php5-fpm.sock потому что я не думаю, что папка внутри /var/run создается автоматически, я помню, что мне пришлось отредактировать скрипт запуска для создания этой папки, иначе даже если вы mkdir /var/run/php5-fpm после перезагрузки, эта папка исчезнет, и запуск службы завершится неудачно.
Я столкнулся с такой же проблемой в CentOS через 7 лет
Проводя надежду, что это может помочь другим …
шаги:
FIRST , настройте настройки php-fpm:
-> systemctl stop php-fpm.service
-> cd /etc/php-fpm.d
-> ls -hal (должен увидеть файл http://www.conf)
-> cp www.conf www.conf.backup (обратно на всякий случай)
-> vi www.conf
-> :/listen = (чтобы перейти к строке, которую нужно изменить)
-> i (для входа в режим ввода текста VI)
-> изменить с listen = 127.0.0.1:9000 TO listen = /var/run/php-fpm/php-fpm.sock
-> Esc то :/listen.owner (чтобы найти его), затем i (для изменения)
-> UNCOMMENT: listen.owner = nobody AND listen.group = nobody lines
-> Hit Esc затем введите :/user = then i
-> изменить user = apache TO user = nginx
-> И изменить group = apache TO group = nginx
-> Hit Esc then :wq (для сохранения и выхода)
-> systemctl start php-fpm.service (теперь у вас будет файл php-fpm.sock)
SECOND , вы настраиваете свой server {} в файле /etc/nginx/nginx.conf . Затем запустите: systemctl restart nginx.service
НАКОНЕЦ , создайте новый .php-файл в каталоге / usr / share / nginx / html для вашего сервера Nginx для обслуживания через интернет-браузер в качестве теста.
-> vi /usr/share/nginx/html/mytest.php
-> тип o
-> <?php echo date("Y/m/dl"); ?> <?php echo date("Y/m/dl"); ?> (Страница PHP будет печатать дату и день в браузере)
-> Hit Esc
-> type :wq (для сохранения и :wq в целом редакторе)
-> откройте браузер и перейдите по http://yourDomainOrIPAddress/mytest.php : http://yourDomainOrIPAddress/mytest.php (вы должны увидеть дату и день печати)
Решившись в моем случае, я смотрю на
sudo tail -f /var/log/nginx/error.log
и ошибка php5-fpm.sock не найдена
Я смотрю на sudo ls -lah /var/run/
не было php5-fpm.sock
Я редактирую http://www.conf
sudo vim /etc/php5/fpm/pool.d/www.conf
изменение
listen = 127.0.0.1:9000
для
listen = /var/run/php5-fpm.sock
и перезагрузка
Когда вы просматриваете свой php-fpm.conf
example location: cat /usr/src/php/sapi/fpm/php-fpm.conf
вы увидите, что вам нужно настроить PHP FastCGI Process Manager на фактическое использование сокетов Unix. По умолчанию директива listen `настроена для прослушивания в сокете TCP на одном порту. Если сокет Unix не определен, вы не найдете файл сокета Unix.
; The address on which to accept FastCGI requests. ; Valid syntaxes are: ; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific IPv4 address on ; a specific port; ; '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on ; a specific port; ; 'port' - to listen on a TCP socket to all IPv4 addresses on a ; specific port; ; '[::]:port' - to listen on a TCP socket to all addresses ; (IPv6 and IPv4-mapped) on a specific port; ; '/path/to/unix/socket' - to listen on a unix socket. ; Note: This value is mandatory. listen = 127.0.0.1:9000
Я сталкиваюсь с этой проблемой, когда я впервые запускаю LEMP на centos7, ссылаясь на этот пост .
Я перезапускаю nginx для проверки страницы phpinfo, но получаю это
http://xxx.xxx.xxx.xxx/info.php теперь недоступен.
Затем я использую tail -f /var/log/nginx/error.log чтобы узнать больше информации. Я считаю, что файл php-fpm.sock не существует. Затем я перезагружаю систему, все в порядке.
Здесь, возможно, не нужно перезагружать систему как сообщение Fath, просто перезагрузите nginx и php-fpm.
перезапустить php-fpm
перезагрузить nginx config