1987WEB视界-分享互联网热门产品和行业

您现在的位置是:首页 > 域名 > 正文

域名

wordpress网站更换域名,重新申请域名证书

1987web2022-12-30域名285
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"