wordpress访问异常:连接超时

我的服务器配置:2核(vCPU)2 GiB,最近总是在文章编辑提交时系统异常。查看nginx异常日志:

2025/01/27 12:48:47 [error] 9034#0: *27310 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 206.189.60.240, server: www.chenzhuzhen.cn, request: "GET /alive.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "47.121.126.4"
2025/01/28 00:59:24 [error] 9034#0: *27583 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 72.46.130.218, server: www.chenzhuzhen.cn, request: "GET /admin/modules/framework/amp_conf/htdocs/admin/config.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "47.121.126.4"
2025/01/28 08:47:30 [error] 9034#0: *27750 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 137.184.169.47, server: www.chenzhuzhen.cn, request: "GET /alive.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "47.121.126.4"
2025/01/28 17:09:44 [error] 9034#0: *28058 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 125.78.205.147, server: www.chenzhuzhen.cn, request: "GET /2025/01/26/%e9%b8%bf%e8%92%99-%e5%ba%94%e7%94%a8%e7%b3%bb%e7%bb%9f%e4%bc%98%e5%8c%96/ HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.chenzhuzhen.cn", referrer: "https://www.chenzhuzhen.cn/wp-admin/post.php?post=174&action=edit"
2025/01/28 17:11:39 [error] 9034#0: *28058 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 125.78.205.147, server: www.chenzhuzhen.cn, request: "GET /favicon.ico HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.chenzhuzhen.cn", referrer: "https://www.chenzhuzhen.cn/2025/01/26/%e9%b8%bf%e8%92%99-%e5%ba%94%e7%94%a8%e7%b3%bb%e7%bb%9f%e4%bc%98%e5%8c%96/"
2025/01/28 17:57:26 [error] 9034#0: *28237 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 125.78.205.147, server: www.chenzhuzhen.cn, request: "POST /wp-json/wp/v2/posts/174/autosaves?_locale=user HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.chenzhuzhen.cn", referrer: "https://www.chenzhuzhen.cn/wp-admin/post.php?post=174&action=edit"
2025/01/28 18:05:02 [error] 9034#0: *28349 upstream prematurely closed connection while reading response header from upstream, client: 120.32.143.237, server: www.chenzhuzhen.cn, request: "POST /wp-admin/admin-ajax.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.chenzhuzhen.cn", referrer: "https://www.chenzhuzhen.cn/wp-admin/post.php?post=174&action=edit"
2025/01/28 18:05:10 [error] 9034#0: *28322 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 120.32.143.237, server: www.chenzhuzhen.cn, request: "POST /wp-json/wp/v2/posts/174/autosaves?_locale=user HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.chenzhuzhen.cn", referrer: "https://www.chenzhuzhen.cn/wp-admin/post.php?post=174&action=edit"
2025/01/28 18:05:37 [error] 9034#0: *28352 upstream prematurely closed connection while reading response header from upstream, client: 120.32.143.237, server: www.chenzhuzhen.cn, request: "GET /wp-json/wp/v2/media/247?context=view&_locale=user HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.chenzhuzhen.cn", referrer: "https://www.chenzhuzhen.cn/wp-admin/post.php?post=174&action=edit"
2025/01/28 18:06:39 [error] 9034#0: *28322 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 120.32.143.237, server: www.chenzhuzhen.cn, request: "POST /wp-json/wp/v2/posts/174/autosaves?_locale=user HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.chenzhuzhen.cn", referrer: "https://www.chenzhuzhen.cn/wp-admin/post.php?post=174&action=edit"
2025/01/28 18:06:52 [error] 9034#0: *28358 upstream prematurely closed connection while reading response header from upstream, client: 120.32.143.237, server: www.chenzhuzhen.cn, request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.chenzhuzhen.cn"
2025/01/28 18:31:23 [error] 9034#0: *28464 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 120.32.143.237, server: www.chenzhuzhen.cn, request: "POST /wp-json/wp/v2/posts/174/autosaves?_locale=user HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.chenzhuzhen.cn", referrer: "https://www.chenzhuzhen.cn/wp-admin/post.php?post=174&action=edit"
2025/01/28 18:34:16 [error] 9034#0: *28537 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 120.32.143.237, server: www.chenzhuzhen.cn, request: "POST /wp-json/wp/v2/posts/174/autosaves?_locale=user HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.chenzhuzhen.cn", referrer: "https://www.chenzhuzhen.cn/wp-admin/post.php?post=174&action=edit"

估计是PHP-FPM 处理能力不足。

查看linux内存占用情况,可以使用ps -aux –sort=-rss或ps -aux –sort=-%mem,前者按照实际内存占用量(RSS,Resident Set Size)降序排列,后者按照内存占用百分比降序排列。

查看PHP-FPM 的配置文件:/etc/php-fpm.d/www.conf

PHP-FPM 的进程管理模式的默认配置。相对我服务器太高。改如下:

pm = dynamic
pm.start_servers = 3  # 服务启动时创建 3 个子进程
pm.min_spare_servers = 2  # 保证至少有 2 个空闲子进程
pm.max_spare_servers = 5  # 最多有 5 个空闲子进程
pm.max_children = 8  # 子进程总数最多为 8 个

重启 PHP – FPM 服务使配置生效:

sudo systemctl restart php-fpm

再次查看linux内存占用情况

内存空闲内容也相对变多了