欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-05-04 21:33:55
...

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

阿里云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

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

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

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

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

相关标签: php centos linux