最近发现源站压力较大(水管太小)于是想着把WordPress博客的图片等静态资源分离到二级域名中,二级域名再使用一次云盾免费加速CDN,达到动静分离的效果,在这个过程中遇到一些坑,特此记录一下,方便大家直接使用!
1 本站情况
一级域名使用WordPress搭建,搭配使用了云盾的免费CDN加速
二级域名空白站点,使用FTP同步文件,搭配使用云盾的免费CDN加速
2 配置教程
2.1 域名解析
首先在云盾控制台添加一条二级域名,然后联系客户审核,审核通过即可进行下一步解析
云盾的详细教程可以参考缙哥哥博客中的文章:点击前往
![图片[1]-WordPress使用二级域名存储图片等静态资源达到网站加速的详细配置-北忘山博客](https://cdn.beiwangshan.com/uploads/2022/10/ac0fdeb1d9002231.png)
然后打开自己的域名购买商,解析一条二级域名到源站,类型为CNAME,值为云盾中的值(如果不使用云盾,就解析A记录到源站)
![图片[2]-WordPress使用二级域名存储图片等静态资源达到网站加速的详细配置-北忘山博客](https://cdn.beiwangshan.com/uploads/2022/10/f8bb7c3d1b002538.png)
2.2 创建站点
接着在宝塔面板添加一个二级网站,数据库不需要,但是需要创建FTP,安装FTP软件和配置参考后面的教程
![图片[3]-WordPress使用二级域名存储图片等静态资源达到网站加速的详细配置-北忘山博客](https://cdn.beiwangshan.com/uploads/2022/10/3bdb540c5c002813.png)
2.3 FTP配置
宝塔安装FTP工具
![图片[4]-WordPress使用二级域名存储图片等静态资源达到网站加速的详细配置-北忘山博客](https://cdn.beiwangshan.com/uploads/2022/10/e8fcce2d07003352.png)
然后进去修改配置
找到【配置修改】,在搜索:PassivePortRange,修改为:
PassivePortRange 39000 40000
搜索:ForcePassiveIP,修改后面的IP为自己公网IP,去掉ForcePassiveIP前面的 #
然后重启FTP服务
2.4 开放FTP端口
以下端口需要在宝塔和服务器供应商安全组处打开,以阿里云为例
分别打开 21(FTP协议默认端口)、30000-40000端口(FTP被动模端口范围)
![图片[5]-WordPress使用二级域名存储图片等静态资源达到网站加速的详细配置-北忘山博客](https://cdn.beiwangshan.com/uploads/2022/10/90d288b8c4004459.png)
2.5 修改wordpress默认上传路径
WordPress版本更新后,隐藏了上传路径的设置,需要在主题functions文件中添加下面的代码打开
//找回上传设置
if(get_option('upload_path')=='wp-content/uploads' ||get_option('upload_path')==null) {
update_option('upload_path',WP_CONTENT_DIR.'/uploads');
}
然后刷新后台设置中的媒体设置界面就可以看到
![图片[6]-WordPress使用二级域名存储图片等静态资源达到网站加速的详细配置-北忘山博客](https://cdn.beiwangshan.com/uploads/2022/10/6775618db5005122.png)
这里需要将文件的完整URL地址替换为二级域名下面的上传路径,例如北忘山的上传路径是二级域名下面的uploads文件夹下
2.6 安装FTP同步插件
这里我们需要安装一个Hacklog远程附件插件,全称是:Hacklog Remote Attachment
官网地址:点击前往
启用插件后,点击仪表盘菜单的设置→Hacklog远程附件,可以参考北忘山的配置
![图片[7]-WordPress使用二级域名存储图片等静态资源达到网站加速的详细配置-北忘山博客](https://cdn.beiwangshan.com/uploads/2022/10/36850b5927005555.png)
这里配置之后会显示FTP连接状态,若是异常,则需要检查是否FTP正确
2.7 同步文件到二级域名
在宝塔中,将主域名下面的 /wp-content/ 下面的 uploads 文件夹整个复制(或剪切)到二级域名根目录
2.8 更新数据库图片地址
这个操作前务必备份数据库。
替换工作可以使用sql也可以使用插件,使用sql如下:
UPDATE wp_posts SET post_content = REPLACE(post_content, 'https://www.改成你的域名.com/wp-content/uploads' , 'https://改成你的二级域名.com/uploads');
UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'https://www.改成你的域名.com/wp-content/uploads' , 'https://改成你的二级域名.com/uploads');
UPDATE wp_options SET option_value = REPLACE(option_value, 'https://www.改成你的域名.com/wp-content/uploads' , 'https://改成你的二级域名.com/uploads');
使用插件可以安装WPReplace批量替换插件
全称:WPReplace
插件主页:点击前往
2.9 测试媒体上传
打开媒体库,检查已上传媒体是否显示,若不显示,检查2.5和2.6节的URL完整地址是否正确。
然后上传一张图片,上传完成应该可以打开即可!
![图片[8]-WordPress使用二级域名存储图片等静态资源达到网站加速的详细配置-北忘山博客](https://cdn.beiwangshan.com/uploads/2022/10/a3b83aa8e2010551.png)
若上传提示错误,检查FTP配置是否正确即可!并且需要多多检查端口开放。
![图片[9]-WordPress使用二级域名存储图片等静态资源达到网站加速的详细配置-北忘山博客](https://cdn.beiwangshan.com/uploads/2022/10/c1eaebfaf5091615.png)
上传之后,不会再原来的 uploads目录下存在文件了!
至此,完整的教程结束,希望能够帮助到你!若有问题,可以在下方讨论!
3 待解决问题
目前发现,配置二级域名之后,图片水印插件Easy Watermark无法正常对上传文件进行添加水印的操作,后续再研究下,如果你有好的解决办法,不妨提供给博主!
暂无评论内容