本文我们将介绍如何将网站从虚拟主机迁移到 VPS 主机。这里我们介绍的是基于 PHP 的网站,例如,使用 MySQL 数据库存储数据,并在 Apache Web 服务器上运行的 WordPress 网站。
虚拟主机是众多网站共享相同的服务器资源。随着网站数据量的增加,以及网站流量的增长,虚拟主机很快将无法满足网站运行的需求。这时候,我们就会考虑将网站从虚拟主机迁移到 VPS 主机。
如何通过 FTP 和 phpMyAdmin 手动备份网站?
在手动备份网站时,需要下载网站文件,还要导出数据库文件。否则,您的数据可能会丢失。
通过 FTP 手动备份网站文件
要使用 FTP 备份网站文件,需要首先在电脑上安装 FTP 客户端软件。有很多免费的 FTP 工具,比如 FileZilla ,当然还有很多其他的,大家可以根据需要自行选择。在本文中,我们使用 FileZilla FTP 客户端。
第 1 步:通过 FTP 客户端连接到网站服务器。
- 打开 FileZilla 客户端。
- 点击 File -> Site Manager -> New Site 。
- 将登录类型设置为正常。然后,填写您网站的 FTP 信息。
- 主机- 网站的域名。
- 用户- FTP 帐户用户名。
- 密码– FTP 帐户密码。
- 完成后按连接。
第 2 步:将所有网站文件下载到计算机
在 FileZilla 界面的左上角,选择要保存备份的文件夹。
右击左下象限,选择创建目录并输入。为新目录命名,例如,网站备份。
在 FileZilla 界面的右上角,单击您的域并找到 public_html 文件夹。
将 public_html 文件夹拖放到左下象限或网站备份文件夹。
等到下载完成。
通过 phpMyAdmin 备份网站数据库
接下来,需要从 phpMyAdmin 控制面板导出网站的数据库备份。这里需要注意的是,如果您的服务器安装了管理面板,管理面板默认会安装 phpMyAdmin 。如果是手动安装的 LAMP 环境,那么需要手动安装 phpMyAdmin 。
- 通过访问管理面板,或者直接访问服务器的 phpMyAdmin。
- 在左侧侧边栏中找到要备份的数据库,然后点击目标数据库。它将在右侧打开对应的数据库。
- 确保选择了数据库及其所有文件,然后点击上方的 导出(Export )菜单。
- 导出方法选择 Quick ,为 Format 选择 SQL 。单击“Go”继续。
下载 SQL 文件后,将其保存在本地计算机中。
如果您的服务器没有安装 phpMyAdmin ,那么可以按照下面文章的方法进行备份。
扩展阅读:
登录 VPS 服务器
第一步使用 PuTTY 连接 VPS 服务器。PuTTY 是一个 Windows 的客户端,用于通过 SSH 终端连接到远程服务器。
恢复 MySQL 数据库
下一步是创建数据库和数据库用户,然后将备份的数据导入到新新服务器下的 MySQL(MariaDB)服务器。
创建数据库及用户
假设要创建的数据库名称是 niuqi_db ,并且数据库用户是 niuqi。
首先,使用在 MySQL (MariaDB) 安装时创建的 root 用户登录 MySQL 服务器。
要登录 MySQL,请使用以下命令:
$ sudo mysql -u root -p
上面的命令将提示输入用户帐户的密码。
成功登录 MySQL 服务器后,将看到以下欢迎内容:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 62204
Server version: 10.3.18-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
下一步是为数据库创建数据库和用户。要创建数据库,请使用以下命令:
MariaDB [(None)]> CREATE DATABASE niuqi_db;
将会收到一个创建成功的消息 Query Ok。
然后,使用以下命令为新数据库创建用户:
MariaDB [(None)]> CREATE USER 'niuqi'@'localhost' IDENTIFIED BY 'password';
如前所述,在上面的命令中,niuqi
是用户名,password
是数据库用户的密码。请记住用自己的真实密码替换“password”。
现在需要授予新用户所有权限,以允许它在数据库上执行所有类型的操作。为此,请执行以下命令:
MariaDB [(None)]> GRANT ALL PRIVILEGES ON * . * TO 'roytuts_db'@'localhost';
然后刷新权限,以使更改生效。使用以下命令:
MariaDB [(None)]> FLUSH PRIVILEGES;
如果要检查数据库是否已创建,可以使用以下命令:
MariaDB [(None)]> show databases;
然后会在列表中找到其他数据库以及自己刚刚创建的数据库。
还可以执行以下命令,验证新用户是否已创建:
MariaDB [(None)]> SELECT User, Host FROM mysql.user;
该列表将返回数据库的用户以及其他用户,例如 root。
使用命令行工具恢复数据库
要恢复数据库,可以按下面的格式执行命令:
$ sudo mysql -u <database user name> -p <database name> < <database file name>.sql
不要忘记将<database user name>
、<database name>
和<backup file name>
替换为实际的名称。-p
用于提示输入数据库密码。
比如要恢复上面备份的数据库:
$ sudo mysql -u root -p niuqi_db < niuqi-db.sql
恢复网站备份文件
使用 FileZilla 或其他 FTP 客户端工具,将备份的网站文件压缩包上传到用户的主目录。假设网站的备份文件名为 wordpress.zip。
我们将 wordpress.zip 文件复制到 Web 根目录位置 ,例如 ,/var/www/html。
通过 PuTTY 连接到服务器。默认情况下,连接后将在用户的主目录中,并且我们已经将备份文件 wordpress.zip 上传到主目录。
使用下面的命令,将备份文件复制到网站根目录:
$ sudo cp wordpress.zip /var/www/html/
将备份文件压缩包解压到网站根目录。
使用以下命令切换到 Web 根目录:
$ cd /var/www/html
执行下面的命令,将 wordpress.zip 文件解压。
/var/www/html :
$ sudo unzip wordpress.zip
将所有文件移到 Web 根目录下,可以通过浏览器访问网站 URL ,或在浏览器中访问 VPS 服务器的公共 IP 地址,来验证是否能够正常访问网站。
如果无法正常访问网站,可考虑为该网站配置一个虚拟主机。
配置虚拟主机
要配置虚拟主机,需要编辑 Apache Web 服务器配置文件 – httpd.conf。使用以下命令进行编辑:
$ sudo vi /etc/httpd/conf/httpd.conf
按键盘上的 i 进入 INSERT 模式,将以下内容添加到其中。记得将 example.com 更改为实际的域名。
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/html
ErrorLog /var/www/html/error_log
CustomLog /var/www/html/requests_log combined
</VirtualHost>
如果在网站中使用 .htaccess 文件,则需要将 AllowOverride All 添加到里面。
<Directory /var/www/html>
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride All
</Directory>
完成配置后,需要重新启动 httpd 服务使更改生效。
下面是一些常用的 Apache 管理命令:
停止 httpd 服务:
$ sudo systemctl stop httpd.service
启动 httpd 服务:
$ sudo systemctl start httpd.service
重启 httpd 服务:
$ sudo systemctl restart httpd.service
通过浏览器访问域名或者服务器的 IP 地址,如果一切正常应该可以正常访问网站。
扩展阅读:
作者:牛奇网,本站文章均为辛苦原创,在此严正声明,本站内容严禁采集转载,面斥不雅请好自为之,本文网址:https://www.niuqi360.com/linux/migrate-website-from-shared-hosting-to-vps/