山:
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 9.5 (stretch)
Release: 9.5
Codename: stretch
PHP 7.3.14-5+0~20200202.52+debian9~1.gbpa71879 (cli) (built: Feb 2 2020 07:56:57) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.14, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.3.14-5+0~20200202.52+debian9~1.gbpa71879, Copyright (c) 1999-2018, by
Zend Technologies
質問:
サーバーは1年以上働いていましたが、昨日現在PHPにはいくつかの問題があります(希望)。 PHPがクラッシュして問題が発生した後に再ロードされないようです(問題は表示されません)。
nginxログ:
2020/04/07 12:51:11 [crit] 770#770: *17055 connect() to unix:/run/php/php7.3-fpm.sock
failed (2: No such file or directory) while connecting to upstream, client: 127.0.0.1,
server: ***, request: "GET /api/me HTTP/1.1", upstream:
"fastcgi://unix:/run/php/php7.3-fpm.sock:", host: "***"
2020/04/07 12:51:11 [crit] 770#770: *17057 connect() to unix:/run/php/php7.3-fpm.sock failed
(2: No such file or directory) while connecting to upstream, client: 127.0.0.1, server: *
, request: "GET /api/seo/get? path=*** HTTP/1.1", upstream: "fastcgi://unix:/run/php/php7.3-
fpm.sock:", host: "***"
Q:PHPがPIDを殺すのに致命的なものは何ですか?競合が発生した場合にプロセスを再開できるモニタを知っていますか?
代替答え:自分で監視してphp7.3-fpmを再起動できますが、時間がかかります...
乾杯
編集:コメントで提案されているように、以下の/var/log/php7.3-fpmログの結果を確認しました。
[07-Apr-2020 11:05:19] NOTICE: [pool www] child 5504 started
[07-Apr-2020 11:14:42] WARNING: [pool www] server reached
pm.max_children setting (6), consider raising it
[07-Apr-2020 11:32:18] WARNING: [pool www] server reached
pm.max_children setting (6), consider raising it
[07-Apr-2020 11:54:21] WARNING: [pool www] server reached
pm.max_children setting (6), consider raising it
[07-Apr-2020 12:02:26] WARNING: [pool www] server reached
pm.max_children setting (6), consider raising it
[07-Apr-2020 12:30:16] NOTICE: Terminating ...
[07-Apr-2020 12:30:16] NOTICE: exiting, bye-bye!
PHPサブノードのセキュリティ制限は何ですか?
解決方法 pool.d/www.conf pm の値を次に変更します。
pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 10
pm.process_idle_timeout = 5s;