Странная проблема с Nginx, скомпилированным из исходников, и Nginx из официального репозитория Fedora

Странная проблема с Nginx, скомпилированным из исходников, и Nginx из официального репозитория Fedora

TL;DR Nginx, скомпилированный из исходников, имел проблемы с обработкой файлов .php, в то время как с той же конфигурацией PHP-FPM, nginx из официального репозитория Fedora работал как часы на DigitalOcean 512MB Fedora 21 x64 VPS. В чем причина?

Я использую DigitalOcean 512MB Droplet с Fedora 21 x64 VPS.

Я скомпилировал Nginx из исходников и установил его в /opt/nginx/. Вот вывод/opt/nginx/nginx -V

nginx version: nginx/1.7.10
built by gcc 4.9.2 20150212 (Red Hat 4.9.2-6) (GCC)
TLS SNI support enabled
configure arguments: --prefix=/opt/nginx --sbin-path=/opt/nginx --without-http_autoindex_module --without-http_browser_module --without-http_empty_gif_module --without-http_geo_module --without-http_map_module --without-http_referer_module --without-http_scgi_module --without-http_split_clients_module --without-http_ssi_module --without-http_userid_module --without-http_uwsgi_module --with-http_gzip_static_module --with-http_ssl_module --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --with-openssl=openssl --with-pcre=pcre --with-zlib=zlib --with-ipv6

До сих пор я использовал его для обслуживания только статических страниц. Сегодня я установил php-fpm из официального репозитория Fedora и настроил nginx (тот, который я скомпилировал из исходников с указанной выше конфигурацией) для передачи страниц .php в PHP-FPM через сокеты unix.

К сожалению, я получил No input file specifiedошибку. Я уже сталкивался с этой проблемой, поэтому знал, что делать. Я быстро изменил разрешение файла, но он все равно получил ту же ошибку.

После часов поиска и перепробовав все возможные решения, я все еще получал ту же ошибку. Я нашелэта темачтобы разделить примерно ту же проблему.

Я подумал, почему бы не попробовать Nginx из официального репозитория Fedora. Я установил его. Остановил предыдущий nginx (скомпилированный из исходников) /opt/nginx/nginx -s stopи настроил новый nginx (из официального репозитория Fedora) для передачи .php в PHP-FPM на те же сокеты unix.

И это сработало.

Мой вопрос: «Почему nginx (скомпилированный из исходников) испытывает трудности с обработкой php, в то время как nginx из официального репозитория Fedora работает как часы?». Может ли это быть связано с SELinux?

EDIT: Дополнительная информация о моей настройке.

Nginx (скомпилирован из исходников)

  • Установлен в /opt/nginx/
  • Обслуживает веб-контент из /srv

Nginx (из официального репозитория Fedora)

  • Установка по умолчанию, обычно /usr/sbin/nginx
  • Обслуживает контент из /usr/share/nginx/html/

решение1

Наконец-то решил.

SELinux запрещал PHP-FPM доступ к файлу, поскольку веб-контент обслуживался из /srv.

Выполнив следующую команду

sudo chcon -R -t httpd_sys_content_t /srv/

решил проблему.

Спасибо всем за помощь.

Ссылка:https://www.if-not-true-then-false.com/2011/install-nginx-php-fpm-on-fedora-centos-red-hat-rhel/

Связанный контент