VPS基本操作,大数据量网站迁移, 及linux常见命令

一、VPS网站流量监控

首先安装iptop,参考了http://www.vpser.net/manage/iftop.html,其实里面就2点就ok了:

1. 运行:apt-get install iftop

2. 界面上面显示的是类似刻度尺的刻度范围,为显示流量图形的长条作标尺用的。

中间的<= =>这两个左右箭头,表示的是流量的方向。

TX:发送流量

RX:接收流量

TOTAL:总流量

Cumm:运行iftop到目前时间的总流量

peak:流量峰值

rates:分别表示过去 2s 10s 40s 的平均流量

安装好之后运行iptop,发现VPS上的一个网站确实流量占用的非常大,每秒在4M作用。再看一下VPS流量,使用量已经超过90%了。先不管什么原因了,把网站先停了再说。打开网站根目录下的.htaccess文件,加入RewriteRule (.*) – [F],先让网站返回403.

然后把网站进行了转移,转到一个不是很重要的VPS上。网站转移的话,先对现在的网站进行打包压缩,参考了http://www.douban.com/note/57861194/,命令为tar -zcvf /tmp/etc.tar.gz site.com。打包好之后把压缩包用mv命令转移到一个服务器上的一个网站下,然后在目标VPS上运行wget命令直接获取压缩包,然后进行解压缩。解压缩命令为tar -zxvf /tmp/etc.tar.gz。这样网站的文件部分就实现转移了。

最后对数据库进行转移。数据库转移中遇到的问题是数据文件太大,需要先改一下vps的php.ini参数,具体修改三个地方即可:

1、执行时间限制的延长或取消:max_execution_time 默认是30秒.改为 max_execution_time = 0 (0表示没有限制)或更大点的数字;

2、查找 post_max_size = 2M (默认为2M)改为想要的大小,如:post_max_size = 70M

3、upload_max_filesize 表示所上传的文件的最大值。查找upload_max_filesize,默认为8M改为upload_max_filesize = 70M

修改完之后通过phpmyadmin就可以实现数据文件的导出,以及在目标VPS的导入了。

文件和数据转移完之后,修改DNS,恢复根目录下的htaccess文件,网站就又可以正常访问了。但还需要解决的问题是对网站的程序进行修改,以免再发生类似的流量问题。 

二、大数据量网站快速迁移

先看数据文件问题。如果数据库导出的文件超过2M,就不能在新的数据库中直接导入,需要修改数据库和php的相关设置(详见VPS流量问题)。这个办法在数据文件有几十兆的时候还是有效的,但数据文件超过百兆,甚至到G的时候就会发现,在导入数据的时候经常会断,或出现导入不全的情况。这时候可以用下面的方法解决。

1)         虚拟主机上导出数据库sql格式

2)         sql文件先用zip压缩,上传到VPS空间

3)         用putty登陆vps

4)         用unzip解压zip文件,得到××.sql。

5)         进入mysql命令操作:mysql -u root -p进入mysql

6)         use 数据库名(已经建好的数据库)

7)         source ××.sql执行sql语句,实现数据导入。

再看文本文件问题。很多虚拟主机是有文件压缩功能的,但在网站太大的时候经常压缩不了,或压缩不全。如果你的虚拟主机能够给你提供网站的压缩文件,那必将为你迁移网站节省大量时间。如果不能,传统的方法是你用FTP把所有的文件都下载下来,然后再传到VPS的空间上去。如果你的网站达到几G的话,会耗费大量的时间和精力。这时候可以尝试下面的方法:

1)         ftp client安装:apt-get install lftp(lftp,功能更强大的ftp)

2)         cd命令进入htdocs文件夹(或其他存放网站文件的目录)

3)         lftp(进入lftp命令模式)

4)         open ftp地址(虚拟主机的FTP地址)

5)         user 用户名

6)         同步ftp文件夹和vps文件夹:mirror -c –parallel=number remotedir localdir(隐藏文件不能同步,需要手动下载后再传上去,如.htaccess文件)

思路很简单,就是通过VPS直接登录到虚拟主机的FTP,然后直接将ftp中的文件同步到vps上。这样免去了比下到本地再上传减少了一步,能节省一半时间。而且,如果你的主机在国外的话,国外的网速比国内快好几倍,将能为你节省更多的时间。

备注:lftp 登录提示严重错误: Certificate verification: certificate common name doesn’t match requested host name ……这是因为域名供应商用了自己签的证书,lftp 不信任它,为了防止中间人攻击,拒绝继续操作。解决办法很简单。只要你能充分相信你的host,就在 lftp 里加上这样一句set ssl:verify-certificate no或者,可以在敲 lftp 命令的时候这样输入:lftp -e “set ssl:verify-certificate no”

查看php配置信息一个方法:新建一个.php文件输入<? phpinfo(); ?>,然后访问就会显示php配置信息。比如你搜索php.ini就可以找到他的绝对位置。

Linux常用命令:

查看目录内文件:ll,等同于ls -l

查看vps使用情况:df -h

查看当前目录文件大小:du -h --max-depth=1

重启节点:reboot

删除命令:

rm -rf   目录名字

-r 就是向下递归,不管有多少级目录,一并删除

-f 就是直接强行删除,不作任何提示的意思

生成目录countryminingcomru

mkdir countryminingcomru

复制countryminingcomde/内部文件及文件夹到countryminingcomru/内

cp -r countryminingcomde/ countryminingcomru/

重命名abc到123

mv abc 123

压缩解压缩:

压缩:

1. tar – czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz

2. tar -czf + 打包后文件名 + 需打包文件夹名 (tar czfv 显示进程细节)

3. tar czfv site.tar.gz 网站路径1/ 网站路径2/… (多路径中间用空格分隔)

解包:tar xvf FileName.tar

更改文件属性权限所有者等:

chmod -R 753 ABC/  (-R循环修改文件夹及内容权限,ABC文件夹)

chown命令更改文件拥有者

chown [-R] 账号名称 文件或目录, eg:chown -R nobody grindercrusher/

chown [-R] 账号名称:用户组名称 文件或目录

chgrp命令更改文件所属用户组

chgrp [-R] 用户组名称 dirname/filename …

history 看输入命令历史记录

删所有日志先停下Apache,   /opt/lampp/lampp stopapache

/opt/lampp/etc/xampp下面startftp和startssl分管ftp和ssl服务,不用可以删除

ps aux|grep username  查看特定用户运行哪些程序

ps aux  查看lampp的程序都有哪些用户运行

发表评论