Rumah  >  Artikel  >  pembangunan bahagian belakang  >  阿里云ECS服务器Win2003转换CentOS7.2全记录

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

WBOY
WBOYasal
2016-12-01 00:25:511174semak imbas

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

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

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

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

<code>mount -a</code>
  • 查看是否成功(成功)

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

<code>git --version</code>
  • 克隆项目到www目录

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

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

  • 生成部署公式,并测试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

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

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

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

<code>mount -a</code>
  • 查看是否成功(成功)

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

<code>git --version</code>
  • 克隆项目到www目录

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

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

  • 生成部署公式,并测试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服务器。

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

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:chevereto安装出错Artikel seterusnya:php面向对象中属性的问题