Linux PHP-CGI 프로세스가 자동으로 종료됩니다
PHP-CGI 프로세스는 PHP 스크립트를 실행하는 매우 일반적인 방법이지만 때로는 이러한 프로세스가 자동으로 종료되어 웹 사이트가 제대로 실행되지 않는 경우가 있습니다. 이 기사에서는 PHP-CGI 프로세스가 자동으로 종료되는 문제를 해결하는 방법을 소개합니다.
먼저 시스템 로그를 확인하여 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 프로세스를 종료했음을 나타냅니다.
리소스 부족으로 인해 시스템이 PHP-CGI 프로세스를 자동으로 종료하는 경우 프로세스 제한을 조정하여 문제를 해결할 수 있습니다. ulimit 명령을 사용하여 프로세스 제한을 조정할 수 있습니다. 예를 들어, 다음 명령은 각 프로세스에서 사용할 수 있는 최대 메모리 양을 512MB로 늘립니다.
$ ulimit -v 524288
이 명령을 PHP-CGI 프로세스 시작 스크립트에 추가하면 PHP-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 애플리케이션에 필요한 적절한 값으로 설정할 수 있습니다.
마지막으로 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!