Linux 线上服务器一般怎样部署程序,便于后期维护更新 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
care
V2EX    程序员

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

  •  
  •   care 2017-08-15 09:14:45 +08:00 6076 次点击
    这是一个创建于 2978 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    1,编译源代码方式部署

    2,yum 方式安装部署

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

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

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

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

    不能上走源。

    对外提供服务的别作死自己编译。不然有紧急安全升级你就哭吧。
    sublime
        11
    sublime  
       2017-08-15 09:48:24 +08:00
    换软件源,yum 安装,部分使用源码编译的方式,不过不怎么好维护,比如换服务商或增加机器的时候,就要重新来一遍了,目前考虑换 docker
    NoAnyLove
        12
    NoAnyLove  
       2017-08-15 10:00:23 +08:00
    @care 为啥源码编译会比较方便管理?没有做过业务迁移。。。。。。不过在我看来,如果只有一两台机器,我就手动操作了,不过如果机器多了的话还是得写脚本或者借用其他部署工具。Dockers 很棒,不过一直没有机会尝试
    NoAnyLove
        13
    NoAnyLove  
       2017-08-15 10:02:56 +08:00
    @my101du 话说,VPS 上也能部署 Docker 吗?对 VPS 用的 虚拟技术有要求吗?
    privil
        14
    privil  
       2017-08-15 10:08:47 +08:00
    源码编译打包自己的 rpm 包发布,老牌的批量做法是这样的
    majinjing3
        15
    majinjing3  
       2017-08-15 10:11:31 +08:00 via Android
    @NoAnyLove VPS 上可以安装 docker
    NoAnyLove
        16
    NoAnyLove  
       2017-08-15 10:32:23 +08:00
    @majinjing3 基于 OpenVZ、Xen 和 KVM 等技术的 VPS 上也可以吗?
    wekw
        17
    wekw  
       2017-08-15 10:45:33 +08:00 via Android
    docker 就是个软件,没啥不能用的
    wwqgtxx
        18
    wwqgtxx  
       2017-08-15 12:59:41 +08:00 via iPhone
    @NoAnyLove 内核版本高于 3.4 就能完美运行了,在 2.8 到 3.4 之间会有点兼容性问题,2.6 基本上没戏
    NoAnyLove
        19
    NoAnyLove  
       2017-08-15 13:44:13 +08:00
    @wwqgtxx 最近刚刚把内核升级到了 3.9,不过我估计 512M 的丝机应该跑不了,Orz。我一直以为 Docker 用了虚拟机技术,因为在 Windows 上要么需要 VirtualBox,要么需要用 Hyper-V,搜索了一下才发现用的是 Linux 的容器技术,和虚拟机技术不同。话说,应用部署在 Docker 里面对性能的损耗有多大?
    wwqgtxx
        20
    wwqgtxx  
       2017-08-15 13:56:50 +08:00 via iPhone   1
    @NoAnyLove 几乎没有损耗
    在 win/mac 下需要虚拟机是因为他依赖于 linux 内核的 cgroups,这个只有 linux 内核才提供了,而在标准 linux 下是直接实现的
    simapple
        21
    simapple  
       2017-08-15 13:58:07 +08:00
    现在来说 当然是 docker
    libook
        22
    libook  
       2017-08-15 15:36:17 +08:00
    看需求,没有特殊需求当然是越简单越好。
    joye1230
        23
    joye1230  
       2017-08-15 16:59:22 +08:00
    apt-get 绝对比 yum 方便........
    majinjing3
        24
    majinjing3  
       2017-08-15 17:18:00 +08:00 via Android
    @NoAnyLove docker 主要依赖内核版本,现在基本都支持的,很方便的,
    care
        25
    care  
    OP
       2017-08-16 07:13:45 +08:00 via iPhone
    @my101du 请教一下,你生产环境是用的 yum update php 更新的 7.0-->7.1 还是源代码编译更新的?因为我使用第三方 php 源,使用 yum update php 方式是无法更新 php 版本的,系统提示“ packages php available,but not installed. no packages marked for update ”
    话说 yum list [filename]参数怎么不能 list 出第三方源的软件列表吗?
    my101du
        26
    my101du  
       2017-08-16 09:16:57 +08:00
    @NoAnyLove 应该在大部分资源分配足够的 VPS 上是可以的,我在阿里云,Vultr 上都安装过 Docker. 但是你说的 OpenVZ 这种结构我没有试过, 这方面请专业人士来解答下。

    @care 用源码编译的(先删除旧的),过程挺慢的。所以还得先删除 nginx 里的 php 支持,然后挂个维护页面,要不用户就炸了。。。
    sofs
        27
    sofs  
       2017-08-16 11:02:36 +08:00
    docker
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3101 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 37ms UTC 11:06 PVG 19:06 LAX 04:06 JFK 07:06
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86