|
装完WordPress,测试第一件事不是测试换主题,是测试测。不测,测试你根本不知道这玩意儿在你的测试服务器上到底是能跑还是半死不活。 我见过太多人,测试宝塔面板点两下,测试五分钟装完,测试后台能登录,测试就以为万事大吉。测试结果文章发出去,测试前台一片空白。测试或者图片上传按钮点下去,测试转半天圈,测试最后给你个红叉。测试这种“能登录但不能用”的状态,比直接报错还折磨人。 先测伪静态,这是重灾区 Nginx环境下,WordPress默认的固定链接是带问号的。你改成“/%postname%/”这种漂亮结构,如果没配伪静态规则,除了首页,其他页面全给你返回404。 测法很简单:后台→设置→固定链接,选“文章名”,保存。然后随便点开一篇文章。能打开,说明规则生效。打不开,去宝塔网站设置里找伪静态,选WordPress,保存,再试。 有个细节:宝塔的伪静态规则有时候会跟其他规则打架。比如你同时装了Typecho或者Discuz,规则文件可能被覆盖。我的习惯是直接看nginx配置文件里有没有try_files $uri $uri/ /index.php?$args;这一行。没有就手动加,别偷懒。 图片上传,藏着权限的坑 后台写文章,点“添加媒体”,传一张图。如果提示“无法创建目录 wp-content/uploads/2024/06”,别怀疑,就是权限问题。 WordPress需要www用户对wp-content目录有写权限。宝塔默认给的是755,有时候够用,有时候不够。我一般直接把wp-content改成775,属主www:www。改完再传,基本就过了。 还有个隐蔽情况:图片传上去了,前台不显示。右键看图片地址,路径是对的,但返回403。这通常是Nginx对uploads目录做了防盗链或者PHP执行限制。检查一下网站设置里的“防盗链”有没有误开,或者配置文件里有没有location ~* /uploads/.*\.php$ { deny all; }这种规则。有的话,图片是静态文件,不该被拦,把规则改对。 用Query Monitor看慢在哪 装个Query Monitor插件,前台底部会多一个菜单。点开看“Queries”,按时间排序。哪个插件或者主题的查询拖了后腿,一目了然。 我测过一个站,首页加载4秒多。Query Monitor显示一个“相关文章”插件跑了200多条查询,每条都扫全表。关掉它,首页直接降到1.2秒。这种问题,不测根本找不到。 另外看“HTTP API”那一栏。如果某个外部请求(比如Google字体、 Gravatar头像)超时,也会拖慢整体。WordPress默认会连gravatar.com,国内服务器经常连不上。装个“WP Gravatar Local Cache”或者直接禁用头像,能省不少时间。 数据库压力,用ab压一下 命令行里跑ab -n 100 -c 10 https://你的域名/。看“Requests per second”和“Time per request”。如果并发10个请求,平均响应超过500ms,说明数据库或者PHP处理有问题。 常见原因是没开OPcache,或者MySQL的innodb_buffer_pool_size太小。宝塔面板里都能调。调完重启PHP和MySQL,再压一次,数字会好看很多。 别迷信“WordPress慢是原罪”。我见过同一台1核1G的机器,优化完能扛住50并发。也见过4核8G的机器,装了一堆垃圾插件,10并发就502。测,就是把这些遮羞布扯下来。 测完这些,你的WordPress才算真正能用了。剩下的,才是折腾主题和插件的事。 |