Problema estranho com o Nginx compilado a partir do código-fonte e o Nginx do repositório oficial do Fedora

Problema estranho com o Nginx compilado a partir do código-fonte e o Nginx do repositório oficial do Fedora

DR Nginx, compilado a partir do código-fonte, teve problemas para processar arquivos .php, enquanto com a mesma configuração PHP-FPM, nginx , do repositório oficial do Fedora, funcionou perfeitamente no DigitalOcean 512MB Fedora 21 x64 VPS. Qual é a razão por trás disso?

Estou usando o Droplet DigitalOcean 512 MB com Fedora 21 x64 VPS.

Compilei o Nginx a partir do código-fonte e instalei-o em /opt/nginx/. Aqui está a saída de/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

Até agora, eu o usava para servir apenas páginas estáticas. Hoje, instalei o php-fpm do repositório oficial do Fedora e configurei o nginx (aquele que compilei do código-fonte com a configuração fornecida acima) para passar páginas .php para o PHP-FPM via soquetes unix.

Infelizmente, recebi o No input file specifiederro. Já enfrentei esse problema, então sabia o que fazer. Alterei rapidamente a permissão do arquivo, mas ainda recebi o mesmo erro.

Depois de pesquisar por horas e tentar todas as soluções possíveis, ainda recebia o mesmo erro. eu encontreieste tópicoestar compartilhando o mesmo problema.

Pensei por que não experimentar o Nginx do repositório oficial do Fedora. Eu instalei. Interrompeu o nginx anterior (compilado da fonte) /opt/nginx/nginx -s stope configurou o novo nginx (do repositório oficial do Fedora) para passar .php para PHP-FPM para os mesmos soquetes unix.

E funcionou.

Minha pergunta é "Por que o nginx (compilado a partir do código-fonte) teve problemas para processar o php enquanto o nginx, do repositório oficial do Fedora, funcionou perfeitamente?". Isso poderia ser SELinux?

EDIT: Mais informações sobre minha configuração.

Nginx (compilado da fonte)

  • Instalado em /opt/nginx/
  • Exibe conteúdo da web de /srv

Nginx (do repositório oficial do Fedora)

  • Instalação padrão, geralmente /usr/sbin/nginx
  • Exibe conteúdo de /usr/share/nginx/html/

Responder1

Resolvi finalmente.

O SELinux estava proibindo o PHP-FPM de acessar o arquivo, já que o conteúdo da web era servido por /srv.

Executando o seguinte comando

sudo chcon -R -t httpd_sys_content_t /srv/

resolveu o problema.

Obrigado a todos por ajudar.

Referência:https://www.if-not-true-then-false.com/2011/install-nginx-php-fpm-on-fedora-centos-red-hat-rhel/

informação relacionada