最近由于ECS经常出现数据库连接失败致使了解一些优化手段,不过没有多少空闲时间,所以先直接切换成占用内存较少的 Nginx,后面再考虑用非面板的 LNMP 环境并做一些优化,性能上应该可以更好。目前来说,512M 的 ECS 内存占用由原来使用 Apache 剩余 20+M 到现在切换成 Nginx 可以有 140M 左右的空闲内存。
内存使用:总:488.94 MB 已用: 349.39 MB 剩余:139.55 MB
不过在切换成 Nginx 时也遇到一个棘手的问题,那就是伪静态一直更改失败,官方推荐的方法也只能访问 www.domain.com/postname/
类似的固定链接,对于 www.domain.com/postname.html
方式的链接一直是 404,怀疑是某些配置问题。
location / { try_files $uri $uri/ /index.php?$args; }
设置无果后又切换回 Apache,不过放了一两天又出现数据连接失败,所以还是找了一下解决方案,最终终于发现一个可用规则。
rewrite ^.*/files/(.*)$ /wp-includes/ms-files.php?file=$1 last; if (!-e $request_filename) { rewrite ^.+?(/wp-.*) $1 last; rewrite ^.+?(/.*\.php)$ $1 last; rewrite ^ /index.php last; }
原因可能是没有index.php
权限来处理静态文件的转向问题。顺便说下 WDCP 的 Nginx 规则添加。
进入WDCP后台,在左侧导航中的网站管理 -> rewrite规则管理 -> 添加
,文件名类似sawlove_nginx.conf
,内容为伪静态规则。然后就可以在新建站点或站点列表中选择要添加的网站进行编辑,并在支持rewrite
选择刚才创建的文件。最后使用 putty 输入命令service nginxd restart
,重启 Nginx 服务成功后就可以刷新下页面查看。