Linux 线上服务器一般怎样部署程序,便于后期维护更新

2017-08-15 09:14:45 +08:00
 care

例如部署 LAMP 服务器跑业务: 系统 CentOS7.3

1,编译源代码方式部署

2,yum 方式安装部署

请教各位大佬,一般都使用哪种方式部署业务服务器,便于后期的程序更新和维护

5545 次点击
所在节点    程序员
27 条回复
NoAnyLove
2017-08-15 09:20:05 +08:00
源码编译现在大家一般都是用一键脚本比较多吧,一般的一键脚本都会自带升级脚本,只要你有时间记得去更新也行。

yum 安装其实更方便,安装和更新都超快,不过一般系统源版本都比较老,虽然想 Apache、MySQL 也有提供官方源,不过如果我没记错的话,PHP 是木有官方源的,要么自己编译、要么用第三方或者系统源
albertofwb
2017-08-15 09:20:53 +08:00
定制自己的一键脚本
littleylv
2017-08-15 09:24:20 +08:00
系统的源非常旧,先安装第三方源,然后 yum
care
2017-08-15 09:26:34 +08:00
@NoAnyLove 源码编译方式比较好统一管理,yum 方式就是比较简单,做业务迁移的时候可能就没有源码编译方式方便吧?这是我个人的理解,不对勿喷^_^
ericls
2017-08-15 09:26:48 +08:00
K8s
whileFalse
2017-08-15 09:28:09 +08:00
docker, 维护炒鸡容易
my101du
2017-08-15 09:28:12 +08:00
最开始就一台机器,自己一步步手动编译 ----> 后来机器多了,自己写部署脚本 ----> 后来买了一些 $S 的机器,就用网上成熟的一键脚本

最近因为 PHP 升级比较激进,再加上用了喜欢刷版本往前跑的 Laravel,导致本地环境开发后,发现生产环境升级 PHP 要中断服务( 7.0->7.1 ),准备学习然后换 Docker + Jenkins 了....
pengdu
2017-08-15 09:39:40 +08:00
现在流行 Docker + Kubernetes
cloverstd
2017-08-15 09:42:57 +08:00
Docker ,升级镜像即可
jarlyyn
2017-08-15 09:47:08 +08:00
能上 docker 上 docker

不能上走源。

对外提供服务的别作死自己编译。不然有紧急安全升级你就哭吧。
sublime
2017-08-15 09:48:24 +08:00
换软件源,yum 安装,部分使用源码编译的方式,不过不怎么好维护,比如换服务商或增加机器的时候,就要重新来一遍了,目前考虑换 docker
NoAnyLove
2017-08-15 10:00:23 +08:00
@care 为啥源码编译会比较方便管理?没有做过业务迁移。。。。。。不过在我看来,如果只有一两台机器,我就手动操作了,不过如果机器多了的话还是得写脚本或者借用其他部署工具。Dockers 很棒,不过一直没有机会尝试
NoAnyLove
2017-08-15 10:02:56 +08:00
@my101du 话说,VPS 上也能部署 Docker 吗?对 VPS 用的 虚拟技术有要求吗?
privil
2017-08-15 10:08:47 +08:00
源码编译打包自己的 rpm 包发布,老牌的批量做法是这样的
majinjing3
2017-08-15 10:11:31 +08:00
@NoAnyLove VPS 上可以安装 docker
NoAnyLove
2017-08-15 10:32:23 +08:00
@majinjing3 基于 OpenVZ、Xen 和 KVM 等技术的 VPS 上也可以吗?
wekw
2017-08-15 10:45:33 +08:00
docker 就是个软件,没啥不能用的
wwqgtxx
2017-08-15 12:59:41 +08:00
@NoAnyLove 内核版本高于 3.4 就能完美运行了,在 2.8 到 3.4 之间会有点兼容性问题,2.6 基本上没戏
NoAnyLove
2017-08-15 13:44:13 +08:00
@wwqgtxx 最近刚刚把内核升级到了 3.9,不过我估计 512M 的屌丝机应该跑不了,Orz。我一直以为 Docker 用了虚拟机技术,因为在 Windows 上要么需要 VirtualBox,要么需要用 Hyper-V,搜索了一下才发现用的是 Linux 的容器技术,和虚拟机技术不同。话说,应用部署在 Docker 里面对性能的损耗有多大?
wwqgtxx
2017-08-15 13:56:50 +08:00
@NoAnyLove 几乎没有损耗
在 win/mac 下需要虚拟机是因为他依赖于 linux 内核的 cgroups,这个只有 linux 内核才提供了,而在标准 linux 下是直接实现的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/382962

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX