VPS挂载数据盘到home目录不改变原有WordPress网站数据最新操作设置图文教程

VPS挂载数据盘到home目录不改变原有WordPress网站数据最新操作设置图文教程插图

对于很多使用VPS主机的小伙伴,都没有注意到VPS主机商有没有提供数据盘,比如购买的VPS主机包含系统盘30G,数据盘40G这样的事情基本没有注意到,等安装完程序网站运行起来后才发现只有30G容量,剩下的40G数据盘去哪里了呢?其实是因为没有挂载导致无法充分利用的原因。搬主题就是这样一个栗子,既然网站数据都存在,接下来不可能直接重装系统再挂载数据盘,那太麻烦了,有没有不改变原有网站数据就可以直接挂载数据盘的操作呢?当然是有的,这里搬主题就分享一下VPS挂载数据盘到home目录不改变原有WordPress网站数据最新操作设置图文教程。

这里搬主题的环境是Centos 7.4

一、查看VPS主机是否有数据盘

是否有数据盘的话,一般在购买VPS的时候,主机商都会和自己说的,或者明确写出来。但是很多主机商虽然写了,但是不会帮你主动挂载上去,需要自己挂载,因此没有注意到的话,就白白少了几十G的容量使用。

首先登陆SSH,然后用如下命令查询是否有数据盘可以挂载

fdisk -l

如果执行命令后,没有发现/dev/vdb,表示您的实例没有数据盘,无需格式化数据盘,请忽略本文后续内容。

二、查看系统盘和数据盘的速度

如果有1块数据盘的情况下,那意味着有2个硬盘,分别是系统盘及数据盘,那么我们可以先评估一下系统盘和数据盘的读取效率。当然本教程也适用于添加云储存硬盘。

这里搬主题用的是hdparm命令。

先安装hdparm工具

yum install hdparm –y

安装完成后通过 fdisk -l 命令查询挂载硬盘的名称。如下图

VPS挂载数据盘到home目录不改变原有WordPress网站数据最新操作设置图文教程插图1

得到了相应的挂载硬盘的名称,接下来使用如下命令分别进行硬盘读取效率的评测

hdparm -t /dev/vda
hdparm -t /dev/vdb
VPS挂载数据盘到home目录不改变原有WordPress网站数据最新操作设置图文教程插图2

以上发现,数据盘的读取速度比系统盘要好,因此如果把WordPress网站数据挂载到数据盘上的话,还是可以获得网站速度的响应速度的提升的。

二、进行数据盘分区及格式化

如果发现的话,那就可进行数据盘分区和格式化操作,这里搬主题就引用了网上的一篇内容如下:

创建一个单分区数据盘,依次执行以下命令:

  • 运行 fdisk /dev/vdb:对数据盘进行分区
  • 输入 n 并按回车键:创建一个新分区。
  • 输入 p 并按回车键:选择主分区。因为创建的是一个单分区数据盘,所以只需要创建主分区。

说明 如果要创建4个以上的分区,您应该创建至少一个扩展分区,即选择 e。

  • 输入分区编号并按回车键。因为这里仅创建一个分区,可以输入 1。
  • 输入第一个可用的扇区编号:按回车键采用默认值 1。
  • 输入最后一个扇区编号:因为这里仅创建一个分区,所以按回车键采用默认值。
  • 输入 wq 并按回车键,开始分区。

类似的操作如下

[root@iXXXXXXX ~]# fdisk /dev/vdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x5f46a8a2.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-41610, default 1): 1
Last cylinder, +cylinders or +size{K,M,G} (1-41610, default 41610):
Using default value 41610
Command (m for help): wq
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.

查看新的分区:运行命令 fdisk -l。如果出现以下信息,说明已经成功创建了新分区/dev/vdb1

[root@iXXXXXXX ~]# fdisk -l
Disk /dev/vda: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00053156
Device Boot Start End Blocks Id System
/dev/vda1 * 1 5222 41942016 83 Linux
Disk /dev/vdb: 21.5 GB, 21474836480 bytes
16 heads, 63 sectors/track, 41610 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x5f46a8a2
Device Boot Start End Blocks Id System
/dev/vdb1 1 41610 20971408+ 83 Linux

在新分区上创建一个文件系统:运行命令 mkfs.ext4 /dev/vdb1

  • 本示例要创建一个 ext4文件系统。您也可以根据自己的需要,选择创建其他文件系统,例如,如果需要在LinuxWindowsMac系统之间共享文件,您可以使用 mkfs.vfat 创建 VFAT 文件系统。
  • 创建文件系统所需时间取决于数据盘大小。
mkfs.ext4 /dev/vdb1
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1310720 inodes, 5242852 blocks
262142 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
160 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 37 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.

(建议)备份 etc/fstab:运行命令 cp /etc/fstab /etc/fstab.bak

向 /etc/fstab 写入新分区信息:运行命令 echo /dev/vdb1 /home ext3 defaults 0 0 >> /etc/fstab

说明:Ubuntu 12.04 不支持barrier,所以对该系统正确的命令是:echo '/dev/vdb1 /home ext3 barrier=0 0 0' >> /etc/fstab。如果需要把数据盘单独挂载到某个文件夹,比如单独用来存放网页,请将以上命令 /home替换成所需的挂载点路径。

查看 /etc/fstab 中的新分区信息:运行命令 cat /etc/fstab

[root@iXXXXXXX ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Thu Feb 23 07:28:22 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=3d083579-f5d9-4df5-9347-8d27925805d4 / ext4 defaults 1 1
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/vdb1 /home ext4 defaults 0 0

三、进行挂载数据盘到home目录的操作

搬主题之前没有挂载数据盘,但是发现实际上数据盘已存在,且已完成分区,只是未进行挂载而已。如下图

VPS挂载数据盘到home目录不改变原有WordPress网站数据最新操作设置图文教程插图3

接下来,搬主题对其进行数据盘格式化,注意,数据盘的路径为/dev/vdb1,不同的主机和硬盘可能硬盘名称有区别,自己用 fdisk -l 命令查看即可。

然后格式化命令如下

mkfs -t ext4 /dev/vdb1

回车后就可以进行格式化了,速度还是很快的。

VPS挂载数据盘到home目录不改变原有WordPress网站数据最新操作设置图文教程插图4

接下来就是重点操作了。因为目前数据盘还未进行挂载,而我们目前的网站目录及存放路径位于home文件夹下面,因此希望网站文件全部放在数据盘上,但是如果直接挂载数据盘到home目录,则会导致原有数据消失。

接下来的操作对于小白来说容易出现网站数据丢失的风险,建议先停止网站运行,然后进行数据备份再操作。

因为搬主题使用的是OpenLiteSpeed环境,因此需要先停止运行lsws环境,然后停止数据库,分别输入如下命令

systemctl stop lsws.service
systemctl stop mariadb.service
VPS挂载数据盘到home目录不改变原有WordPress网站数据最新操作设置图文教程插图5

网站停止后,接下来我们可以进行操作了。

其实不动原来的网站数据进行数据盘的挂载,思路很简单,这时候我们可以利用一个中转文件夹。

1、首先登陆到主机的根目录,输入cd / 后,然后使用 mkdir transfer 命令创建一个中转文件夹

2、然后输入命令 mount /dev/vdb1 /transfer 将数据盘挂载到transfer文件夹上

3、使用命令 df -h 命令查询是否有挂载成功,如果出现下图则为挂载成功。

4、然后将原有home文件夹内的所有文件复制到transfer文件夹里。使用如下命令

cp -R /home/* /transfer
VPS挂载数据盘到home目录不改变原有WordPress网站数据最新操作设置图文教程插图6

复制好后,然后我们需要将原有home文件夹进行改名。因为很多人的教程是直接删除,但是搬主题建议先改名,这样比较保险。

mv home home1

以上我们将当前文件夹下的home文件夹重命名为home1,这里自行改为自己容易记的名字。另外文件夹重命名的方式很多种,包括FTP,还有比如BT宝塔都能在线改名。这里搬主题就不多说了。

改完名后,就可以进行再数据盘的挂载到home目录了。

mount /dev/sdb1 /home

如果挂载时出现mount: you must specify the filesystem type错误这是因为没有设置文件系统格式,可使用-t参数设置文件系统格式 mount -t ext4 /dev/sdb1 /home

使用 df -h 命令查看是否加载到home文件夹

VPS挂载数据盘到home目录不改变原有WordPress网站数据最新操作设置图文教程插图7

注意:因为搬主题对数据盘进行了两次挂载,网上有的教程说会显示两个目录都被数据盘挂载,但是实际上搬主题只显示最后挂载的目录,也就是home目录,之前的transfer目录则自动为空了。

这个时候我们可以直接输入如下命令启动网站了。

systemctl restart lsws.service
systemctl restart mariadb.service

到这一步,理论上数据盘挂载操作就完成了。但是又出现了一个新的问题,服务都启动后,网站还是打不开,直接显示404找不到。

刚开始搬主题也是很郁闷不知道哪里出了问题,毕竟路径也完全一样,数据也都在对应的文件夹内,怎么会找不到呢?后来才发现其实是文件夹权限的问题。接下来需要设置WordPress文件夹权限。

四、WordPress文件夹权限设置

因为默认的home目录下的WordPress网站目录没有赋予权限,因为就会显示404,这个时候我们需要赋予其读写权限。很多小伙伴直接豪爽操作,文件夹权限777,立马恢复访问。如下

先登陆home文件夹下的网站根目录,获取当前绝对路径

pwd -P

比如获取了WordPress网站根目录的当前的路径为 /home/banzhuti.com/www ,则直接可以给其权限

chmod 777 /home/banzhuti.com/www

但是,如果直接赋予777或者755权限,实际上网站就可以访问了,且不说安全问题,后期可以再针对性的设置权限了。

如果这样操作的话,访问可以访问,但是会出现一些问题,而是就算赋予777权限,网站能直接访问,但是权限是属于root用户的,不属于网站普通用户,这样则无法上传图片等很多问题出现。需要进行文件夹的用户权限赋予。

先查看目前的PHP的所属用户

比如可以上传一张图片,然后到upload文件夹下查看对应用户是哪个

通过 ls -l 命令查询,查看类似如下

drwxrwxrwx 3 banzhu123 banzhu123 4096 Mar 24 02:08 uploads

其中banzhu123就是PHP所属用户。接下来需要赋予其相应的权限

chown -R banzhu123:banzhu123 /home/banzhuti.com/www

以上操作让对应的文件夹的权限操作所属用户全部归在banzhu123用户下。至此,网站应该可以正常访问,同时上传图片也将正常。挂载完成后,发现网站响应速度也快了一些,也算是WordPress优化加速的方法之一吧。

 收藏 (0) 赞助

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

未经允许不得转载:搬主题 » VPS挂载数据盘到home目录不改变原有WordPress网站数据最新操作设置图文教程

分享到: 生成海报
版权免责声明

① 本站提供的资源(插件或主题)均为网上搜集,如有涉及或侵害到您的版权请立即通知我们。
② 本站所有下载文件,仅用作学习研究使用,请下载后24小时内删除,支持正版,勿用作商业用途。
③ 因代码可变性,不保证兼容所有浏览器、不保证兼容所有版本的WP、不保证兼容您安装的其他插件。
④ 本站保证所提供资源(插件或主题)的完整性,但不含授权许可、帮助文档、XML文件、PSD、后续升级等。
⑤ 由本站提供的资源对您的网站或计算机造成严重后果的本站概不负责。
⑥ 使用该资源(插件或主题)需要用户有一定代码基础知识!另本站提供汉化使用安装教程,仅供参考。
⑦ 有时可能会遇到部分字段无法汉化,同时请保留作者汉化宣传信息,谢谢!
⑧ 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需。
⑨ 如果喜欢本站资源,欢迎捐助本站开通会员享受优惠折扣,谢谢支持!
⑩ 如果网盘地址失效,请在相应资源页面下留言,我们会尽快修复下载地址。

评论 抢沙发

评论前必须登录!

立即登录   注册

WordPress主题 插件 建站 汉化

定制服务联系我们
切换注册

登录

点击按钮进行验证

忘记密码 ?

您也可以使用第三方帐号快捷登录

切换登录

注册

我们将发送一封验证邮件至你的邮箱, 请正确填写以完成账号注册和激活