소스에서 컴파일된 Nginx와 공식 Fedora 저장소의 Nginx에 이상한 문제가 있습니다.

소스에서 컴파일된 Nginx와 공식 Fedora 저장소의 Nginx에 이상한 문제가 있습니다.

TL;DR 소스에서 컴파일된 Nginx는 .php 파일을 처리하는 데 문제가 있는 반면, 공식 Fedora 저장소의 동일한 PHP-FPM 구성인 nginx는 DigitalOcean 512MB Fedora 21 x64 VPS에서 매력적으로 작동했습니다. 그 이유는 무엇입니까?

저는 Fedora 21 x64 VPS와 함께 DigitalOcean 512MB Droplet을 사용하고 있습니다.

소스에서 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

지금까지는 정적 페이지만 제공하는 데 이를 사용했습니다. 오늘 저는 공식 Fedora 저장소에서 php-fpm을 설치하고 unix 소켓을 통해 .php 페이지를 PHP-FPM에 전달하도록 nginx(위의 구성으로 소스에서 컴파일한 것)를 구성했습니다.

불행하게도 No input file specified오류가 발생했습니다. 나는 이전에 이 문제에 직면한 적이 있었기 때문에 무엇을 해야 할지 알고 있었습니다. 파일 권한을 빠르게 변경했지만 여전히 동일한 오류가 발생했습니다.

몇 시간 동안 검색하고 가능한 모든 솔루션을 시도한 후에도 여전히 동일한 오류가 발생했습니다. 나는 찾았다이 스레드다소 동일한 문제를 공유하고 있습니다.

공식 Fedora 저장소의 Nginx를 사용해 보는 것이 어떨까요? 나는 그것을 설치했다. 이전 nginx(소스에서 컴파일됨)를 중지하고 /opt/nginx/nginx -s stop새 nginx(공식 Fedora 저장소에서)를 구성하여 .php를 동일한 Unix 소켓의 PHP-FPM으로 전달했습니다.

그리고 그것은 효과가 있었습니다.

내 질문은 "공식 Fedora 저장소의 nginx가 매력처럼 작동하는 동안 nginx(소스에서 컴파일)가 PHP를 처리하는 데 문제가 있는 이유는 무엇입니까?"입니다. 이것이 SELinux일 수 있습니까?

편집: 내 설정에 대한 추가 정보입니다.

Nginx(소스에서 컴파일됨)

  • /opt/nginx/에 설치됨
  • /srv에서 웹 콘텐츠를 제공합니다.

Nginx(공식 Fedora 저장소에서)

  • 기본 설치, 일반적으로 /usr/sbin/nginx
  • /usr/share/nginx/html/의 콘텐츠를 제공합니다.

답변1

마침내 해결되었습니다.

SELinux는 웹 콘텐츠가 /srv에서 제공되었기 때문에 PHP-FPM이 파일에 액세스하는 것을 금지했습니다.

다음 명령 실행

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/

관련 정보