WordPress搬迁LinuxVPS-Nginx环境下问题解决

昨天晚上搬迁博客,从某空间商搬迁到YardVPS中。出现了意想不到的问题。通过百度,虽然不知道是什么原因,但问题已经解决。现在分享一下这些问题,以及这些问题的解决方法。

1、WP后台插件提示FTP登陆

这是由于文件的权限问题,解决方法之一就是,SSH连接VPS,cd网站根目录中输入chown –R www wp-content/plugin 还有 chmod –R 777 wp-content/plugin。这个见过很多次了,所以这次一配置好文件,我就把这些命令都敲了一遍。

2、数据库导入出现max_allowed_pachet错误

这个是看自己的环境如何配置的,我是用的是军哥的Lnmpa一键安装包,默认的MySql配置文件max_allowed_pachet值是1M,进入/etc/my.cnf中修改其默认的1M,改变为20M,重启Lnmp即可。

3、数据库导入出现#1064以及#1066问题

这个真的不好说为什么,我真的不知道。百度出的东西也很杂,情急之下,我使用帝国备份王来备份的数据库。然后在VPS中也是用帝国备份王来恢复数据库。不错的工具,不过据说这个工具已经有漏洞了,所以请各位务必用完之后及时删除。

4、数据库导入中某些元组太大导致恢复失败

数据库顺利导入之时,看着百分比的慢慢增长还是很有成就感的。可是突然提示posts表中的某元组体积过于庞大,不能够导入之后的posts表。由于MySql一般不会出现这种情况,所以我断定是帝国备份王的问题。

为了完整的导入文章,我在帝国中重新备份了一下原来的数据库,特意的没有把原来的posts表导入。而是用phpmyadmin来导出了posts表,然后在VPS中使用phpmyadmin来恢复了这个posts表。事实证明,这样可以解决问题。

5、使用帝国备份王后网站LinuxVPS网站根目录中出现无法删除的乱码文件

乱码文件是个很困扰人的问题,因为你不知道他的真实名称是什么,所以就没有办法在SSH客户端中使用mv或者rm命令改名称或者直接删除。

然后想到WinSCP可以不,不过登陆WinSCP后,尝试修改文件名或者删除,都会提示文件不存在。无可奈何啊 ……

网路上面照了一番,发现一个Linux特有的inode。

Linux系统中,每个文件都有自己的inode记录。就像是数据结构中专门存储地址的地址表一样。我们可以通过ls –li 来查询到这个更目录下面所有文件的inode值。对应到那个乱码的文件找到其inode数据。

然后通过find命令找到inode对应的文件名并传送到rm命令中,即可删除。比如我的帝国一个乱码文件inode值是9527007,那么我可以在这个文件所在目录中输入:

find ./ -inum 9527007 -print -exec rm {} -rf \;

这个文件就被删除了。要注意这行命令是一整条命令,不能删除任一符号。如果你要删除某个文件,只需要把上面的inode地址9527007变更为自己要删除文件的inode地址。

补充:其实不删除这个文件也是可以的,不碍事。不过我不希望别人可以通过关键词来找到我的站,也许用过这个软件后网站会出现漏洞后门的,说不一定。能删掉特征文件,就尽量删除吧。

后记:虚拟主机真的只适合刚建站不久的童鞋,不适合站点已经很多的童鞋。说实话,主机商太太太暴利了。