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

如何用 nginx 进行高性能反向代理?

  •  
  •   zjgood · 2014-06-29 07:50:34 +08:00 via Android · 8080 次点击
    这是一个创建于 3831 天前的主题,其中的信息可能已经有所发展或是发生改变。
    目前有一台腾讯云和Linode,我想在Linode上配置好环境,然后在腾讯云上用nginx来反代,这样会比直接用Linode做服务器慢吗?V友们有没有什么高性能的解决方案呢?我想充分利用两台云主机。
    配置表:
    Linode 1G 单核 125Mbps Out 40Gbps In
    腾讯云 1G 共享单核 2Mbps Out 100+ Mbps In
    32 条回复    2014-07-02 13:33:43 +08:00
    sheaven
        1
    sheaven  
       2014-06-29 08:31:58 +08:00 via iPhone
    慢不慢关键看腾讯云回源linode速度怎么样
    Quaintjade
        2
    Quaintjade  
       2014-06-29 08:47:26 +08:00 via Android
    腾讯云现在有100mbps in?
    之前用1mbps配置下安装包、系统更新时,in也是1mbps速度。

    记得腾讯云是电信出口,高封时访问海外(尤其日本)会慢。
    如果你是架设网站的话,不如把静态文件缓存在腾讯云上,但这样又不如直接用CDN。
    9hills
        3
    9hills  
       2014-06-29 09:00:09 +08:00 via iPhone
    跨机房反代? 主要是带宽和延迟
    zjgood
        4
    zjgood  
    OP
       2014-06-29 09:00:17 +08:00 via Android
    @sheaven
    @Quaintjade
    腾讯云能在高峰期跑满我的Linode 125Mbps带宽。
    大家能给个配置方案?我应该在Linode上架设一个完整的LNMP然后腾讯云反代,还是只架设 LPM,不要nginx,然后在腾讯云的nginx配置文件中将location PHP交给Linode呢?
    zjgood
        5
    zjgood  
    OP
       2014-06-29 09:02:04 +08:00 via Android
    @9hills 是呀,主要觉得Linode鬼子机房不够稳定,如果用腾讯云nginx反代并缓存则何如?
    xiaop
        6
    xiaop  
       2014-06-29 09:39:37 +08:00 via iPhone
    太麻烦了,不如用cdn。
    图片之类用国内的cdn,网站直接用linode,这样也不会慢的。
    rhwood
        7
    rhwood  
       2014-06-29 10:26:04 +08:00
    当然可以,不过我习惯用varnish+haproxy,因为比nginx还简单
    zjgood
        8
    zjgood  
    OP
       2014-06-29 10:34:13 +08:00 via Android
    @rhwood 我觉得varnish好麻烦,而且相对于nginx也仅有10%的性能提升,不想搞
    iCodex
        9
    iCodex  
       2014-06-29 11:23:15 +08:00
    @zjgood varnish其实你也可以把动态缓存起来,但是要区别对待,比如只是发起GET请求的,可以缓存起来,没有必要进行缓存,如果是发起POST请求,那就直接扔给后端好了。
    这样再加上图片、css、js这些进行本地缓存,其实后端压力就小很多,也不会占用太多带宽。
    zjgood
        10
    zjgood  
    OP
       2014-06-29 11:32:34 +08:00 via Android
    @iCodex 诡谲大叔你一直都在啊。其实我第一次成功编译安装配置好varnish还是参照你dl子域名下的varnish安装脚本呢。。。你能多更新一些varnish当年的文章吗?😁
    akira
        11
    akira  
       2014-06-29 12:05:16 +08:00
    直接linode就好了吧
    zjgood
        12
    zjgood  
    OP
       2014-06-29 12:53:39 +08:00
    @akira Linode鬼子节点还是Fremont呢?
    oott123
        13
    oott123  
       2014-06-29 13:28:47 +08:00 via Android
    何必呢…这不折腾嘛。
    腾讯云不是有限制带宽的?
    网站大了带宽不够啊。
    zjgood
        14
    zjgood  
    OP
       2014-06-29 14:03:07 +08:00 via Android
    @oott123 好嘛,三三你一个月没更新了。
    我就Linode配合锐速试试
    xLzgkddTywk9ALsX
        15
    xLzgkddTywk9ALsX  
       2014-06-29 14:05:47 +08:00   ❤️ 1
    楼主跟我的方案差不多.我的是用一个二级域名来挂静态资源,动态请求转发后端

    反代:
    http://abublog.com/use-nginx-proxy.html

    静态缓存:
    http://abublog.com/nginx_proxy_store.html
    oott123
        16
    oott123  
       2014-06-29 14:08:06 +08:00
    @zjgood 我一个在阿里云上的站,2M带宽天天跑满,访问慢死了。
    akira
        17
    akira  
       2014-06-29 16:39:44 +08:00
    @oott123 你用上oss和cdn?
    zjgood
        18
    zjgood  
    OP
       2014-06-29 16:44:36 +08:00
    @oott123 @akira
    我刚刚装上了锐速,速度杠杠的,用Youtube来测试网速,1080P轻松流畅~
    oott123
        19
    oott123  
       2014-06-29 18:31:47 +08:00 via Android
    @akira 没有,太贵了,用不起。光是2m带宽就已经够呛了。
    oott123
        20
    oott123  
       2014-06-29 18:37:33 +08:00 via Android
    @zjgood YouTube 只要带宽够就行,我随便拿个渣线路都能跑满本地带宽啊,平时访问网页大多是延时的大小吧。毕竟都是小文件…
    akira
        21
    akira  
       2014-06-29 20:34:12 +08:00
    @oott123 你是网站么?每天2M跑满的话,还是想办法做下优化吧。
    oott123
        22
    oott123  
       2014-06-29 22:53:01 +08:00 via Android
    @akira 网站。
    优化指什么?基本都是动态内容,访客太多,带宽就跑满了。
    没钱,没法升级。
    有什么在不升级服务下优化的思路么?
    zjgood
        23
    zjgood  
    OP
       2014-06-29 22:58:06 +08:00 via Android   ❤️ 1
    @oott123 静态内容全部分流到又拍云或七牛,另外可以直接上CDN,阿里云的CDN按需付费,价格低廉,也可以全站静态化为HTML,然后把这些文件上传到又拍云,直接给又拍云的空间自定义域名到网站域名,评论交给多说。又拍云可以轻易刷新全部缓存。
    KyoHiroki
        24
    KyoHiroki  
       2014-06-29 22:58:18 +08:00
    @oott123 页面有做gzip么,能跑满2M带宽这访问量应该相当大了吧
    oott123
        25
    oott123  
       2014-06-29 23:15:08 +08:00 via Android
    @zjgood 多一块钱都付不起啦。七牛的免费额度早就用光了。

    @KyoHiroki 图片有点多。gzip倒是做了。
    oott123
        26
    oott123  
       2014-06-29 23:15:37 +08:00 via Android
    @zjgood 哦,另外我是论坛,静态化基本不可能的哈╮(╯▽╰)╭
    KyoHiroki
        27
    KyoHiroki  
       2014-06-29 23:23:48 +08:00   ❤️ 1
    @oott123 图片直接放本地?那是吃不消的,我阿里云5M团队内部用都觉得图片出得慢
    建议图片专门找图床放,阿里云那点小水管放图片简直要命
    oott123
        28
    oott123  
       2014-06-29 23:30:55 +08:00 via Android
    @KyoHiroki 图片基本上走七牛,七牛的免费流量和存储早已用完,现在靠着代金券撑着,撑不下去的时候估计就是倒闭的时候╮(╯▽╰)╭
    网站高峰的时候日pv大概15k吧。带宽确实就跑满了…也不知道怎么优化。
    最近想着还是挪去 Linode 吧…
    zjgood
        29
    zjgood  
    OP
       2014-06-29 23:42:45 +08:00 via Android
    @oott123 Linode+锐速固然妥妥的,但是我发现Linode 1G本来有125Mbps带宽,但是用了50Mbps版本的锐速后,带宽被强制限定在了50Mbps,感觉很不爽。。用腾讯云对Linode进行1000Mb.test测试时得到的结论说。
    oott123
        30
    oott123  
       2014-06-29 23:54:07 +08:00 via Android
    @zjgood 我记得锐速的逻辑是,超出 50Mbps 不加速来着。
    另外锐速的重发机制,导致要浪费一定的带宽,带宽没有原来那么多是正常的。
    另外你都那么土豪了,还在乎买多少带宽的锐速么。
    zjgood
        31
    zjgood  
    OP
       2014-06-30 00:03:01 +08:00 via Android   ❤️ 1
    @oott123 我哪里土豪了,我才高二,预算有限,不像你都已经大学生了。我以前的阿里云4M带宽是利用的阿里云的Bug,实际只付了1M的钱。。。
    xiaobu
        32
    xiaobu  
       2014-07-02 13:33:43 +08:00
    nginx+proxycache
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2715 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 00:26 · PVG 08:26 · LAX 16:26 · JFK 19:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.