• 首页
  • 前端
    • HTML
    • CSS
    • Javascript
    • XML
    • AJAX
  • 前端框架
    • BootStrap
    • Jquery
  • PHP
    • 语法
    • 核心
    • 面向对象
    • PHP7
    • Socket
    • Swoole
  • 数据库
    • Mysql
    • Redis
    • Memcache
    • MongoDB
  • 优化
    • 优化方案
    • 页面静态化
    • Nginx
  • 后台框架与实战
    • Smarty
    • 源码Blog
    • TP3.2
    • TP3.2商城
    • TP5.0
    • TP5.0商城
    • Laravel
    • Laravel在线教育平台
    • Yii
    • Yii手机直播
    • CodeIgniter
    • Yaf
  • 移动开发
    • 微信公众号
    • 混合APP
  • 二次开发
    • DedeCMS
  • Linux
    • 基本操作
    • 环境搭建
  • 版本控制
    • GIT
    • SVN
  • Node.js
  • 资料库
没有结果
查看所有结果
  • 首页
  • 前端
    • HTML
    • CSS
    • Javascript
    • XML
    • AJAX
  • 前端框架
    • BootStrap
    • Jquery
  • PHP
    • 语法
    • 核心
    • 面向对象
    • PHP7
    • Socket
    • Swoole
  • 数据库
    • Mysql
    • Redis
    • Memcache
    • MongoDB
  • 优化
    • 优化方案
    • 页面静态化
    • Nginx
  • 后台框架与实战
    • Smarty
    • 源码Blog
    • TP3.2
    • TP3.2商城
    • TP5.0
    • TP5.0商城
    • Laravel
    • Laravel在线教育平台
    • Yii
    • Yii手机直播
    • CodeIgniter
    • Yaf
  • 移动开发
    • 微信公众号
    • 混合APP
  • 二次开发
    • DedeCMS
  • Linux
    • 基本操作
    • 环境搭建
  • 版本控制
    • GIT
    • SVN
  • Node.js
  • 资料库
没有结果
查看所有结果
没有结果
查看所有结果

WordPress 域名&服务器迁移

Mr.Lee 由 Mr.Lee
2020年5月4日
在 资料
0
WordPress 域名&服务器迁移
0
分享
28
浏览

WordPress 作为全球最流行的博客系统,使用简单,功能丰富,用它来建站的用户非常多。对于站长们来说,网站搬家也是少不了的,有时我们需要更换主机空间,把网站从一个服务器迁移到另一个服务器上,或者更换域名。

本文就详细介绍下 WordPress 网站搬家的几种方法,我们可以通过手动备份搬家,也可以使用插件工具一键完成网站迁移。还是很简单的。

参考资料:https://zhuanlan.zhihu.com/p/50803437

第一步:在新服务器安装运行环境

系统需求:

  • CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian/Deepin/Aliyun/Amazon/Mint Linux发行版
  • 需要5GB以上硬盘剩余空间,MySQL 5.7,MariaDB 10至少9GB剩余空间
  • 需要128MB以上内存(128MB小内存VPS,Xen需有SWAP,OpenVZ至少要有128MB以上的vSWAP或突发内存),注意小内存请勿使用64位系统!
  • 安装MySQL 5.6或5.7及MariaDB 10必须1G以上内存,更高版本至少要2G内存!。
  • 安装PHP 7及以上版本必须1G以上内存!。
  • VPS或服务器必须设置好可用的yum或apt-get源并确保能正常工作,离线安装需要增加 CheckMirror=n 参数!
  • Linux下区分大小写,输入命令时请注意!
  • 如有通过yum或apt-get安装的MySQL/MariaDB请自行备份数据等相关文件!
  • CentOS 5,Debian 6及之前版本其官网已经结束支持无法使用!
  • Ubuntu 18+,Debian 9+,Mint 19+,Deepin 15.7+及所有新的Linux发行版只能使用1.6进行安装!
  • PHP 7.1.*以下版本不支持Ubuntu 19+、Debian 10等等非常新的Linux发行版!
  • 阿里云Ubuntu 14.04系统模版有问题不要用!!!

LNMP一键安装包 V1.6 已经在Vultr、遨游主机、搬瓦工、LocVPS、Linode、vps2ez、DiaHosting、DigitalOcean、KVMLA、景文互联、BuyVM、快易互联、80VPS、腾讯云等众多VPS的CentOS 6-8、RHEL 6-8、Fedora 21-30、Debian 7-10、Ubuntu 10.04-19.10的32位和64位系统上测试通过(CentOS 5,Debian 6及之前版本其官网已经结束支持无法使用,Debian9上Apache需选2.4.26版本以上。

安装步骤:
1、使用putty或类似的SSH工具登陆VPS或服务器;

登陆后运行:screen -S lnmp
如果提示screen: command not found 命令不存在可以执行:yum install screen 或 apt-get install screen安装,详细内容参考screen教程。

2、下载并安装LNMP一键安装包:

您可以选择使用下载版(推荐美国及海外VPS或空间较小用户使用)或者完整版(推荐国内VPS使用,国内用户可用在下载中找国内下载地址替换),两者没什么区别,只是完整版把一些需要的源码文件预先放到安装包里。

安装LNMP稳定版
如需无人值守安装,请使用 无人值守命令生成工具,或查看无人值守说明教程

wget http://soft.vpser.net/lnmp/lnmp1.6.tar.gz -cO lnmp1.6.tar.gz && tar zxf lnmp1.6.tar.gz && cd lnmp1.6 && ./install.sh lnmp

如需要安装LNMPA或LAMP,将./install.sh 后面的参数lnmp替换为lnmpa或lamp即可。如需更改网站和数据库目录、自定义Nginx参数、PHP参数模块、开启lua等需在运行./install.sh 命令前修改安装包目录下的 lnmp.conf 文件,详细可以查看lnmp.conf文件参数说明。

如提示wget: command not found ,使用yum install wget 或 apt-get install wget 命令安装。

如下载速度慢或无法下载请更换其他下载节点,请查看LNMP下载节点具体替换方法。

运行上述LNMP安装命令后,会出现如下提示:

目前提供了较多的MySQL、MariaDB版本和不安装数据库的选项,需要注意的是MySQL 5.6,5.7及MariaDB 10必须在1G以上内存的更高配置上才能选择!如仅需安装数据库在lnmp安装包目录下执行:./install.sh db

输入对应MySQL或MariaDB版本前面的序号,回车进入下一步.

设置MySQL的root密码(为了安全不输入直接回车将会设置为lnmp.org#随机数字)如果输入有错误需要删除时,可以按住Ctrl再按Backspace键进行删除(个别情况下是只需要Backspace键)。输入后回车进入下一步,如下图所示:

询问是否需要启用MySQL InnoDB,InnoDB引擎默认为开启,一般建议开启,直接回车或输入 y ,如果确定确实不需要该引擎可以输入 n,(MySQL 5.7+版本无法关闭InnoDB),输入完成,回车进入下一步。

注意:选择PHP 7+版本时需要自行确认PHP版本是否与自己的程序兼容。

输入要选择的PHP版本的序号,回车进入下一步,选择是否安装内存优化:

可以选择不安装、Jemalloc或TCmalloc,输入对应序号回车,直接回车为默认为不安装。

如果是LNMPA或LAMP的话还会提示设置邮箱和选择Apache

“Please enter Administrator Email Address:”,需要设置管理员邮箱,该邮箱会在报错时显示在错误页面上。

再选择Apache版本

按提示输入对应版本前面的数字序号,回车。

提示”Press any key to install…or Press Ctrl+c to cancel”后,按回车键确认开始安装。
LNMP脚本就会自动安装编译Nginx、MySQL、PHP、phpMyAdmin等软件及相关的组件。

安装时间可能会几十分钟到几个小时不等,主要是机器的配置网速等原因会造成影响。

3、安装完成
如果显示Nginx: OK,MySQL: OK,PHP: OK

并且Nginx、MySQL、PHP都是running,80和3306端口都存在,并提示安装使用的时间及Install lnmp V1.6 completed! enjoy it.的话,说明已经安装成功。
某些系统可能会一直卡在Install lnmp V1.5 completed! enjoy it.不自动退出,可以按Ctrl+c退出。

安装完成接下来开始使用就可以了,按添加虚拟主机教程,添加虚拟主机后可以使用sftp或ftp服务器上传网站代码,将域名解析到VPS或服务器的IP上,解析生效即可使用。


4、安装失败

如果出现类似上图的提示,有一个或几个没安装成功表明安装失败!!需要用winscp或其他类似工具,将/root目录下面的lnmp-install.log下载下来,到LNMP支持论坛发帖注明你的系统发行版名称及版本号、32位还是64位等信息,并将lnmp-install.log压缩以附件形式上传到论坛,我们会通过日志查找错误,并给予相应的解决方法。

默认LNMP是不安装FTP服务器的,如需要FTP服务器:https://lnmp.org/faq/ftpserver.html

5、添加、删除虚拟主机及伪静态管理
https://lnmp.org/faq/lnmp-vhost-add-howto.html

6、eAccelerator、xcache、memcached、imageMagick、ionCube、redis、opcache的安装
https://lnmp.org/faq/addons.html

7、LNMP相关软件目录及文件位置
https://lnmp.org/faq/lnmp-software-list.html

8、LNMP状态管理命令
https://lnmp.org/faq/lnmp-status-manager.html

9、仅安装数据库、Nginx
lnmp 1.5开始支持只安装MySQL/MariaDB数据库或Nginx
增加单独nginx安装,安装包目录下运行:./install.sh nginx 进行安装;
增加单独数据库安装,安装包目录下运行:./install.sh db 进行安装;

10、lnmp一键安装包支持完全离线模式进行安装
CentOS系统下离线安装教程:https://www.vpser.net/manage/centos-iso-local-yum-repository.html
Debian/Ubuntu发行版下类似。

参考链接 :https://lnmp.org/install.html

第二步:添加虚拟机

如果输入有错误需要删除时,可以按住Ctrl再按Backspace键进行删除。

执行:lnmp vhost add 出现如下界面:

这里要输入要添加网站的域名,我们已添加www.vpser.net域名为例,如上图提示后输入域名 www.vpser.net 回车后提示


这里询问是否添加更多域名,直接再输入要绑定的域名,这里我们将 vpser.net 也绑上,多个域名空格隔开,如不需要绑其他域名就直接回车。

(注:带www和不带www的是不同的域名,如需带www和不带的www的域名都访问同一个网站需要同时都绑定)。

下面需要设置网站的目录

网站目录不存在的话会创建目录。也可以输入已经存在的目录或要设置的目录(注意如要输入必须是全路径即以/开头的完整路径!!!)。不输入直接回车的话,采用默认目录:/home/wwwroot/域名

伪静态可以使URL更加简洁也利于SEO,如程序支持并且需要设置伪静态的话,如启用输入 y ,不启用输入 n 回车(注意LNMPA或LAMP模式没有该选择项!)。

默认已经有了discuz、discuzx、discuzx2(Discuz X二级目录)、wordpress、wp2(WordPress二级目录)、typecho、typecho2(Typecho二级目录)、sablog、emlog、dabr、phpwind、、dedecms、drupal、ecshop、shopex等常用的Nginx伪静态配置文件,可以直接输入名称进行使用,如果是二级目录则需要对应配置文件里的二级目录的名称。

这一步是设置日志,如启用日志输入 y ,不启用输入 n 回车。

如果启用需要再输入要设置的日志的名称,默认日志目录为:/home/wwwlogs/ 默认文件名为:域名.log 回车确认后,会询问是否添加数据库和数据库用户。

如果需要添加数据库输入 y ,不添加数据库输入 n 回车。

如果要添加,需要先验证MySQL的root密码(注:输入密码将不显示)
提示Enter database name: 后输入要创建的数据库名称,要创建的数据库用户名会和数据库同名,回车确认。

提示Please enter password for mysql user 数据库名: 后输入要设置的密码,回车确认。

如果安装了FTP服务器会询问是否添加FTP账号

如果需要添加输入 y ,不添加输入 n 回车。

提示Enter ftp account name: 后输入要创建的FTP账号名称,回车确认。
提示Enter password for ftp account FTP账号: 后输入要设置的密码,回车确认。

接下来是1.4新增的添加SSL功能

如果需要添加输入 y ,不添加输入 n 回车。
选择了添加SSL会提示

有两个选项,1 选项为使用自己准备好的SSL证书和key。

> > 提示Please enter full path to SSL Certificate file 后输入要SSL证书的完整路径和文件名,回车确认。
> > 提示Please enter full path to SSL Certificate Key file: 后输入输入要key文件的完整路径和文件名,回车确认。
> > LAMP下会提示Please enter full path to SSL Chain file: 一般Apache2.2需要用到这个添加上证书链,2.4前面证书是补全证书链的话不用。

2 选项为使用免费SSL证书提供商Letsencrypt的证书,自动生成SSL证书等信息。

需要输入一个邮箱回车确认。

提示 Press any key to start create virtul host… 后,回车确认便会开始创建虚拟主机。

添加成功会提示添加的域名、目录、伪静态、日志、数据库、FTP等相关信息,如下图:

参考链接: https://lnmp.org/faq/lnmp-vhost-add-howto.html

第三步:伪静态管理

将原服务器/usr/local/nginx/conf/下配置文件同步到新服务器,并同步虚拟主机配置文件:/usr/local/nginx/conf/vhost/域名.conf

LNMPA或LAMP可以直接使用网站根目录下放.htaccess 来设置伪静态规则(具体规则可以去程序官网网站找google百度),但是在LNMP下,需要使用Nginx伪静态规则。
伪静态可以随时添加或删除,如果添加完虚拟主机后忘记或没有添加伪静态,可以通过修改配置文件来添加伪静态。
虚拟主机配置文件在:/usr/local/nginx/conf/vhost/域名.conf

伪静态规则文件需要放在/usr/local/nginx/conf/ 下面。
编辑虚拟主机配置文件,可以使用vi、nano或winscp,后2个工具对新手来说简单些。

例如前面我们添加的虚拟主机,打开后前半部分配置会显示如下:

在root /home/wwwroot/www.vpser.net;这一行下面添加:
include wordpress.conf;
上面的wordpress.conf为伪静态文件,如需要其他伪静态文件自己创建个并上传到/usr/local/nginx/conf/ 下面并include 伪静态.conf; 加完保存,执行:/etc/init.d/nginx restart 重启生效,如果报错可能是添加有误或伪静态规则有误。

1.4及之前版本伪静态文件都在 /usr/local/nginx/conf/ 目录下
1.5及之后版本伪静态文件都在 /usr/local/nginx/conf/rewrite 目录下
伪静态文件名称后面带2的是二级目录的伪静态,可以根据自己需求修改里面二级目录的名称或复制为其他名字后include到虚拟主机配置文件中。

参考链接: https://lnmp.org/faq/lnmp-vhost-add-howto.html

第四步:安装wordpress

下载WordPress

cd /home/wwwroot/文件根目录
yum -y install wget unzip net-tools
wget http://wordpress.org/latest.zip

解压文件,并且将其复制到/home/wwwroot/文件根目录 下

unzip -q latest.zip
cp -rf wordpress/* /home/wwwroot/文件根目录

参考链接:https://segmentfault.com/a/1190000016119293?utm_source=tag-newest

第五步:备份与恢复数据库和博客网站文件

可以采用phpMyadmin备份数据库或者mysqldump来备份

mysqldump -u用户名 -p密码 数据库名 > /备份目录/数据库名.sql 
mysql -u用户名 -p密码 数据库名 < 导入数据库名.sql
参考链接: https://segmentfault.com/a/1190000019305858

可以采用zip压缩打包的形式备份原wordpress网站目录文件或者在已知新服务器的情况下用scp命令直接迁移文件

scp -r   /home/wwwroot/文件根目录/  新服务器登录账号@新服务器域名:/home/wwwroot
参考链接: https://www.cnblogs.com/gudongcheng/p/8064808.html

参考链接:https://www.22vd.com/3979.html

第六步:修改网站配置和数据库(关键)

1.修改 wp-config 文件,最好不要用记事本来修改,用 notepad++或者 UltraEdit 等编辑器,把里面的数据库信息改为您新空间的数据库信息,如下:

/** WordPress 数据库的名称 */
define('DB_NAME', '你的新空间数据库名称');
/** MySQL 数据库用户名 */
define('DB_USER', '你的数据库用户名');
/** MySQL 数据库密码 */
define('DB_PASSWORD', '你的数据库登录密码');
/** MySQL 主机 */
define('DB_HOST', '你的数据库地址');

2.原来的文章里有链接或者图片是用以前域名的地址,所以还要修改那些地址。可以在 phpadmin 直接修改数据库或者 velvet-blues-update-urls 这个插件(推荐)。比如在 phpadmin 里,执行执行以下语句:

UPDATE wp_options SET option_value = REPLACE(option_value,'旧地址','新地址');
UPDATE wp_posts SET post_content = replace(post_content,'旧地址','新地址');
UPDATE wp_posts SET post_excerpt= replace(post_excerpt,'旧地址','新地址');
UPDATE wp_posts SET guid= replace(guid, '旧地址','新地址');

参考链接:https://www.22vd.com/3979.html

第七步:访问网站域名,检测网站运行情况

同步wordpess插件,wordpress主题,主题设置,主题菜单结构,勾选自动添加页面及显示位置。

参考链接:https://www.22vd.com/3979.html

异常情况:Wordpress 文章特色图无法显示

在使用wordpress建设个人网站时,新手可能会遇到有的主题无法显示文章的特色图,如下:

如果使用的是官方的主题,一般都不会出现无法显示的的情况!那么为什么我们(新手)常常会遇到这样的问题呢?这是因为wordpress官方的主题和你当前使用的主题,对网站图片的管理方式不一样,wordpress官方使用的是“一次生成”的方式,而我们使用国内的主题常常会引入一个叫“timthumb.php”的小程序来管理我们网站中的图片调用等(两者的具体差异,可自行深入查询)。

主要原因是一些文件的权限问题所引起的,解决方案如下:

1、检查你是否设置了文章的特色图

2、检查当前系统环境是否开启了 “GD库”支持功能

3、查看主题目录下的 “ cache ” 文件夹(及子目录的两个文件)的权限是否为 777

4、检查主题目录下的 “ timthumb.php ” 文件权限是否为755或777

具体操作如下:

a ) 检查你是否设置了文章的特色图

进入“编辑文章”页面,查看右下角的“特色图”设置..

b ) 检查是否开启 “ GD库” 功能

方法一:

终端模式下输入:  php -i | grep -i –color gd

运行回车,如果返回的信息中有:

GD Support => enabled

表示 GD库 支持功能已开启。

方法二:

在网站根目录下创建一个 “ .php “ 的文件(文件名随意起),并打开输入以下内容:

保存!然后使用网页访问的方式去访问这个文件,如:xxx.com/xxx.php.

如果有返回以下界面,表示成功访问到该文件,否则请检查是否哪里有误:

往下查看文件(可使用查询),当浏览到 GD项中浏览其状态信息,如果同样显示 “ GD Support  enable”,表明该功能已开启。

c ) 查看主题目录下的 “ cache ” 文件夹的权限是否为 777

在终端下输入:  ls -lh cache   可获得权限信息。

如果不符合权限要求,可输入:

chmod 777 cache   //获取所有权限

同时进入其子目录将 inddx.html 和 timthumb_cacheLastCleanTime.touch 文件权限改为 777

d ) 检查主题目录下的 “ timthumb.php ” 文件权限是否为755或777

e ) 有些教程还说需要修改” timthumb.php ”文件内部的:

define (‘ALLOW_ALL_EXTERNAL_SITES’,false) 语句,将其改为

define (‘ALLOW_ALL_EXTERNAL_SITES’,TRUE)

但尝试后,发现有没有修改都没什么影响,可能是小编环境的问题吧!

这里只是给大家最后一个参考的调试方案!
参考链接:https://blog.csdn.net/qintaiwu/article/details/77994917

至此教程结束!
————————————————

标签: wordpresswordpress迁移网站迁移
上一篇文章

node.js面试题大全-侧重后端应用与对Node核心的理解

下一篇文章

Python编写学生信息统计Demo

下一篇文章
Python编写学生信息统计Demo

Python编写学生信息统计Demo

发表回复 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Search

没有结果
查看所有结果

About Me

个人随笔

Winston Lee

Programmer

Hello & welcome to my blog! My name is Winston Lee and am a programmer and am keen on sharing.

Winston Lee

About Me

Hello & welcome to my blog! My name is Winston Lee and am a programmer and am keen on sharing.

Categories

  • AJAX
  • BootStrap
  • CodeIgniter
  • CSS
  • DedeCMS
  • GIT
  • HTML
  • Javascript
  • Jquery
  • Laravel
  • Laravel在线教育平台
  • Linux
  • Memcache
  • MongoDB
  • MVC
  • Mysql
  • Nginx
  • Node
  • PDO
  • PHP
  • PHP7
  • PHP基本语法
  • PHP核心编程
  • Redis
  • Smarty
  • Socket
  • SVN
  • Swoole
  • TP3.2
  • TP3.2商城
  • TP5.0
  • TP5.0商城
  • XML
  • Yaf
  • Yii
  • Yii手机直播
  • 二次开发
  • 优化方案
  • 前端技术
  • 前端框架
  • 后台框架
  • 基本操作
  • 微信公众号
  • 数据库
  • 未分类
  • 混合APP
  • 源码Blog项目
  • 版本控制
  • 环境搭建
  • 移动端开发
  • 网站优化
  • 资料
  • 面向对象
  • 面向对象编程
  • 页面静态化

Tags

DOM Json RBAC 事件 传参 函数 分页 判断语句 匿名函数 变量 图片上传 存储过程 安装 对象 封装 属性 接口 控制器 数据库操作 数据类型 数据表 数组 文件上传 无刷新分页 权限 标签 模型 正则 流程控制 目录结构 算法 类 索引 继承 缩略图 表关系 视图 路由 运算符 选择器 递归 配置 错误处理 页面静态化 验证码
  • 首页
  • 前端
  • 前端框架
  • PHP
  • 数据库
  • 优化
  • 后台框架与实战
  • 移动开发
  • 二次开发
  • Linux
  • 版本控制
  • Node.js
  • 资料库

沪公网安备31011502400873 | 沪ICP备2024050435号-3

没有结果
查看所有结果
  • 首页
  • 前端
    • HTML
    • CSS
    • Javascript
    • XML
    • AJAX
  • 前端框架
    • BootStrap
    • Jquery
  • PHP
    • 语法
    • 核心
    • 面向对象
    • PHP7
    • Socket
    • Swoole
  • 数据库
    • Mysql
    • Redis
    • Memcache
    • MongoDB
  • 优化
    • 优化方案
    • 页面静态化
    • Nginx
  • 后台框架与实战
    • Smarty
    • 源码Blog
    • TP3.2
    • TP3.2商城
    • TP5.0
    • TP5.0商城
    • Laravel
    • Laravel在线教育平台
    • Yii
    • Yii手机直播
    • CodeIgniter
    • Yaf
  • 移动开发
    • 微信公众号
    • 混合APP
  • 二次开发
    • DedeCMS
  • Linux
    • 基本操作
    • 环境搭建
  • 版本控制
    • GIT
    • SVN
  • Node.js
  • 资料库

沪公网安备31011502400873 | 沪ICP备2024050435号-3