新购VPS后的设置及网站迁移步骤

技术 3678 次围观 3 次吐槽

vps

作为一个不盈利的博客网站,时不时也需要迁移网站什么的。废话不说,准备搭环境及迁移事项。设置步骤如下:
1、更改Host名
更改默认生成的Host名,有助于标识该VPS。

vi /etc/sysconfig/network

更改其中的HOSTNAME项的值为teddysun.com,再执行命令:hostname teddysun.com即可。最后执行:hostname即可查看更改后的Host名。退出putty后重新登录即可显示新的Host名。

2、设置SSH证书无密码登录及关闭密码验证登录
详细教程参考:《SSH无密码登录及putty设置

3、开启自带防火墙iptables
默认安装好的VPS是没有开启iptables的,因此需要手动开启。
执行命令:service iptables start
为了网站能够正常运行,需要开启80和3306端口。
修改/etc/sysconfig/iptables中的内容如下:

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

修改完成后,重启iptables命令:service iptables restart
同时,屏蔽一些肉鸡和僵尸网络的IP地址是非常必要的。详细教程参考:《利用iptables屏蔽各国IP的脚本

4、安装LAMP环境
详细教程参考:《LAMP一键安装脚本
备注:为了保证该脚本与官网的软件版本一致,我随时保持更新和修正 bug。安装完成后,运行 upgrade_php.sh 脚本更新 PHP 和 phpMyadmin 到最新版。
phpMyadmin 安装后,本脚本默认已经开启了高级功能。至于其高级功能,详细教程可以参考:《phpMyAdmin 高级功能设置方法

5、安装可选软件包(可选)
安装nslookup和dig,详细教程参考:《Linux系统中nslookup和dig安装使用
安装远程登录命令screen,详细教程参考:《Linux远程登录命令screen
安装VPS虚拟技术查看工具virt-what,详细教程参考:《如何判断VPS的虚拟技术
安装路由查询命令traceroute,执行:yum -y install traceroute

6、评估硬盘I/O性能
如果是SSD硬盘,则用hdparm工具来测试比较准确。详细教程参考:《评估SSD VPS硬盘性能
如果是传统硬盘,则用dd命令来测试。执行以下命令:

dd if=/dev/zero of=test bs=64k count=16k oflag=dsync

7、本地ping工具WinMTR
在本地电脑安装工具WinMTR(32位)来ping,得到的数值会比较准确。下载地址:
http://pan.baidu.com/share/link?shareid=2916211155&uk=50623901

8、迁移事项准备工作
因为我的网站已经用了Google Drive for WordPress汉化版插件,详细教程参考:《Google Drive for WordPress插件汉化》并且是每天备份,必要时还可以随时备份,所以不用担心数据丢失。
但我用了WP Super Cache缓存插件,而这部分的静态文件并没有被选中备份。整站搬家的话,还是运用tar大法吧。
一般 WordPress 包含:
1)官网下载过来的压缩包解压出来的程序文件;
2)用户上传的文件一般在 wp-content/upload/ 目录;
3)插件、主题在 wp-content/themes、/wp-content/plugins/ 目录;
4)用户产生的文章和配置则保存在 MySQL 数据库里;

所以我们备份及恢复的时候需要以下2个部分
1)硬盘里网站根目录下的所有文件(程序,上传的文件,主题,插件等);
2)MySQL 数据库;

备份及恢复的步骤如下:
1)导出数据库到自己的目录下(Google Drive for WordPress插件已经搞定此事);
2)打包整个目录(包含导出的数据库以及其他所有文件);
3)登录新的VPS,获取压缩包后解压缩;
4)把解压缩出来的数据库sql文件导入新VPS的 MySQL 数据库里;
5)修改 wp-config.php 把数据库配置信息修改为新VPS上的数据库信息;

明确步骤后,整个操作如下:
1)运用tar大法将整个网站目录(假设网站根目录路径为/data/www/default)打包。

tar -zcf teddysun.com.tar.gz /data/www/default

2)将打包好的teddysun.com.tar.gz文件移动到路径/data/www/default下,为的是在新VPS上可以用wget命令直接下载,省的拖回本地再上传。

mv teddysun.com.tar.gz /data/www/default

3)登录新VPS,wget下载teddysun.com.tar.gz文件并解压。
4)使用phpMyadmin将解压出来的数据库sql文件导入新VPS的MySQL数据库中。
5)修改 wp-config.php 把数据库配置信息。

从入手到迁移完成,差不多2个小时左右就能搞定。等目前的VPS快到期了就着手准备迁移,目前已经设置好环境的新VPS准备再观望一段时间,看看稳定性(Dnspod监控)。

转载请注明:秋水逸冰 » 新购VPS后的设置及网站迁移步骤

发表评论
取消评论
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
表情

已有评论 (3)

  1. 请问sql文件过大 不能上传咋办?
    Ehco5个月前 (2017-03-24)回复
  2. 这绝对是一个技术含量很高的博客~
    徐子子子子3年前 (2014-06-16)回复
  3. 唉,没得折腾的工具。。
    vfhky4年前 (2013-09-24)回复