Apache용 역방향 프록시를 사용하는 Nginx에서 PHP 페이지 작동이 중지되었습니다.

Apache용 역방향 프록시를 사용하는 Nginx에서 PHP 페이지 작동이 중지되었습니다.

Apache용 역방향 프록시를 사용하여 Nginx 서버를 설정했습니다.지도 시간) 몇 달 전. nginx 부분과 Apache의 PHP 페이지 등 모든 것이 잘 작동합니다.

하지만 PHP에는 컬을 사용해야 했기 때문에 다음과 같이 php-curl 패키지를 설치했습니다.

sudo apt install php-curl

그 이후로 모든 PHP 페이지에 대해 "500 내부 서버 오류"만 발생합니다. nginx 페이지와 html 페이지는 여전히 잘 작동합니다.

이 문제의 범인을 어떻게 찾는지 잘 모르겠습니다. 패키지 제거를 다시 시도하고 서비스를 다시 시작했습니다 sudo systemctl reload apache2(활성 상태이며 sudo systemctl status apache2오류가 표시되지 않음).

이는 오류 로그( /var/log/apache2/error.log)에 있습니다.

[fastcgi:error] [pid 9587:tid 140151397275200] (2)No such file or directory: [client xxx.xxx.xxx.xxx:49342] FastCGI: failed to connect to server "/usr/lib/cgi-bin/php-fcgi": connect() failed
[fastcgi:error] [pid 9587:tid 140151397275200] [client xxx.xxx.xxx.xxx:49342] FastCGI: incomplete headers (0 bytes) received from server "/usr/lib/cgi-bin/php-fcgi"

추신: 이것이 관련이 있는지 확실하지 않지만 우분투 21.10에 서버를 설정하고 작동이 중단되기 직전에 22.10으로 업데이트했습니다. 업데이트 후에도 여전히 작동했지만 업데이트 중에 서비스가 다시 시작되지 않았고 php-curl을 설치하면 다시 시작되었을 수 있습니까?

답변1

문제는 파일에 있었는데 /etc/apache2/mods-enabled/fastcgi.conf, 제 눈에는 다음과 같았습니다.

<IfModule mod_fastcgi.c>
  AddHandler fastcgi-script .fcgi
  FastCgiIpcDir /var/lib/apache2/fastcgi
  AddType application/x-httpd-fastphp .php
  Action application/x-httpd-fastphp /php-fcgi
  Alias /php-fcgi /usr/lib/cgi-bin/php-fcgi
  FastCgiExternalServer /usr/lib/cgi-bin/php-fcgi -socket /run/php/php7.4-fpm.sock -pass-header Authorization
  <Directory /usr/lib/cgi-bin>
    Require all granted
  </Directory>
</IfModule>

php7.4php8을 실행한 이후로 문제가 발생할 수 있다고 의심했습니다 . 서버에서 PHP 버전을 다시 확인 php --version하고 그에 따라 해당 줄을 변경했습니다.

FastCgiExternalServer /usr/lib/cgi-bin/php-fcgi -socket /run/php/php8.1-fpm.sock -pass-header Authorization

그런 다음 아파치( )를 다시 시작했는데 sudo systemctl status apache2.service이제 다시 작동하는 것 같습니다.


Alias폴더가 /usr/lib/cgi-bin/php-fcgi존재하지 않는다는 사실이 여전히 짜증스럽습니다 ( /usr/lib/cgi-bin실제로는 비어 있습니다). 나는 그것이 내 문제일지도 모른다고 생각했습니다.Apache에 PHP-FPM을 설치할 수 없습니다(FastCGI 서버에 연결하지 못했습니다).fastcgi.conf), 처음부터 확인했습니다 . 하지만 모든 것이 작동하는 것 같으므로 지금은 그대로 진행하겠습니다.

관련 정보