V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
care
V2EX  ›  程序员

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

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

    例如部署 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
    定制自己的一键脚本
    littleylv
        3
    littleylv  
       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   ·   实用小工具   ·   884 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 22:21 · PVG 06:21 · LAX 14:21 · JFK 17:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.