WordPress手动更新及迁移服务器

一、前言

博主的腾讯云服务器又又又要到期了,这几年服务器都在阿里云和腾讯云之间反复横跳,原因是开始买了阿里云的学生机,发现买了之后带宽是固定的,只有1M,每天被这个低带宽给折磨,在把一年的期限用完后,转向了腾讯云,虽然腾讯云的学生机的带宽同样也是1M但是在购买后可以将带宽从固定带宽的1M转为按量计算的最高200M,就是多了一点点流量钱(好像是0.8元/G),但是同样面临一个问题,学生机的最大购买时间是1年,在购买后,更改带宽后不享受学生机的优惠,就等于是你每次买了一年服务器后,必须要等他过期后,再次购买一年同时更改带宽,太苦逼了,好在可以创建自定义镜像,在重新买的时候用自定义镜像创建实例,数据可以全部保留下来。最近阿里云又出了叫做轻量服务器的一个产品,配置什么的跟学生机差别不大,亮点在于它的带宽是5M的(真抠门),但是它不能与阿里云的其他产品联动,比如OSS,阿里的数据库之类的,相当于你就买了一个服务器,其他产品与你与你无关。

二、wordpress手动更新教程

废话说了这么多,来讲重点吧,我的wordpress常年没有更新,本来想在迁移到其他服务器之前更个新,结果一直报错,于是就想着手动更新,网上教程各种各样,被坑了好多次,所以决定写个教程。

数据无价 !在操作之前请务必备份一次wordpress目录下的所有文件。

首先去wordpress官网下载最新的安装包,地址如下:https://wordpress.org/latest.zip,若是不想更新最新版,在此选择需要的版本: https://wordpress.org/download/releases/

接下来将压缩包解压,将解压后的文件中的wp-content文件夹删除(此文件夹包括主题和工具)然后用sftp进入wordpress的根目录,删除旧的wp-includes文件夹和wp-admin文件夹,把下载的最新版的所有文件(不包括 wp-content文件夹 )覆盖到wordpress的根目录,完成之后,进入 https://example.com/wp-admin/upgrade.php 里进行数据库的升级,这时wordpress会自动识别更新的文件,很快就更新好了。到这里wordpress手动更新就完了。

三、wordpress迁移服务器

因为准备换服务器了,不用腾讯云的服务器,所以准备做一次迁移,网上有各种方法,这里讲一种最快和靠谱一点的方法。

迁移服务器分两种:1.更改域名的,需要更改域名的,在完成以下操作后,进行一次数据库的更改域名,详情参考第五步。2.不更改域名的,按照以下步骤操作即可。

数据无价 !在操作之前请务必备份一次wordpress目录下的所有文件。

1.首先呢,把你的blog下的所有文件备份保存在本地,这里尽量用打包压缩的方法备份保存,直接用ftp复制到本地可能会出现文件损坏的情况。使用tar命令进行打包,前面目录为打包到的路径,后面为需要打包的文件夹。


 tar -czvf /www/blog.tar.gz /www/wwwroot/blog

2.将打包后的包上传到本地,解压以备用。

3.进入旧服务器的MYSQL数据库中(其他数据库也是一样),进入到你的blog的库,然后点击导出,导出为SQL格式的,下载到本地。

4.接下来,在新服务器中,创建一个数据库,记好数据库名和账号密码(最好与旧服务器中保持一致,不一致后续再来配置),进入数据库,将刚刚下载到本地的.sql文件,导入到刚刚创建的数据库中。

5. 先在控制面板中创建中创建一个用于wordpress的站点,进入到新服务器的wordpress目录,将第二步中解压的全部文件复制进去,待完后后,打开根目录下的wp-config.php文件进行配置。将第四步创建好的数据库信息填入。


/** MySQL数据库用户名 */
 define('DB_USER', '');

/** WordPress数据库的名称 */
define('DB_NAME', '');

/** MySQL数据库密码 */
define('DB_PASSWORD', '');

 

如果要在同一数据库内安装多个WordPress的需求,请检查数据表的前缀是否与之前数据库中的一致。


/**WordPress数据表前缀。 **/
$table_prefix = 'wp_';

 

5.配置好config后,迁移工作基本就做完了。若是更改了域名的,需要进入数据库执行一下语句来替换旧域名到新域名,ps:新域名前面最好加上http或者https。


UPDATE wp_options SET option_value = REPLACE(option_value, '旧域名', '新域名') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET post_content = REPLACE(post_content, '旧域名' , '新域名');
UPDATE wp_posts SET guid = REPLACE(guid, '旧域名' ,'新域名');

 

6.以上步骤全部完成后,进入你的站点域名,即可看到迁移后的wordpress网站。

FAQ:1.步骤完成后无法通过域名访问站点

  • 请检查域名解析是否正确
  • 请检查更改数据库中的域名时的新旧域名是否正确

             2.wordpress的文章数据不正确数据

  • wp-config.php中的数据库信息是否正确
  • 数据表的前缀(通常是wp_)是否有更改。