HTML5技术

谈谈把网站迁移到阿里云的一些感想和其中遇到的一些问题 - 里沃特

字号+ 作者:H5之家 来源:博客园 2015-12-18 14:24 我要评论( )

背景 云服务已经很多年了,当初没能加入使用云大军中的一员,现在后悔莫及。前阵子没办法租用的虚拟主机三天两天挂了,导致我认认真真的考虑了一次,觉得还是要使用云服务器! 之前是用300元左右买的别人的虚拟主机,空间有几G,感觉还行,正好又值他们搞活

 

背景

 

云服务已经很多年了,当初没能加入使用云大军中的一员,现在后悔莫及。前阵子没办法租用的虚拟主机三天两天挂了,导致我认认真真的考虑了一次,觉得还是要使用云服务器!

之前是用300元左右买的别人的虚拟主机,空间有几G,感觉还行,正好又值他们搞活动,买两年送一年!预存还有返还!心动了,就没有任何考虑就预存了一千块!

开始的几个月感觉还行,速度什么的还过得去,就没去管网站的事了。由于平时比较忙,连自己都没去网站访问过,等到闲的时候登录网站的时候,傻眼了,出错了。好吧,提交对方的技术支持,技术支持处理得还挺快的,十几分钟就处理好了,当时心里还蛮高兴的,这服务真好!可是第二天再打开网站,又报错了,这一次是数据库出问题了,连接不上!在这之后,网站基本上隔几天就崩溃了,我网站的访问量并不大,当时也只有10几个IP,PV也没多高。这种现在一直延续到前一阵子,基本上一天挂一次,此时我已经无语了!

 

迁移

 

1.购买云服务器

关注阿里云,腾讯云已经很久了,一直觉得网站没什么流量,有点浪费。但是今年以来网站一直挂掉,就算来几个人也走了,狠下心来对腾讯云和阿里云作了个小比较,觉得还是阿里云比较划算,比较稳定。于是,选择购买了一个低配置1G内存,1G CPU,1M带宽,还添加了一个云盘20G(为什么要买云盘呢?最重要的是,一旦系统盘出错了要重新安装系统,个人数据放在数据盘,不会丢失!),再找了一个推荐码,总共下来600多元,感觉还是在可以接受的范围之内。考虑到性能问题,选择了Ubuntu 系统,感觉 CentOS 也可以,应该没有 Windows 启动内存大吧。

2.安装 PHP+Mysql 环境

在这里对不熟悉的同学不推荐自行安装,那样浪费宝贵的时间。我开始也是自己在那傻傻的一个一个安装,结果错误一大把,后来发现,阿里云有一个镜像市场,可以买各种镜像服务,我从中选了一个 10 元钱的 LNMP 镜像,还有一个30元的镜像(具体是哪些镜像就不错了,免得说我打广告),更傻瓜化,不过因为它启动了一个 web 服务管理控制台,我觉得肯定浪费了一部分的系统资源,还是10元的划算。

购买成功后进入管理控制台,云服务器,再进入实例管理,然后停止实例,停止后,再点击最右边的“更多”,点击“更换系统盘”,此时会弹出一个窗口,从镜像市场找到自己购买的镜像,然后按照指示等待更换完成。(这里说明一点,如果直接从镜像市场购买的云服务器+镜像整套的就可以直接略过,但应该比较少)

3.修改nginx默认的配置,运行缺省的网站

一般通过镜像安装的都会有一个默认站点,编辑 nginx 配置文件 sudo vi /etc/nginx/conf/vhosts/default.conf,找到前面有一个 ServerName,把它后面的值改成你的 IP地址(以后要绑定域名的时候也是改这个值),因为等下要从电脑浏览器访问默认的网站。改完后保存退出,执行命令 /etc/init.d/nginx restart 重启 nginx。现在可以通过电脑访问了,在地址栏输入云服务器的 IP,就可以看到默认首页的内容。

4.挂载云盘(熟手略过)

新买的云盘先要进行分区、格式化,然后才能挂载。(一般系统盘是 /dev/xvda,第一块云盘是 /dev/xvdb,第二块是 /dev/xvdc,以此类推)

分区:

fdisk -S 56 /dev/xvdb
依次输入“n”,“p”“1”,两次回车,“wq”

格式化:

mkfs.ext4 /dev/xvdb1

挂载:

mount -t ext4 /dev/xvdb1 /newdir/

以防以后系统启动没有被挂载,我们把挂载信息添加到 /etc/fstab 里面:

echo '/dev/xvdb1  /newdir ext4    defaults    0  0' >> /etc/fstab

5.修改网站根目录地址(重要)

同样是编辑nginx配置文件,sudo vi /etc/nginx/conf/vhosts/default.conf,在最前面(应该就是ServerName下面)找到 root /var/www 类似的一行,改成 root /newdir/site1 (/newdir/site1 是站点文件存放地址),然后再重启 nginx 服务。这里在 站点根目录下面建一个常用测试php的文件 test.php:

<?php phpinfo(); ?>

再打开浏览器,访问 test.php,就可以看到 php 测试页面数据了。

6.上传网站数据到云盘

如果默认安装了 ftp 的话,就可以直接上传了。我购买的镜像已经安装了 nsftp,不过以前没用过这东西,出了点小插曲。上传时,开始还行,后面就一直连接不上了,文件更加没法上传,之后查看错误信息才知道 nsftp 的根目录是不允许创建目录和文件的(不知道其他人有没有遇到过,也可能是我自己没处理好),我在终端的云盘ftp根目录创建了一个目录用于上传,比如 upload,然后一定要给 upload 这个目录的ftp用户权限,更改用户的命令是 chown –R 用户名:用户名 /newdir/upload/,然后修改目录权限:chmod 777 /newdir/upload。最后上传网站文件,再解压(最好是压缩后再上传,速度快流量少)到网站目录。

域名备案和绑定域名

关于域名备案,真心觉得国内对个人做网站要求太严了,难怪国内很难出来像 Facebook,SnapChat 这样的项目。

广东的备案要求是,个人不能做论坛、不能做下载、不能做社交、不能有评论、不能有分享、不能有游戏、不能有广告等,不知道其他地区是不是也一样,而且如果有其他的网站,所有的网站都需要这样要求。审核不能过所有的网站都得关闭。

还好阿里云在备案期间还能正常访问网站,不然搞一下个把月就不要做事了。

绑定域名的方法参照迁移的第三步,修改后重启nginx就行了。

感想

经过差不多两个星期的运行,感觉网站速度飞快,很稳定,自己随时可以重启 nginx 服务,万一发现问题修复起来也快,而且20G硬盘也不贵,就多了几十块钱,非常划算,以后还可以绑定更多的域名,做更多的网站。感觉舍得花一点小本钱,买得放心也值了。真的非常建议大家使用。

另外需要购买的可以使用推荐码,再打9折,很不错,我的推荐码是  OWTWY6 ,另外阿里云有时会搞活动,有优惠券,买之前可以先查一下。

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • Hero Patterns - 聚合各种 SVG 背景纹理素材的网站 - 梦想天空(山边小溪)

    Hero Patterns - 聚合各种 SVG 背景纹理素材的网站 - 梦想天空(山边

    2017-05-02 12:00

  • ASP.NET Core 网站在Docker中运行 - 漫步长江

    ASP.NET Core 网站在Docker中运行 - 漫步长江

    2017-04-13 12:00

  • 也谈谈我面试的经历 - 朝向远方

    也谈谈我面试的经历 - 朝向远方

    2017-04-06 15:00

  • [.NET] 一步步打造一个简单的 MVC 电商网站 - BooksStore(三) - 反骨仔(二五仔)

    [.NET] 一步步打造一个简单的 MVC 电商网站 - BooksStore(三) - 反

    2017-04-02 11:00

网友点评
a