>백엔드 개발 >PHP 문제 >PHP-CGI 프로세스가 자동으로 종료되는 문제를 해결하는 방법

PHP-CGI 프로세스가 자동으로 종료되는 문제를 해결하는 방법

PHPz
PHPz원래의
2023-03-29 11:28:511439검색

Linux PHP-CGI 프로세스가 자동으로 종료됩니다

PHP-CGI 프로세스는 PHP 스크립트를 실행하는 매우 일반적인 방법이지만 때로는 이러한 프로세스가 자동으로 종료되어 웹 사이트가 제대로 실행되지 않는 경우가 있습니다. 이 기사에서는 PHP-CGI 프로세스가 자동으로 종료되는 문제를 해결하는 방법을 소개합니다.

  1. 로그 보기

먼저 시스템 로그를 확인하여 PHP-CGI 프로세스가 자동으로 종료되는 이유를 확인해야 합니다. 대부분의 Linux 배포판에서 시스템 로그 파일은 /var/log 디렉터리에 있습니다. 다음 명령을 사용하여 최근 시스템 로그를 볼 수 있습니다.

$ sudo tail -f /var/log/syslog

메모리나 기타 리소스 부족으로 인해 PHP-CGI 프로세스가 자동으로 종료되면 로그 파일에 다음과 유사한 정보가 표시됩니다.

Apr 15 14:35:26 myserver kernel: Out of memory: Kill process 1234 (php-cgi) score 5678 or sacrifice child

위 정보는 시스템이 메모리를 해제하기 위해 PHP-CGI 프로세스를 종료했음을 나타냅니다.

  1. 프로세스 제한 조정

리소스 부족으로 인해 시스템이 PHP-CGI 프로세스를 자동으로 종료하는 경우 프로세스 제한을 조정하여 문제를 해결할 수 있습니다. ulimit 명령을 사용하여 프로세스 제한을 조정할 수 있습니다. 예를 들어, 다음 명령은 각 프로세스에서 사용할 수 있는 최대 메모리 양을 512MB로 늘립니다.

$ ulimit -v 524288

이 명령을 PHP-CGI 프로세스 시작 스크립트에 추가하면 PHP-CGI 프로세스가 실행될 때 즉시 적용됩니다. 시작되었습니다.

  1. CGI 시간 초과 조정

또한 PHP-CGI 프로세스가 너무 오랫동안 실행되어 자동으로 종료되는 경우 CGI 시간 초과를 조정하여 이 문제를 해결할 수 있습니다. CGI 시간 초과는 웹 서버 구성 파일에서 설정할 수 있습니다. 예를 들어, 다음 Nginx 구성 파일은 CGI 시간 제한을 30초로 설정합니다.

location ~ \.php$ {
    try_files $uri =404;
    fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_read_timeout 30;
    include fastcgi_params;
}

fastcgi_read_timeout을 PHP 애플리케이션에 필요한 적절한 값으로 설정할 수 있습니다.

  1. 프로세스 관리자 사용

마지막으로 PHP-CGI 프로세스가 자동으로 종료되는 문제가 해결되지 않은 경우 프로세스 관리자 사용을 고려할 수 있습니다. 프로세스 관리자는 PHP-CGI 프로세스를 자동으로 모니터링하고 충돌하거나 중지된 후 자동으로 다시 시작할 수 있습니다. 일반적인 프로세스 관리자에는 Supervisor와 systemd가 포함됩니다.

프로세스 관리자를 사용하기 전에 사용 방법을 이해해야 합니다. 여기서 Supervisor를 예로 들면 다음 명령을 사용하여 설치할 수 있습니다.

$ sudo apt-get install supervisor

설치 후 Supervisor 구성 파일을 생성해야 합니다. 예:

[program:php-cgi]
command=/usr/bin/php-cgi -b 127.0.0.1:9000
autostart=true
autorestart=true
redirect_stderr=true

위 구성 파일을 사용하면 Supervisor가 자동으로 시작하고 모니터링할 수 있습니다. PHP-CGI 프로세스 . PHP-CGI 프로세스 설정에 따라 구성 파일을 수정할 수 있습니다.

마지막으로 다음 명령을 사용하여 Supervisor를 시작해야 합니다.

$ sudo systemctl start supervisor

요약:

PHP-CGI 프로세스는 웹 서버에서 PHP 스크립트를 실행하는 일반적인 방법입니다. PHP-CGI 프로세스가 자동으로 종료되는 경우 시스템 로그 보기, 프로세스 제한 조정, CGI 시간 초과 조정 및 프로세스 관리자를 사용하여 문제를 해결할 수 있습니다. PHP-CGI 프로세스를 항상 사용할 수 있도록 하려면 위 방법을 조합하여 사용할 수 있습니다.

위 내용은 PHP-CGI 프로세스가 자동으로 종료되는 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.