Настройка nginx(построена из исходного кода) с помощью php5-fpm

Так что я новичок в nginx. В Ubuntu я установил nginx, используя "sudo apt-get install nginx", затем установил php5-fpm sudo apt get install php5-fpm, Я следовал за шагами в: https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-on-ubuntu-12-04 и заставил nginx работать хорошо с php5-fpm,

Это соответствующий раздел из моего файла конфигурации nginx для включения прокси fastCGI.

location ~ \.php$ {

    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

Это прекрасно работает, и php-файлы работают так, как они должны.

Затем я скачал nginx-1.7.3.tar.gz и собрал if from source:

--configure --prefix=/usr/local/nginx-1.7.3 make sudo make install

Так что сейчас у меня будет две установки nginx. Первый, использующий apt-get install nginx и этот, который был построен из источника. Я могу управлять каждым по-разному sudo service nginx start управляет apt-get install version а также sudo /usr/local/nginx-1.7.3/sbin/nginx запускает версию, созданную из исходного кода.

Чтобы включить прокси fastCGI для "встроенной исходной" версии, я подумал, что это то же самое, что и первая установка nginx, поэтому блок расположения файла nginx.conf для быстрого прокси cgi идентичен первому.

НО

Версия, созданная из исходного кода, похоже, не взаимодействует с php5-fpm так я получаю ошибку:

Произошла ошибка

Извините, страница, которую вы ищете, в данный момент недоступна. Пожалуйста, попробуйте позже.

И журнал ошибок для nginx гласит: 2014/08/03 01:31:24 [crit] 8566#0: *1 connect() to unix:/var/run/php5-fpm.sock failed (13: Permission denied) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "GET /test.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "localhost"

Из-за недостатка знаний я подозреваю, что я делаю что-то действительно глупое, но я не могу этого понять. Почему версия "построена из исходного кода" выдает эту ошибку при попытке подключиться к файлам, заканчивающимся на.php?

2 ответа

Как указал Женек, у вас, скорее всего, есть проблема с владельцем / разрешениями для вашего файла сокетов (/var/run/php5-fpm.sock).

В вашем fpm-config (например, /etc/php5/fpm/pool.d/www.conf) попробуйте следующее:

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

ЗАДАЧА РЕШЕНА:

мой /etc/nginx/nginx.conf которая является конфигурацией для nginx, загруженной с sudo apt-get install nginx пользователь установил как user www-data; так что он может общаться с php5-fpm в то время как nginx-1.7.3 построен из источника, расположенного в /usr/local/nginx-1.7.3/conf/nginx.conf пользователь настроен на user nobody;,

Путем изменения user nobody; в user www-data; он начал общаться с php-fpm.

Другие вопросы по тегам