阿里云ECS服务器Win2003转换CentOS7.2全记录
发此文也是为了记录和分享,虽然都很初级的东西,不过还是希望如果有不会的认看到有帮助。有人疑问我把这看似文章的东西发到了问答里会不会被踩。其实我这文章是有问题的,因为我还没搞定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服务器。
很想知道你把文章发到问题里面,会不会被踩……