投递文章投递文章 投稿指南 RSS订阅RSS订阅

站长经验:全过程记录:VPS搬家手记

来源:IT堂 堂友 发布时间:2012-02-15 收藏 投稿 字体:【

VPS成功搬家,一次性成功,嘿嘿,当然要感谢网上的先烈(无数次的失败总结的经验)和各路高手们,记录下整个过程,供以后的流离使用,当然也希望帮助一些即将搬家的盆友。

第一步:备份

①备份数据库

这个应该比较简单,通过phpMyAdmin,cp面板,各种面板导出数据库

 

注意全选表,默认是全选的,自己还是注意下好,其他默认就好,保存格式那种都行,数据库不算太大就选“无”吧,点击执行

②备份wordpress目录

这个就更简单了,压缩wordpress主目录,最好是把数据库备份和wordpress目录备份下载下来

第二步: SSH工具 tunnelier

这个非常好,推荐使用,官方下载地址:http://www.bitvise.com/tunnelier

这个带有命令窗口和一个SFTP,就不用安装FTP了,又可以节省宝贵的资源啦

 

 

①安装后,主界面host填IP,端口22(以后优化端口的话要改),name 一般都是root,Initial meth选password

 

 

 

 

 

②options里面可以取消每次登录自动打开的命令窗口和SFTP窗口,设置好后点Login

 

③第一次登录是否保存HOTKEY,如果是自己的电脑,就Accept and Save

一般购到VPS后,会往你邮箱发送VPS后台面板的帐号密码和SSH root帐号密码,并且附有VPS配置信息,确保你的邮箱是安全的,那么保存这封邮件,如果以后出现配置不符或其他情况还能用到

先登录VPS后台面板,直接重装一次系统(现在VPS面板基本都带有,一键重启,关机,开机,重装的功能),清掉VPS里面的东西,至于装什么系统就看你的爱好了,Centos是最稳定的,Debian更小一点,一般256以上内存装Centos就可以了,装32位系统,当然你的内存超过4G就装64位…重装大概2分钟能完成,很快吧。

打开上次说的软件 Tunnelier 登录吧,切换到命令窗口

可以看到一个光标一闪一闪的,不要怕,这很简单,按我说的一步一步来,很容易成功。

如果你很难又还怕输错,直接copy到命令窗口吧。

一。准备工作

先输一个命令试试 敲上 top 回车

 

出来很多东西,重点关注区域是

 

①第一排的load average即为系统负载,就是说整个VPS资源占用情况,如果正常建站,一般很少有超过5的时候

②第三排的,这个是CPU占用资源。还有后面的??%wa这个是硬盘状态,正常情况下CPU最好不要超过30%占用.wa指数长期30%以上,基本上硬盘就是不给力状态。

③第四排是内存,一共多少,使用了多少,剩余多少。我的是openvz vps 没有swap,xenvps可以建一个swap分区(这里就不多说了,用xenvps的盆友去网上找找相关教程,很简单)

按 ctrl+ c 终止当前操作,以后输命令出现错误直接ctrl+c 终止重来

输入 cat /proc/cpuinfo 查看CPU信息

输入 cat /proc/meminfo 查看内存信息 

 

 

 

 

输入 df –lh 查看硬盘信息 

输入 getconf LONG_BIT 查看系统版本位数,返回32则是32位,64则是64位 

输入 wget http://cachefly.cachefly.net/100mb.test 下载100M测试文件,测试VPS宽带

 

输入 dd if=/dev/zero of=test bs=64k count=512 oflag=dsync 测试磁盘I/O速度,打开SFTP你会发现多了 100mb.test和test 

 

对比上面的信息,确保确实分配到了预计的资源。

输入 rm 100mb.test 删除刚下载的100M测试文件

输入 rm test 删除刚测试硬盘I/O文件

第二步:保持系统最新,删除多余的东西

输入 cat /etc/redhat-release 查看系统版本

输入 yum upgrade 更新系统,遇到Y/N? 就输入 Y 回车

 

查看系统是否默认安装了mysql、php、apache等,如果安装了则需要先卸载掉

输入 rpm -qa|grep mysql 回车

rpm -qa|grep php 回车

rpm -qa|grep httpd 回车

 

以上命令会分别把相关的包都列出来,从最下面的一个包开始卸载,依次往上。用卸载rpm包的命令:

rpm -e 包名称

版本号不用打,如卸载mysqlclient10-3.23.58-4.RHEL4.1包:

rpm -e mysqlclient

卸载的时候如卸载不掉,系统会提示包依赖关系,并且列出依赖的包的名称,先卸载提示依赖的包即可。

输入 ln –sf /usr/share/zoneinfo/Asia/ShangHai /etc/localtime 修改系统时区

 

 

 

 

第三步:一键安装LNMP

输入 wget -c http://soft.vpser.net/lnmp/lnmp0.5.tar.gz 下载安装包,安装完后可删除

输入 tar zxvf lnmp0.5.tar.gz 解压tar.gz包的命令 会解压到lnmp0.5文件夹,安装完后可删除该文件夹

输入 cd lnmp0.5 文件夹切换命令,切进lnmp0.5文件夹

输入 ./centos.sh 执行安装程序,如果装的debian系统,输入 ./debian.sh

提示你输入域名,这个胡乱输入一个(不要用以后还要建站的域名):

提示你输入MYSQL的root帐号密码,这个一定要记住!

按任意键,开始安装。正常情况下20-40分钟左右,就可以安装完。

安装完成后,在浏览器输入VPS的IP地址就可以看到lnmp页面了,这里也有PHP探针,可以查看VPS基本情况,也可以登录phpMyAdmin了

第四步:绑定域名到目录

注意: LNMP绑定域名时,your.com和www.your.com要分别输入,下面的例子中,主域名是mutnyy.com,而www.mutnyy.com做为其它域名,一起绑定的。

输入 /root/vhost.sh 开始绑定

1.绑定的主域名,输入mutnyy.com后回车

2.问你是否绑定其它域名,输入y后回车

3.输入你要绑定的其它域名,例如www.mutnyy.com回车

4.问你网站的绑定目录是哪?默认是/home/wwwroot/mutnyy.com 可以自定义

5.问你是否启用伪静态规则,自带了几个,按需要输入,如输入wordpress回车

6.问你是否开启日志文件输入 n 回车

默认绑定完域名,会在/usr/local/nginx/conf/vhost下面生成一个mutnyy.com文件。

第四步 lnmp简单优化

①输入 vi /usr/local/nginx/conf/nginx.conf 编辑命令vi 编辑文件就输这个

找到 worker_processes 1 按 “i” 进入编辑状态,进入编辑状态 左下角会显示 insert标记

可以把1修改成2或3,nginx本身就很强大,不需要像apache那样,开启过多的进程来保证其稳定运行 改好后 按 “esc” 左下角inset消失,再输入 “:” 左下角出现 : ,再输入 “x” ,回车,则存盘退出,(注:输入 “:q” ,直接退出,不保存)

②输入 vi /usr/local/php/etc/php-fpm.conf 同上编辑这个文件

找到<value name=“max_children”>按你的内存容量修改PHP进程的数量,一般128内存开启6个,256内存开启16个。这样能保证,在PHP大并发的情况下不会502错误。(网站运行一段时间后,可根据内存使用情况调整,使 使用内存:空闲内存=2:1, max_children数值每增大1,内存占用增大8-20M),修改完后同上,保存退出。

输入 /root/lnmp restart ,重启lnmp,使设置生效。

第五步 自定义网站404错误页面

输入 vi /usr/local/nginx/conf/vhost/mutnyy.com.conf (mutnyy.com改成自己的站点)

在root /home/wwwroot/mutnyy.com;下面添加一行:

error_page 404 /404.php;

PS:如果你内存实在是够大,可以安装KLOXO或FAMP等。想省资源就按我说的来吧。

 

 

 

 

LNMP环境配置好后,在浏览器输入你的VPS IP得到下面的页面,可以查看一下探针看看VPS运行情况

第一步:导入数据库

登录phpMyAdmin,帐号是root,密码在安装LNMP时你自己输入的,这个一定要记好!接下来应该很熟悉了,新建数据库,名字和备份的数据库名字相同即可

新建好就直接进入名为mutnyy的数据库了,如果没有进入一定要进入新建的数据库里,不然就导入别的地方了

 

点击上面的“导入”,到新页面,选择导入的文件后,字符集默认utf8就可以,然后执行,等待上传导入完就可以了,回到数据库列表,可以删除名为“test”的测试数据库

第二步:导入wordpress文件

打开SFTP, /home/wwwroot/mutnyy.com(mutnyy.com换成相应的域名)这个就是网站根目录了

把备份的wordpress压缩包上传上去,如果实在很慢,也可以用wget命令,这个要快很多(前提是原来的站点没有相应防盗链限制),操作如下:

cd /home/wwwroot/mutnyy.com 切进目录

wget http://www.mutnyy.com/…/wodpress.zip(tar.gz) 这个地址是原来空间打包wordpress的地址

不论是自己上传,还是wget下载,都执行一下

cd /home/wwwroot/mutnyy.com 以确保你在这个目录

解压命令有2个,根据格式挑选

tar zxvf wordpress.tar.gz 解压tar.gz包到当前目录

unzip wordpress.zip 解压zip包到当前目录

打开SFTP 转到wordpress目录 /home/wwwroot/mutnyy.com 下载wp-config.php并编辑

将数据库用户名改为root,密码改为自己输入的数据库密码

因为不安装FTP,wordpress进行一些读写操作时,会要求提供FTP权限,可以这样解决,继续编辑wp-config.php,在wp-config.php可编辑字段(看图)末尾加上

define("FS_METHOD", "direct");
define("FS_CHMOD_DIR", 0777);
define("FS_CHMOD_FILE", 0777);

OK,保存上传覆盖掉原文件即可,重新解析你的域名到VPS的IP,稍后就能感受到VPS的速度了

站点可以访问了吗,如果还不能,重新确认一下前几篇的操作是否有误,如果还不能可以找我,当然我也是个菜鸟,不要期望我一定能解决。

接下来要说的是简单的VPS安全操作和使用SSH “翻弓虽”。

 

 

 

 

第一步,修改SSH登录端口(个人认为可以省略,我省了,嘿嘿)

vi /etc/ssh/sshd_config (vi命令参看前面的内容)

找到其中的#Port 22,去掉#,修改成Port 6767(或是其他数字,注意尽量使用4位数,小数端口会和其冲突)

保存退出vi,使用如下命令,重启SSH服务,注:以后用新端口登陆,修改SSH软件端口

service sshd restart

第二步:取消ROOT帐户登录

useradd mutnyy 添加新账户,mutnyy换成你想要的帐号名

passwd mutnyy 给帐户mutnyy.com设置密码,回车后让你输入,为了安全密码是不显示的,会要求输两次,如果两次不一样,或是输入错误,重新执行 passwd mutnyy 重来

输入 vi /etc/ssh/sshd_config 找到 #PermitRootLogin yes

掉前面的#,并把yes改成no

保存退出vi 使用 service sshd restart 重启SSH服务

断开SSH软件,使用新账户登录(记得改端口号),新帐户的操作不会影响到VPS系统安全,可以使用 su root 命令获得ROOT 权限,获得权限时要输入ROOT 帐号密码

第三步:使用DDos deflate防护落CC和DDOS攻击

使用netstat命令,查看VPS当前链接确认是否受到攻击:

netstat -ntu | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -n

IP前面的数字,即为连接数,如果说正常网站,几十到一百都属于正常连接,但出现几百,或上千的就可以垦定这个IP与你的VPS之间可能存在可疑连接现象。

可以使用iptables直接BAN了这个IP的永久访问:

/sbin/iptables -A INPUT -s 12.34.56.78 -j DROP

下面开始安装DDos deflat

wget http://www.inetbase.com/scripts/ddos/install.sh

chmod +x install.sh

./install.sh

修改配置 vi /usr/local/ddos/ddos.conf

———————————————————————————————————————————-##### Paths of the script and other files
PROGDIR="/usr/local/ddos"
PROG="/usr/local/ddos/ddos.sh"
IGNORE_IP_LIST="/usr/local/ddos/ignore.ip.list"  //IP地址白名单
CRON="/etc/cron.d/ddos.cron"    //定时执行程序
APF="/etc/apf/apf"
IPT="/sbin/iptables"
##### frequency in minutes for running the script
##### Caution: Every time this setting is changed, run the script with –cron
#####          option so that the new frequency takes effect
FREQ=1   //检查时间间隔,默认1分钟
##### How many connections define a bad IP? Indicate that below.
NO_OF_CONNECTIONS=150     //最大连接数,超过这个数IP就会被屏蔽,一般默认即可
##### APF_BAN=1 (Make sure your APF version is atleast 0.96)
##### APF_BAN=0 (Uses iptables for banning ips instead of APF)
APF_BAN=1        //使用APF还是iptables。推荐使用iptables,将APF_BAN的值改为0即可。
##### KILL=0 (Bad IPs are’nt banned, good for interactive execution of script)
##### KILL=1 (Recommended setting)
KILL=1   //是否屏蔽IP,默认即可
##### An email is sent to the following address when an IP is banned.
##### Blank would suppress sending of mails
EMAIL_TO="root"   //当IP被屏蔽时给指定邮箱发送邮件,推荐使用,换成自己的邮箱即可
##### Number of seconds the banned ip should remain in blacklist.
BAN_PERIOD=600    //禁用IP时间,默认600秒,可根据情况调整                                                             ——————————————————————————————————————–

APF_BAN=1要设置成0,因为要使用iptables来封某些可疑连接EMAIL_TO=“mutnyaye@gmail.com”

第四步:禁止ping

输入 /sbin/ifconfig 常看网卡,一般都是 venet0,可以确认一下,下面的venet0改成相应的网卡名称

输入

/sbin/iptables -A OUTPUT -o venet0 -p icmp -j ACCEPT
/sbin/iptables -A INPUT -i venet0 -p icmp –icmp-type echo-reply -j ACCEPT
/sbin/iptables -A INPUT -i venet0 -p icmp –icmp-type echo-request -j DROP
/sbin/service iptables save

OK,简单的防护已经有了,最后重启一下的VPS就行了

翻墙更简单,打开SSH软件,选择Services,按下图填写,端口可以自己填,然后登录就行了,

 

接下来是浏览器配置

顶一下
(1)
100%
踩一下
(0)
0%
本文Tags:
  • 表情:
  •    
  • 评价:
用户名: 密码: 匿名 注册
最新评论 查看所有评论
About iTtang - 联系我们  - 专题列表 - 友情链接  -  高级搜索  -  帮助中心  -  您的意见