wordpress网站更换域名,重新申请域名证书
wordpress修改域名比较简单,不要有心理负担,但一个原则是动库之前必须备份,自行备份好数据库,可以用BackUpWordPress这款插件,直接wordpress插件内搜索在线安装即可,主要是修
wordpress修改域名比较简单,不要有心理负担,但一个原则是动库之前必须备份,自行备份好数据库,可以用BackUpWordPress这款插件,直接wordpress插件内搜索在线安装即可,主要是修改wordpress的文章/评论/媒体文件等内容的域名,达到完全替换的目的,本教程的内容如下:
- 替换数据库中的旧域名
- 重新申请新域名的证书(如果你是acme.sh申请的证书需要这一步,如果你可以从其他地方拿到新域名的证书,不需要这一步,只需保证证书在nginx可用即可)
- 重新配置一下nginx里的域名
1、替换数据库中的旧域名
例如你的旧域名是http://www.old.com,新域名是http://www.new.com
首先找到你的mysql数据库密码,可以查看一下wordpress目录下的wp-config.php,里面找一下数据库密码
cat /usr/share/nginx/html/wp-config.php
查看数据库密码,如下图
然后登录mysql
mysql -u root -p
输入数据库密码,登录后选择wordpress的数据库,如果是本站教程,那么数据库是wordpress_db,如果不是则自行找一下
use wordpress_db;
执行以下四条语句
UPDATE wp_options SET option_value = replace(option_value, www.old.com,www.new.com) ;
UPDATE wp_posts SET post_content = replace(post_content, www.old.com ,www.new.com) ;
UPDATE wp_comments SET comment_content = replace(comment_content, www.old.com, www.new.com) ;
UPDATE wp_comments SET comment_author_url = replace(comment_author_url, www.old.com, www.new.com) ;
2、重新申请新域名的证书(如果之前是acme.sh自动申请证书的才需要)
我们使用standalone模式来申请,首先停止nginx的运行
systemctl stop nginx
首先安装acme.sh
curl https://get.acme.sh | sh
然后申请证书,新域名为http://www.new.com
~/.acme.sh/acme.sh --issue -d www.new.com --standalone
然后将证书安装到nginx里的证书存放位置(如果是使用我的这篇文章的一键脚本搭建,路径可以一致,如果是其他方式搭建,一定要修改成你真实的key和cer的路径)
~/.acme.sh/acme.sh --installcert -d www.new.com --key-file /etc/nginx/ssl/www.new.com.key --fullchain-file /etc/nginx/ssl/fullchain.cer
3、重新配置nginx里的域名信息
首先打开nginx配置文件
vi /etc/nginx/conf.d/default.conf
然后按键盘i键进入编辑模式,修改旧域名为新域名,修改新的证书的路径,注意key的名称可能变了
然后按键盘ESC键,输入:wq,回车,保存文件,然后重启nginx即可
systemctl restart nginx
4、证书自动续签
因为上面证书申请是standalone模式,因为nginx运行可能无法续签成功,我们再使用nginx模式,重新申请一下,之后就可以自动续签了(注意域名是http://www.new.com,执行命令时需要全部替换)
~/.acme.sh/acme.sh --issue --force -d www.new.com --nginx
~/.acme.sh/acme.sh --installcert -d www.new.com --key-file /etc/nginx/ssl/www.new.com.key --fullchain-file /etc/nginx/ssl/fullchain.cer --reloadcmd "systemctl restart nginx"