TL; Nginx DR, скомпилированный из источника, имел процесс проблемы .php файлы, в то время как с той же конфигурацией PHP-FPM, nginx, из официального репозитория Fedora, работал как очарование над Fedora 21 x64 VPS DigitalOcean 512 МБ. Какова причина позади него?
Я использую Капельку DigitalOcean 512 МБ с 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?
Править: Больше информации о моей установке.
Nginx (скомпилированный из источника)
Nginx (из официального репозитория Fedora)
Окончательно решила.
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 /