当前位置:  开发笔记 > 编程语言 > 正文

阿里云ECS服务器Win2003转换CentOS7.2全记录

发此文也是为了记录和分享,虽然都很初级的东西,不过还是希望如果有不会的认看到有帮助。有人疑问我把这看似文章的东西发到了问答里会不会被踩。其实我这文章是有问题的,因为我还没搞定gitwebhook自动部署,因

发此文也是为了记录和分享,虽然都很初级的东西,不过还是希望如果有不会的认看到有帮助。有人疑问我把这看似文章的东西发到了问答里会不会被踩。其实我这文章是有问题的,因为我还没搞定git webhook自动部署,因为实在不想开shell_exec权限,不知道大神还有什么好办法实现自动部署。

前言 & 背景:


本来的阿里云服务器是Win2003(40G系统盘+70G数据盘),系统上运行的都是PHP系统,用Win做服务器本来就很鬼扯了,无奈本人一直没有碰过Linux,所以一直没有改系统;

原来都是本地改好代码然后FTP到服务器,太Low了,看了@安正超大神写的Webhook自动部署,于是开始弄,发现Win2003下的各种权限真是闹心的要死;借着这个机会,干脆鼓起勇气换系统,拥抱CentOS7.2吧。

准备工作


因为从没碰过Linux,所以做了很多准备工作,做了很多功课;发现问题最大的就是70G数据盘的处理,因为从Win更换到CentOS后,肯定是挂载不上的;阿里的工程师给的解决方案是用Ntfs-3G读取,虽然我不懂这东西好坏,但是我还是想格式化用Linux本来就认的方式来挂载这块数据盘。

这样就涉及一个数据备份本地并且回传的问题,我数据盘里大概有6个G的附件数据,都是图片;打包备份下载到本地需要5小时,上传需要5小时,这太久;SF的朋友给了建议临时买OSS转过去在转回来,临时买块云盘转过去再转回来,感谢这两位朋友;不过我最后还是打包下载到了本地,发此文是正在上传zip到服务器。

正式开始

  • 停用实例,更换系统盘,选择CentOS7.2 x64 > 顺利成功

  • SSH到服务器:fdisk -l 发现盘已经分区

  • 我用的一键环境是宝塔 bt.cn ,要把数据盘挂载到/www目录,so

mkdir -p /www
  • 格式化数据盘

mkfs.ext4 /dev/xvdb1
  • 挂载数据盘到/www目录

echo "/dev/xvdb1         /www         ext4           defaults            0 0" >> /etc/fstab
  • 重载所有分区

mount -a
  • 查看是否成功(成功)

df -h
  • 看装没装git,阿里的CentOS自带git 1.8.x哦

git --version
  • 克隆项目到www目录

git clone http://coding.com.....
  • 恢复数据库

  • 用宝塔面板新建站点,指定项目目录;站点访问成功。

  • 生成部署公式,并测试git pull;无任何问题。

至此项目已经恢复运行,只差附件还在上传,以前都再Win下开发都没考虑大小写问题,简单测试项目目前没发现大小写问题。

因为shell_exec命令实在太危险了,如果让hook.php来触发shell_exec('git pull'),一旦系统有漏洞被非法分子利用执行shell_exec就惨了,现在暂时还是手动ssh到服务器手动pull,或者用宝塔后台的定时任务。

上个图庆祝下,顺便感谢 宝塔Linux助手 bt.cn 、宝塔工程师阿良 、 @gleilei 、@laminux29

回复内容:

发此文也是为了记录和分享,虽然都很初级的东西,不过还是希望如果有不会的认看到有帮助。有人疑问我把这看似文章的东西发到了问答里会不会被踩。其实我这文章是有问题的,因为我还没搞定git webhook自动部署,因为实在不想开shell_exec权限,不知道大神还有什么好办法实现自动部署。

前言 & 背景:


本来的阿里云服务器是Win2003(40G系统盘+70G数据盘),系统上运行的都是PHP系统,用Win做服务器本来就很鬼扯了,无奈本人一直没有碰过Linux,所以一直没有改系统;

原来都是本地改好代码然后FTP到服务器,太Low了,看了@安正超大神写的Webhook自动部署,于是开始弄,发现Win2003下的各种权限真是闹心的要死;借着这个机会,干脆鼓起勇气换系统,拥抱CentOS7.2吧。

准备工作


因为从没碰过Linux,所以做了很多准备工作,做了很多功课;发现问题最大的就是70G数据盘的处理,因为从Win更换到CentOS后,肯定是挂载不上的;阿里的工程师给的解决方案是用Ntfs-3G读取,虽然我不懂这东西好坏,但是我还是想格式化用Linux本来就认的方式来挂载这块数据盘。

这样就涉及一个数据备份本地并且回传的问题,我数据盘里大概有6个G的附件数据,都是图片;打包备份下载到本地需要5小时,上传需要5小时,这太久;SF的朋友给了建议临时买OSS转过去在转回来,临时买块云盘转过去再转回来,感谢这两位朋友;不过我最后还是打包下载到了本地,发此文是正在上传zip到服务器。

正式开始

  • 停用实例,更换系统盘,选择CentOS7.2 x64 > 顺利成功

  • SSH到服务器:fdisk -l 发现盘已经分区

  • 我用的一键环境是宝塔 bt.cn ,要把数据盘挂载到/www目录,so

mkdir -p /www
  • 格式化数据盘

mkfs.ext4 /dev/xvdb1
  • 挂载数据盘到/www目录

echo "/dev/xvdb1         /www         ext4           defaults            0 0" >> /etc/fstab
  • 重载所有分区

mount -a
  • 查看是否成功(成功)

df -h
  • 看装没装git,阿里的CentOS自带git 1.8.x哦

git --version
  • 克隆项目到www目录

git clone http://coding.com.....
  • 恢复数据库

  • 用宝塔面板新建站点,指定项目目录;站点访问成功。

  • 生成部署公式,并测试git pull;无任何问题。

至此项目已经恢复运行,只差附件还在上传,以前都再Win下开发都没考虑大小写问题,简单测试项目目前没发现大小写问题。

因为shell_exec命令实在太危险了,如果让hook.php来触发shell_exec('git pull'),一旦系统有漏洞被非法分子利用执行shell_exec就惨了,现在暂时还是手动ssh到服务器手动pull,或者用宝塔后台的定时任务。

上个图庆祝下,顺便感谢 宝塔Linux助手 bt.cn 、宝塔工程师阿良 、 @gleilei 、@laminux29

看着你们为了节约钱几十个G都能折腾这么半天,而我一整套新刀片集群和存储挂载自建BGP机房什么都没干纯粹浪费电,感觉有些心酸。

可以玩玩Docker,用Docker部署个jenkins,做持续集成,git上去,服务器自动测试和部署发布。也可以用Docker部署个gitlab,可以做自己的git服务器。

很想知道你把文章发到问题里面,会不会被踩……

推荐阅读
黄晓敏3023
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有