V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
fghfjujiber
V2EX  ›  问与答

如何在不停服务器的情况下更新网站后端?

  •  
  •   fghfjujiber · 2015-05-28 10:22:55 +08:00 · 5155 次点击
    这是一个创建于 3261 天前的主题,其中的信息可能已经有所发展或是发生改变。

    能不能我先把域名绑到另外一个服务器上,另外一个更新好了再绑回去?还是有更smart的办法?

    26 条回复    2015-05-28 21:32:04 +08:00
    Septembers
        1
    Septembers  
       2015-05-28 10:35:00 +08:00 via Android
    前端反代
    andybest
        2
    andybest  
       2015-05-28 10:36:04 +08:00
    @Septembers 这样需要修改dns吧?
    fising
        3
    fising  
       2015-05-28 10:36:08 +08:00
    请先讲讲所谓的网站后端是什么
    fghfjujiber
        4
    fghfjujiber  
    OP
       2015-05-28 10:37:05 +08:00
    @Septembers 百度谷歌了一下,没看懂...好像是用ngix的对吧?
    lyragosa
        5
    lyragosa  
       2015-05-28 10:37:58 +08:00
    看起来后端不是php
    fghfjujiber
        6
    fghfjujiber  
    OP
       2015-05-28 10:38:18 +08:00
    @fising 后端用Java写的,起的是tomcat,前端用angular
    qiayue
        7
    qiayue  
       2015-05-28 10:40:11 +08:00   ❤️ 1
    PHP是世界上最好的语言,直接更新不停服务器
    huijiewei
        8
    huijiewei  
       2015-05-28 11:01:10 +08:00
    做个反向代理啊。要更新的时候先把旧系统放另外一个服务器,然后改下指向。

    不要乱改DNS,DNS缓存会要你命
    fghfjujiber
        9
    fghfjujiber  
    OP
       2015-05-28 11:03:30 +08:00
    @huijiewei 感谢,我试试啊。
    Septembers
        10
    Septembers  
       2015-05-28 11:03:32 +08:00 via Android
    @huijiewei TTL时间最长的递归DNS缓存48小时
    pijingzhanji
        11
    pijingzhanji  
       2015-05-28 11:05:04 +08:00
    用我大php则不会有此烦恼
    linescape
        12
    linescape  
       2015-05-28 11:06:05 +08:00
    PHP顶起来 哈哈
    GhostFlying
        13
    GhostFlying  
       2015-05-28 11:12:35 +08:00
    nginx 反代或者前面上个负载均衡器吧
    defia
        14
    defia  
       2015-05-28 11:17:02 +08:00
    很多语言都有方法无缝重启
    搜一下对应的gradeful restart
    defia
        15
    defia  
       2015-05-28 11:18:42 +08:00
    打错了,是graceful
    fghfjujiber
        16
    fghfjujiber  
    OP
       2015-05-28 11:22:30 +08:00
    @GhostFlying 了解!
    fghfjujiber
        17
    fghfjujiber  
    OP
       2015-05-28 11:27:15 +08:00
    @defia 无缝重启?好像很厉害哦
    abcfyk
        18
    abcfyk  
       2015-05-28 12:02:55 +08:00
    没做负载均衡?不过PHP没做负载均衡一样无缝升级哈哈。PHP果然是全宇宙最好的语言。 :)
    mhycy
        19
    mhycy  
       2015-05-28 12:12:05 +08:00
    其实如果后端两台服务器是完全可替代的话, 修改DNS也算是个办法吧?(注意Session同步)
    等到原服务器完完全全没流量的时候直接把那台机器下线就好了..
    趁着这机会部署个Nginx反代后端
    wwqgtxx
        20
    wwqgtxx  
       2015-05-28 12:34:51 +08:00 via Android
    jboss不是可以热部署么?
    choury
        21
    choury  
       2015-05-28 12:51:42 +08:00 via Android
    换个端口,iptables转发下
    ksc010
        22
    ksc010  
       2015-05-28 12:57:20 +08:00
    @mhycy DNS 有缓存的啊不靠谱
    bydmm
        23
    bydmm  
       2015-05-28 13:36:40 +08:00
    说白了就是分批重启
    mhycy
        24
    mhycy  
       2015-05-28 14:07:28 +08:00
    @ksc010 要的就是缓存时候双机共存的过度状态
    feilaoda
        25
    feilaoda  
       2015-05-28 14:42:06 +08:00
    nginx reload
    ledzep2
        26
    ledzep2  
       2015-05-28 21:32:04 +08:00
    如果应用服务不支持共享socket, 那新版程序fastcgi另起一个端口, nginx切过去, 老的graceful shutdown. 如果支持, 那直接新版fastcgi起来, 老得graceful shutdown.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2459 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 13:35 · PVG 21:35 · LAX 06:35 · JFK 09:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.