=Start=
缘由:
我买VPS的一个初衷就是搭建一个属于自己的博客,博客系统我还是习惯用WordPress,简单、易用还比较安全。
正文:
1.Nginx相关
Nginx主配置文件:/etc/nginx/nginx.conf
Nginx默认配置文件目录:/etc/nginx/conf.d/
Nginx默认站点主目录:/usr/share/nginx/html/
Nginx默认日志目录:/var/log/nginx/
2.MySQL相关
/etc/my.cnf
3.PHP相关
PHP配置文件:/etc/php.ini
php-fpm配置文件:/etc/php-fpm.d/www.conf
==
Web目录由Nginx配置文件的 root 指令进行设置;
- http://nginx.org/en/docs/http/ngx_http_core_module.html#root
- https://zhongwuzw.github.io/2016/09/24/%E8%B0%83%E6%95%B4Nginx%E7%9A%84%E7%BD%91%E7%AB%99%E6%A0%B9%E7%9B%AE%E5%BD%95/
- https://fraserxu.me/2013/06/22/Nginx-for-developers/
- http://seanlook.com/2015/05/17/nginx-install-and-config/
=END=
《 “CentOS 7 设置-Step4.在 CentOS 7 上配置 WordPress” 》 有 15 条评论
本博客 Nginx 配置之安全篇
https://imququ.com/post/my-nginx-conf-for-security.html
Nginx服务器相关的一些安全配置建议
http://www.jb51.net/article/68471.htm
20步打造最安全的Nginx Web服务器
https://www.centos.bz/2011/03/20-steps-to-create-the-best-secure-nginx-web-server/
https://www.cyberciti.biz/tips/linux-unix-bsd-nginx-webserver-security.html
Linux服务器下nginx的安全配置
http://www.web520.cn/archives/18269
Linux/VPS环境下Nginx安全配置小记(1)
http://wangye.org/blog/archives/248/
服务器安全配置指南
http://blog.shaojike.com/2015/06/15/serversec/
NGINX安全性配置
http://ju.outofmemory.cn/entry/292733
Nginx Security For Ubuntu16.04
https://yazidchen.github.io/2016/11/14/NginxSecuritySettingOnUbuntu/
Nginx 安全增强
https://nrechn.de/post/nginx-enhance-security/
配置Nginx,安全+性能?!
https://www.futures.moe/writings/configure-nginx-with-security-and-effective-yes-or-no.htm
Nginx 配置 HTTPS 服务器
https://aotu.io/notes/2016/08/16/nginx-https/
Nginx常用Rewrite(伪静态规则)WordPress/PHPCMS/ECSHOP/ShopEX/SaBlog/Discuz/DiscuzX/PHPWind/Typecho/DEDECMS
https://www.vpser.net/manage/nginx-rewrite.html
WordPress 伪静态规则(IIS/Apache/Nginx)
https://www.wpdaxue.com/wordpress-rewriterule.html
Nginx环境配置WordPress伪静态规则
https://www.duoluodeyu.com/1066.html
WordPress Apache伪静态规则
https://www.wpyou.com/wordpress-apache-rewrite.html
WordPress 伪静态规则设置:Apache和Nginx,以及二级目录规则
https://www.cuikaiyun.cn/wordpress-apache-nginx.html
https://www.xqblog.com/14387.html
https://themebetter.com/wp-url-rewrite.html
WordPress搬家后点开某个网页出现404 no found的解决方法
https://blog.csdn.net/qq_18383475/article/details/80252342
无忧主机原创:总结WORDPRESS网站迁移方法(完美终结篇)
http://www.51php.com/wordpress/5570.html
利用WordPress自带导入/导出来完成WordPress的迁移
方法一:修改 php.ini 的配置以增大文件大小的限制
http://wordpress.stackexchange.com/questions/113055/import-wordpress-xml-file-larger-than-8mb/123417#123417
方法二:将大xml文件切分成小的xml文件分多次导入
http://wordpress.stackexchange.com/a/118934
方法三:使用wp-cli这个命令行工具
http://wordpress.stackexchange.com/a/242534
http://wp-cli.org/commands/import/
https://github.com/wp-cli/wp-cli
PHP 7 的配置和优化(主要在于opcache的启用和配置)
http://php.net/manual/en/opcache.installation.php#opcache.installation.recommended
http://www.laruence.com/2015/12/04/3086.html
`
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1
opcache.file_cache=/tmp
`
http://blog.wpoven.com/2016/03/31/php-5-6-vs-php-7-wordpress-sites-nginx/
WordPress性能优化
基本优化`
Memcached/Redis:让 WordPress 使用 Memcached/Redis 进行内存缓存加速。
Opcache:使用 Opcache 进行 PHP 代码编译加速优化。
动静态分离:把 WordPress 站点静态资源(JS,CSS,图片)用 CDN 加速。
`
深度优化`
减少页面SQL次数
`
利用nginx的fastcgi_cache缓存加速WordPress
https://www.centos.bz/2018/02/%E5%88%A9%E7%94%A8nginx%E7%9A%84fastcgi_cache%E7%BC%93%E5%AD%98%E5%8A%A0%E9%80%9Fwordpress/
`
添加ngx_cache_purge模块
修改ngxin配置
安装Nginx-helper插件
`
手动安装WordPress插件
https://codex.wordpress.org/zh-cn:%E7%AE%A1%E7%90%86%E6%8F%92%E4%BB%B6#.E6.89.8B.E5.8A.A8.E5.AE.89.E8.A3.85
https://www.wpdaxue.com/install-wordpress-theme-and-plugin.html#方法三:通过FTP上传安装
WordPress安装插件的几种方法
https://www.xiaoz.me/archives/4089
http://www.yiibai.com/wordpress/wordpress_install_plugins.html
`
方法一:在线搜索安装
访问后台 – 插件 – 安装插件,输入关键词搜索然后安装。
方法二:在线上传主题文件安装
这是用的比较多的方法。访问后台 – 插件 – 安装插件 – 上传,选择本地 .zip 格式的插件包,然后安装。
方法三:通过FTP上传主题
如果没办法通过上面的方法安装,那你可以通过FTP连接主机空间,将创建包解压后,上传到 /wp-content/plugins 目录,然后访问后台 – 插件 – 已安装的插件,就可以启用插件了。
`
设置wordpress维护模式
https://ideas.spkcn.com/technology/web/750.html
WordPress 4.6远程代码执行漏洞分析
http://www.freebuf.com/vuls/133849.html
WordPress 4.6远程代码执行漏洞(CVE-2016-10033)复现环境搭建指南
http://www.freebuf.com/vuls/133860.html
【更新WordPress 4.6漏洞利用PoC】PHPMailer曝远程代码执行高危漏洞(CVE-2016-10033)
http://www.freebuf.com/news/123945.html
WordpPress 4.7 无需登录即可利用的密码重置漏洞(CVE-2017-8295)
https://exploitbox.io/vuln/WordPress-Exploit-4-7-Unauth-Password-Reset-0day-CVE-2017-8295.html
http://www.freebuf.com/vuls/133816.html
WordPress PHPMailer RCE 批量检测poc
https://landgrey.me/wordpress-phpmailer-rce-poc/
https://exploitbox.io/vuln/WordPress-Exploit-4-6-RCE-CODE-EXEC-CVE-2016-10033.html
https://github.com/phith0n/vulhub/tree/master/wordpress/phpmailer-rce
Fix for Crayon Syntax Highlighter WordPress Plugin and PHP 7.3 Fatal Error
https://crunchify.com/fix-for-crayon-syntax-highlighter-wordpress-plugin-and-php-7-3-fatal-error/
https://github.com/Crunchify/crayon-syntax-highlighter/commits/2.8.6
`
Warning: preg_replace(): Compilation failed: invalid range in character class at offset 4 in ./wp-content/plugins/crayon-syntax-highlighter/crayon_langs.class.php on line 340
Uncaught Error: Call to a member function id() on array in ./wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php
`
WordPress安全防护 你可以做这些事情
https://themeforwp.net/archives/wordpress-security/
`
一个强大的管理员密码
登陆次数限制
修改登录地址
保持WordPress最新版本
不安装来源不明的主题插件
网站防火墙
定期备份站点
如果能够做到以上几点,你的WordPress就已经很难被攻击了,其实如果没有第三方插件的话,WordPress本身还是非常安全的,只要做好备份,平常使用时完全不用担心。
`
WordPress插件
https://codex.wordpress.org/zh-cn:%E7%AE%A1%E7%90%86%E6%8F%92%E4%BB%B6#.E6.89.8B.E5
question
WordPress升级到新版本需要注意什么?
answer
升级 WordPress 是保持网站安全、稳定和功能先进的关键步骤,但操作不当可能导致网站崩溃或数据丢失。以下是升级 WordPress 到新版本时需要注意的**核心事项和详细步骤**:
—
### 🔴 **升级前:至关重要的准备工作**
#### 1. **完整备份网站(绝对必要!)**
– **文件备份**:通过 FTP/SFTP 或主机控制面板备份整个 WordPress 网站目录(特别是 `wp-content` 文件夹,包含主题、插件和上传的媒体文件)。
– **数据库备份**:使用 phpMyAdmin、`mysqldump` 命令或可靠的备份插件(如 UpdraftPlus、BackWPup)导出完整的数据库。
– **验证备份**:确保备份文件完整且可以恢复。这是防止灾难的唯一保障。
#### 2. **检查 PHP 和 MySQL 版本兼容性**
– **PHP**:WordPress 新版本通常要求较新的 PHP 版本(如 7.4+,推荐 8.0+)。在 `wp-admin` 后台查看“工具”>“站点健康”>“信息”>“服务器”。
– **MySQL**:建议运行 MySQL 5.6+ 或 MariaDB 10.0+,**强烈推荐 MySQL 8.0 或更高版本**以获得最佳性能和安全。
– **升级环境**:如果版本过低,请先升级服务器环境。
#### 3. **检查主题和插件兼容性**
– **停用插件**:在测试环境中,先停用所有非必要插件,逐一测试与新 WordPress 版本的兼容性。
– **主题兼容性**:确保您使用的主题(尤其是付费主题)支持新版本。可暂时切换到默认主题(如 Twenty Twenty-Four)进行测试。
– **更新插件和主题**:在升级 WordPress 前,确保所有插件和主题都已更新到最新版本。
#### 4. **在测试环境先行测试(强烈推荐)**
– 将您的网站克隆到一个子域名或本地开发环境(如 Local by Flywheel, XAMPP)。
– 在测试环境中执行升级,检查所有功能(表单、购物车、会员系统等)是否正常。
#### 5. **通知相关人员**
– 如果是团队管理的网站,提前通知团队成员即将进行维护。
—
### 🟡 **升级中:安全执行升级**
#### 方法 1:后台自动更新(适用于大多数用户)
1. 登录 WordPress 后台 (`/wp-admin`)。
2. 如果有新版本,仪表盘会显示更新通知。
3. **强烈建议先备份**,然后点击“立即更新”。
4. 等待更新完成,不要关闭页面或刷新。
#### 方法 2:手动更新(适用于自动更新失败或重要网站)
1. 从 [WordPress.org](https://wordpress.org/download/) 下载最新版本的 `.zip` 包。
2. 解压文件,通过 FTP 上传 `wp-admin` 和 `wp-includes` 文件夹,以及根目录下的所有 `wp-*.php` 文件,**覆盖**旧文件。
3. **不要删除或覆盖** `wp-content` 文件夹和 `wp-config.php` 文件。
4. 访问 `wp-admin`,如果提示更新数据库,按提示操作。
> **注意**:手动更新更可控,适合对服务器有完全控制权的用户。
—
### 🟢 **升级后:验证与维护**
#### 1. **检查网站功能**
– 访问网站首页和内页,确保没有错误(如 500 错误、白屏)。
– 测试核心功能:登录、发布文章、评论、表单提交等。
– 检查前端样式是否正常,图片是否显示。
#### 2. **更新 WordPress 数据库(如果提示)**
– 升级后,WordPress 可能会提示“需要更新数据库”,点击“更新”即可。
#### 3. **重新启用并测试插件**
– 逐一重新启用插件,并检查网站是否正常。
– 如果某个插件导致问题,联系开发者或寻找替代品。
#### 4. **清除缓存**
– 清除任何缓存(浏览器缓存、WordPress 缓存插件、CDN 缓存、服务器 OPcache)。
#### 5. **检查 SEO 和链接**
– 使用工具检查是否有 404 错误。
– 验证 RSS 订阅、XML 站点地图是否正常。
#### 6. **监控日志**
– 查看服务器错误日志 (`/var/log/httpd/error_log` 或 `/var/log/nginx/error.log`) 和 PHP 错误日志,排查潜在问题。
—
### 🛡️ **安全与最佳实践**
– **不要跳过小版本**:WordPress 的小版本(如 6.4.3 到 6.4.4)通常是安全修复,应立即更新。
– **定期更新**:养成定期检查更新的习惯,避免长期不更新导致大版本跳跃。
– **使用安全插件**:安装如 Wordfence、Sucuri 等安全插件,监控网站健康。
– **强密码和双因素认证**:保护管理员账户。
– **限制登录尝试**:防止暴力破解。
—
### 🚨 **如果升级失败怎么办?**
1. **立即恢复备份**:使用 FTP 上传旧的 WordPress 文件,并用备份的 SQL 文件恢复数据库。
2. **检查错误日志**:根据错误信息排查(如内存不足、PHP 版本过低)。
3. **手动降级**:从 WordPress 官网下载旧版本,手动覆盖文件。
4. **寻求专业帮助**:如果无法解决,联系主机商或 WordPress 开发者。
—
### ✅ 总结:升级 WordPress 的黄金法则
| 阶段 | 关键操作 |
|——|———-|
| **升级前** | 备份!检查兼容性!测试环境! |
| **升级中** | 使用自动或手动更新,保持网络稳定 |
| **升级后** | 测试功能!清除缓存!监控日志! |
遵循这些步骤,您可以最大限度地降低风险,确保 WordPress 升级过程安全、顺利。