如何将 WordPress 网站从一台主机移动到另一台主机

如果您想将 WordPress 站点(move WordPress site)从托管/非托管/共享/专用/ VPS托管移动到另一个没有任何重大停机时间的站点,这就是您需要的指南。如果您已经拥有SSL或者您想将站点从共享主机移动到VPS,您可能会面临一些停机时间。

将 WordPress(Migrate WordPress)站点从一台服务器迁移到另一台服务器

如果您有一个托管在HostgatorBluehostSiteground等共享主机上的网站,这些是您需要遵循的步骤。通常,这些共享托管公司提供 cPanel,因此,在 cPanel 的帮助下移动所有内容非常容易。

首先,您需要备份所有内容,包括文件和数据库。

要备份您的文件,您必须打开应由您的托管服务提供商提供的“文件管理器”,您可以在您的 cPanel 中找到它。如果您在托管帐户中添加了多个域,则需要相应地导航。否则,您可以找到一个名为public_html的目录,您将在其中获取包括WordPress核心在内的所有文件。选择(Select)所有文件,创建一个扩展名为 .zip 的存档并制作压缩文件夹。将其下载到您的计算机上。不要忘记单个文件——主要是.htaccess,默认情况下它是隐藏的。

现在你需要备份你的数据库。由于您已经拥有 cPanel 和 phpMyAdmin,您可以使用该工具下载数据库。为此,请打开您的 cPanel 并转到 phpMyAdmin。您可以在左侧找到您的数据库名称。选择它并切换到导出(Export )选项卡。

从这里,您需要选择Quick作为Export method,并从Format下拉菜单中选择SQL 。之后,单击“开始(Go )按钮开始下载。

将 WordPress 站点从一台服务器迁移到另一台服务器

现在,您必须转到新的托管帐户并首先添加域。如果您在注册新帐户时已经这样做了,则不必再次这样做。但是,如果您还没有这样做,您需要将您的域添加到您的 cPanel。您可以使用Addon Domains选项(它可以不同,但​​术语保持相似)。

之后,您必须为您的新网站创建一个数据库。创建时,不要忘记记下数据库名称、用户 ID 和密码。没有这些,您将无法将文件映射到数据库。

您可以在您的 cPanel 中找到MySQL 数据库(MySQL Database)选项,您可以使用它来完成它。要创建数据库,您需要输入数据库名称、用户 ID 和密码。您必须创建数据库名称文件,然后添加用户 ID 和密码。之后,您必须允许用户 ID 访问数据库。为此,您可以使用名为Add user to database的部分。

单击“添加(Add )”按钮后,您应该会找到一个窗口,您必须允许/阻止用户 ID 访问数据库的某些内容。要解决任何问题,您可以在ALL PRIVILEGES选项中打勾,然后单击Make Changes按钮。

现在,您需要上传从旧主机帐户下载的数据库。为此,打开 phpMyAdmin 应用程序并从左侧选择数据库。之后,转到导入(Import)选项卡。您应该找到一个名为“选择文件”(Choose File)的按钮。单击(Click)它并从您的计算机中选择文件。

请勿更改屏幕上的任何内容并直接单击Go按钮。完成上传需要几秒钟。

下一步是上传从旧服务器下载的文件。为此,请使用文件管理器(File Manager)打开域的根目录并转到public_html。如果您有一个域,请在此处上传所有文件。如果您有多个域,请导航到该域的根目录并在那里上传文件。上传后需要解压压缩包。

现在,您需要用新的数据库详细信息替换旧的数据库详细信息。为此,打开wp-config.php文件并替换数据库名称、用户 ID 和密码。更改后,保存文件。

接下来,您需要更改域的名称服务器。为此,请从您的主机帐户中获取名称服务器,然后在您的域的控制面板中输入它们。不同(Different)的域名提供商有不同的选择。但是,您可以搜索它或向支持团队寻求帮助。

完成该步骤后,您就完成了将文件从一台主机迁移到另一台主机的过程。传播所有内容可能需要长达 48 小时。同时,你可以打开这个网站(this website),看看你的网站是显示新IP还是旧IP。如果新 IP 地址可见,则传播完成。您还可以使用计算机上的 ping 工具来检查 IP 地址。如果您的计算机显示旧 IP 但在线工具显示新 IP,则需要刷新 DNS 缓存(flush your DNS cache)

如何将WordPress网站从共享主机移动到非托管VPS

将WordPress(WordPress)网站从共享主机移动到另一个共享主机非常容易,因为它们都有 cPanel,它具有所有必要的工具,如 phpMyAdmin、文件管理器(File Manager)等。但是,有很多人经常选择非托管VPS,因为您可以获得 root 访问权限,并且非托管VPS比共享托管相对便宜。

什么是非托管 VPS

VPS表示虚拟专用服务器(Private Server)。简单来说,如果您的VPS主机账户没有 cPanel,您可以称其为非托管VPS。要访问非托管VPS服务器,您需要一些工具,例如PuttyFTP 客户端(FTP client)(例如Filezilla或Cyber ​​duck(Cyberduck) ) 。非托管VPS提供商的一些示例包括Digital OceanLinodeVultr等。

如果您已经购买了非托管VPS帐户,并且您一无所知,但您想将您的WordPress网站从共享主机迁移到非托管VPS,您可以按照以下步骤操作。

在开始之前,请从此处(here)下载 Cyber​​duck(download Cyberduck)和 Putty 。此外,您需要下载旧站点备份,包括所有文件和数据库。上面提到了这些步骤。

现在,您应该知道一些公司,如WordPressGhostJoomlaDiscourse等,提供一键式应用程序,而其他如Linode不提供这样的东西。在这种情况下,您可以使用其他一些第三方工具,如ServerPilotServerAvatarEasyEngine等。其中,ServerPilot最近已成为付费工具——但就安全性和可用性而言,这是迄今为止最好的。

无论您使用哪个托管帐户,您都必须先创建服务器,安装操作系统,并记下 root 密码。不同(Different)的托管服务提供商有不同的选择,但核心是一样的。但是,如果您使用ServerPilot,则必须使用 64 位版本的Ubuntu LTS 16.04或 18.04。他们不支持其他任何东西。

因此,您需要在您的托管帐户中添加域名并更改您的域帐户中的名称服务器。此外,建议从现在开始使用VPN否则(Otherwise),您将无法从您的计算机中检测到新的主机帐户。

如果您使用Digital OceanVultr的一键式应用程序,您可以快速安装WordPress。如果您选择此方法,您可以在此处找到您的WordPress安装文件:

/var/html

如果您使用 ServerPilot 安装WordPress,您可以在此处找到您的WordPress安装文件:

/srv/users/user_name/apps/app_name/public

您应该找到一个名为wp-config.php的文件。下载它并保留数据库用户名和密码。不要忘记这样做。

您必须删除所有WordPress安装文件。由于 wp-admin、wp-content 和 wp-includes 文件夹需要很长时间才能删除,您可以使用 putty 删除它们。为此,打开Putty并输入服务器的 IP 地址。确保(Make)端口(Port)设置为22。之后,单击打开(Open )按钮并确认连接。之后,您需要输入您的用户名和密码。输入root作为用户名。在您的主机帐户中创建服务器后,您应该在同一页面上或通过电子邮件获得密码。

接下来,输入:

一键应用用户:(One-click app users:)

rm -rf /var/html/wp-admin

rm -rf /var/html/wp-content

rm -rf /var/html/wp-includes

ServerPilot 用户:(ServerPilot users:)

rm -rf /srv/users/user_name/apps/app_name/public/wp-admin

rm -rf /srv/users/user_name/apps/app_name/public/wp-content

rm -rf /srv/users/user_name/apps/app_name/public/wp-includes

之后,您可以打开Cyber​​duck应用程序,导航到该文件夹​​并删除其他安装文件。

在下一步中,您需要上传压缩(zipped)的备份文件。这样做,然后解压缩文件。如果解压时遇到任何错误,可以在Putty中输入以下命令:

sudo apt-get update

sudo apt-get install unzip

解压缩这些文件后,您必须替换数据库信息。为此,打开您下载的 wp-config.php 文件。接下来,打开您刚刚上传的当前 wp-config.php 文件。从下载的 wp-config.php 文件中复制数据库名称、用户 ID 和密码,并将其替换为上传的 wp-config.php 文件。

之后,您需要安装 phpMyAdmin。否则,您无法导入数据库。为此,请按照以下步骤操作。

S0 从这里(here)下载最新版本的 phpMyAdmin并将 zip 文件上传到您的根目录。之后,解压缩文件并重命名。确保(Make);你使用了一个难以猜测的名字。例如,如果您选择abcd,您可以像这样打开 phpMyAdmin:

http://your-domain-name/abcd

选择名称后,打开文件夹并找到config.sample.inc.php文件。您可以将其重命名为config.inc.php。之后,使用编辑器打开此文件并进行如下更改:

$cfg['blowfish_secret']

它应该如下所示:

$cfg['blowfish_secret'] = 'k7i259684(*^3q42bd^$4353yow*q5Trs^1'

现在,打开 phpMyAdmin,输入数据库用户 ID 和密码登录。然后,选择左侧的数据库名称,选择所有数据库表,并相应地删除它们。

然后,转到导入(Import )选项卡,并导入您之前下载的数据库。

就这样!现在您的网站应该可以在新的托管帐户上正常运行。

如何将WordPress网站从非托管VPS移动到共享主机

这很容易,也不需要太多时间。最好的事情是步骤几乎相同。除了,如果你还没有安装 phpMyAdmin,你需要这样做来下载数据库。

简而言之,这些是您需要遵循的步骤。

  1. (Download)从VPS(VPS)帐户下载所有文件。
  2. 下载数据库。
  3. 在您的共享主机帐户中创建一个数据库并将该数据库分配给一个用户。
  4. 将所有文件上传到您的新主机帐户。
  5. 更改 wp-config.php 文件中的数据库名称、用户名和密码。
  6. 在域控制面板中更改名称服务器。

就这样!

更换服务器后的常见问题

完成迁移后,您可能会遇到不同的问题。其中一些在下面提到。

主页正在打开,但帖子显示 404 错误(Homepage is opening, but posts are showing 404 error)

检查您的 .htaccess 文件并将其用作默认值:

# BEGIN WordPress

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

RewriteRule ^index\.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

</IfModule>

# END WordPress

另外,去这里:

/etc/apache2/apache2.conf

并进行此更改:

<Directory /var/www/>

AllowOverride All

</Directory>

无法安装插件,询问 FTP 登录详细信息(Unable to install plugins, asking FTP login details)

这是人们遇到的一个非常普遍的问题。您需要打开 wp-config.php 文件并将其粘贴到底部;

define( 'FS_METHOD', 'direct' );

安装失败:无法创建目录(Installation failed: Could not create directory)

如果您无法上传图片、安装插件、更新主题或插件,并且出现上述错误,您可以通过更改权限来解决此问题。打开腻子(Open Putty)并输入:

chmod -R 775 directory_path

您可以从此处(here)了解有关文件权限的更多信息。

使用 htaccess 将非 www 重定向到 www(Redirect non-www to www using htaccess)

RewriteEngine on

RewriteCond %{HTTP_HOST} ^your-domain-name.com [NC]

RewriteRule ^(.*)$ http://www.your-domain-name.com/$1 [L,R=301,NC]

将 www 重定向到非 www(Redirect www to non-www)

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www.your-domain-name.com [NC]

RewriteRule ^(.*)$ http://your-domain-name.com/$1 [L,R=301]

但是,您还应该输入带有www以及@或空白的CNAME记录。

(Please)注意,您需要单独安装SSL。如果您的托管服务提供商提供免费SSL,您可以要求他们为您安装。否则,您可以使用 Let's Encrypt,它提供免费但共享的SSL证书。



About the author

我是一名免费软件开发人员和 Windows Vista/7 倡导者。我已经写了数百篇关于操作系统相关主题的文章,包括提示和技巧、修复指南和最佳实践。我还通过我的公司 Help Desk Services 提供与办公室相关的咨询服务。我对 Office 365 的工作原理、功能以及如何最有效地使用它们有着深刻的理解。



Related posts