倚楼听风雨
淡看江湖路

lnmp 环境下的 WordPress 服务器以及网站优化总结

上一篇老四写了一些关于建站部署,网站迁移的一些知识,详情戳《记一次网站迁移全过程,单服务器单 IP 双域名搭建 lnmp 架构实现 WordPress 与 Discuz! 并存》了解。其实由于经验不足,老四也是一直在探索当中。建站部署之后我们更多的就是需要关注网站的一些安全以及性能优化,毕竟如果初次建站服务器的配置一般都比较低,随着网站的发展我们也希望用当前的配置来满足最大的访问量,所以优化是必不可少的一步。此篇文章根据上篇文章的基础,进行优化补充,主要写一些建站后的站点优化工作,关于 WordPress 的,希望能对某些站长有一些帮助。

网站优化数据库

其实数据库的优化我们一般不需要做太多,经常做一下表的优化和表的修复就好(repair 和 optimize 命令)。剩下的按照 PhpMyAdmin 的建议来即可,另外不建议开启 MySQL 的查询缓存,没什么用。另外新手们经常可能遇到数据库的问题类似于「mysql.sock(Can't connect to local MySQL server through)」这样 MySQL 本地套接字文件丢失的问题。关于这个问题,老四再一次完善了《如何彻底解决mysql.sock(Can't connect to local MySQL server through)丢失的问题?非网上各种瞎哔哔的解决方式》这篇文章,那里面有一个终极杀招就是写脚本来监控 mysql.sock 文件,当文件丢失的时候进行重启操作,详情可以前往参考一下。

PHPMyAdmin 配置教程

安装教程我就不说什么了,网上一大堆,简单的写一下 PHPMyAdmin 使用之前的配置项,保证使用安全。

  1. 找到 phpmyadmin/libraries/config.default.php,将该文件拷贝至 phpmyadmin 目录下并重命名为 config.inc.php,该文件里有以下几项需要配置。
  2. $cfg['PmaAbsoluteUri'] = '访问地址'; // phpmyadmin 所在的地址
    $cfg['Servers'][$i]['host'] = 'localhost'; // 设定 MySQL 所在的主机名或IP地址
    $cfg['Servers'][$i]['auth_type'] = 'cookie'; // 在本机调试用 config,否则不用 cookie,这里建议用 cookie
    $cfg['Servers'][$i]['user'] = 'user'; // 设定 MySQL 的用户名
    $cfg['Servers'][$i]['password'] = 'password'; // 设定 MySQL 的用户密码
    $cfg['DefaultLang'] = 'zh-utf-8'; // 设定默认语言
  3. 将 phpmyadmin 根目录改名,为了安全,以防爆破,请求地址就是加上「/自定义根目录名称」即可。

服务器相关优化

设置 Swap 分区

Linux 中的 Swap 分区概念类似于 Windows 中的虚拟内存,就是拿磁盘中的一块存储空间来当做内存使用,这样的话可以保证内存使用超标的时候不崩溃,但是因为内存与硬盘传输速度差距极大的原因,我们并不能将 Swap 分区设置的太大,反而影响性能。

首先使用 free -m 查看服务器是否设置了 swap 分区,如下图所示,如果下面 swap 那一行值全为 0 的话就代表还没有设置 Swap 分区。https://ae01.alicdn.com/kf/HTB1PD..dlGw3KVjSZFw762Q2FXaJ.png

设置方法如下:

  1. 进入 var 文件目录
  2. 获取 512MB 的文件块(一般设置为内存的一半或相等即可)
  3. 创建 Swap 文件
  4. 激活 Swap 文件
  5. 为了安全,建议修改一下权限
  6. 将 swapfile 添加到 fstab 文件中,开机自动启动
  7. 我们要尽量避免使用 Swap 分区,设置使系统尽可能的优先使用物理内存。

Nginx 相关优化

其实 lnmp 体系中 Nginx 的优化如果涉及到具体的参数调优,一般都是大流量进来,进行激进的优化。如果初建站的话,只需要配置一下基本的设置就好。除了基本的配置以外,老四还会写一下配置 Nginx fastcgi_cache 缓存来为网站加速。

  1. 使用 Nginx 开启 gzip 压缩
  2. worker_processes 设置为服务器的 CPU 核心数
  3. 设置 events
  4. 隐藏 nginx 版本号

以上是基本的配置,除此之外还有一个日志格式化的自定义,因为这个就是与自定义行为了,所以老四就不写了,也不算是优化,如果不会呢就是用默认的日志打印格式即可。以上四点的配置示例参考下面代码:

配置 Nginx fastcgi_cache 缓存

缓存顾名思义就是把我们的 wp 站点的文章缓存起来,因为每一篇文章、页面或者类目基本都是不怎么变化的,即使变化我们即使更新缓存就好了。所以设置缓存能让我们尽最大可能的避免进行数据库的交互,从而提高网站的响应性能。Nginx 一直都是支持缓存机制的,只不过是清除缓存的功能只有商业版才有。

一、配置 Nginx fastcgi_cache 缓存加速模块:ngx_cache_purge

添加 Nginx 模块需要重新编译 nginx,老四之前的 Nginx 安装时编译安装,安装步骤可以参考文章开头页的那篇文章。添加 ngx_cache_purge 模块步骤如下:

  1. 下载 ngx_cache_purge-2.3.tar.gz
  2. 解压
  3. 配置模块安装
  4. 编译安装

二、nginx.conf 配置文件新增如下配置

三、配置 Nginx-Helper 插件

以上 Nginx 的缓存配置就算是配置好了,重启之后可以找一个页面进行测试,刷新两次,发现响应信息中如果存在「X-Cache: HIT」就代表成功了。这里面 X-Cache 的值有三个:

  1. MISS 表示未命中
  2. BYPASS 表示缓存黑名单
  3. HIT 表示缓存命中

lnmp 环境下的 WordPress 服务器以及网站优化总结的图片-高老四博客 第1张

接下来就是配置清除缓存的插件,Nginx-Helper,前面说过,因为 Nginx 只有商业版才支持,所以我们基本不用,但是 WordPress 中为我们提供了一个非常不错的专门清除 Nginx 缓存的插件(后台搜索即可安装),安装之后进行一下配置就可以了。

lnmp 环境下的 WordPress 服务器以及网站优化总结的图片-高老四博客 第2张

这里有个注意点需要注意一下,这个 Nginx-Helper 插件默认的清除路径是「/var/run/nginx-cache」,如果你上面的配置文件配置的是这个缓存目录那就不需要修改,如果不是,那就需要在 WordPress 根目录下的 wp-config.php 中新增如下代码:

另外,在注意一下,很多人都愿意将缓存目录设置在「/tmp」目录当中,但是某些 CentOS 版本安装了 PHP 之后,这个目录进行存在类似 systemd-private-0191511d5b2b4f7c824db0b83b251053-php-fpm.service-C1DFOW 这样的目录,php-fpm 在管理 php 的时候将一些临时服务放在了这里,所以将该目录进行了保护,也就是说当使用 php 语法操作这个目录的时候实际上会转换为一个乱码七糟的路径导致文件找不到,这样会导致清除缓存失败,自己注意一下。

PHP 相关优化

其实 PHP 优化我觉得没有太多需要优化的,可能我了解也不多,遇到的问题也少一些,设置了一下两点:

  1. max_execution_time = 300
  2. memory_limit = 128M

前者表示允许脚本最大执行时间 300 秒,后者表示允许单个脚本允许使用的最大内存 128M(通常 1G 内存以下设置 64M 或 128M 即可)。

WordPress 优化

去掉谷歌字体

目录:wp-includes\script-loader.php

新增如下代码:

关闭日志自动修订,自动保存草稿等没啥用的功能

这些功能真心没什么用,如果用自带编辑器进行创作的话注意一下及时保存就好,没必要自动保存,确实很拖慢网站速度,所以我们把它干掉。

禁用文章修订历史版本

wp 根目录下的 wp-config.php 文件最上方新增如下代码:

禁用自动保存功能

一、打开 wp-admin/post.php 文件,注释下图所示代码:

wp禁用自动保存功能 第3张

二、打开 wp-admin/post-new.php 文件,注释下图所示代码:

lnmp 环境下的 WordPress 服务器以及网站优化总结的图片-高老四博客 第4张

三、禁用自动草稿功能

打开 wp-admin/includespost.php 文件,按照如下图示修改:

lnmp 环境下的 WordPress 服务器以及网站优化总结的图片-高老四博客 第5张

本文会随着老四的优化经验不断更新,如果有路过的大佬也请不吝指点批评,让我们共同进步。

更博不易,如果觉得文章对你有帮助并且有能力的老铁烦请捐赠盒烟钱,点我去赞助。或者扫描文章下面的微信/支付宝二维码打赏任意金额(点击「给你买杜蕾斯」),也可扫描小站放的支付宝领红包二维码,线下支付享受优惠的同时老四也可以获得对应赏金,老四这里抱拳谢谢诸位了。捐赠时请备注姓名或者昵称,因为您的署名会出现在赞赏列表页面,您的捐赠钱财也会被用于小站的服务器运维上面,再次抱拳感谢。

赞(6) 给你买杜蕾斯
本站原创文章受自媒体平台原创保护,未经允许不得转载高老四博客 » lnmp 环境下的 WordPress 服务器以及网站优化总结
分享到: 更多 (0)
4万+首WAV无损音乐仅需 28 元 赠送24bit合集、DSD音乐、歌手合集、欧美影视原声及本站发布过的音乐

开始你的表演 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下老四,鼓励我更好的创作

支付宝扫一扫打赏

微信扫一扫打赏