从 apache 迁移到 nginx 需要注意些什么? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cokebar
V2EX    NGINX

从 apache 迁移到 nginx 需要注意些什么?

  •  
  •   cokebar 2015-02-19 10:28:38 +08:00 7932 次点击
    这是一个创建于 3961 天前的主题,其中的信息可能已经有所发展或是发生改变。
    目前是wordpress站点 apache2.4 开了https spdy 反向代理,有不少自定义的规则 新手想问下 迁移要注意点什么?
    第 1 条附言    2015-02-22 21:28:57 +08:00
    感谢各位的解答 给了我很多思路
    经过3天的折腾已经基本完成了全部的迁移 还额外添加了一些功能
    而且利用nginx的fcgi_cache模块更是无需wp的cache插件了
    还加了nginx_pagespeed_module 不过就是一渣渣博客站点 没啥浏览量也不清楚有多少提速效果
    反正经过自己之前改插件代码改主题优化了css和js推送以后 配合这俩模块 pagespeed insight有90+
    还用boringssl替代了openssl实现了chacha20-poly1305 开上HSTS ssllab A+
    自然spdy3.1也没有问题 相信http/2也不远了

    纯属瞎折腾学习新东西
    32 条回复    2015-02-23 06:49:50 +08:00
    loveyu
        1
    loveyu  
       2015-02-19 10:44:34 +08:00   1
    nginx都支持来着,重新配置就好了
    sophymax
        2
    sophymax  
       2015-02-19 10:53:12 +08:00
    受不了nginx配置语法的可以去了解下openresty或者Tengine里的ngx_lua模块 , 很容易理解 。
    Troevil
        3
    Troevil  
       2015-02-19 11:04:59 +08:00
    伪静态规则要变动
    Chipper
        4
    Chipper  
       2015-02-19 11:06:57 +08:00
    伪静态规则要改
    geekzu
        5
    geekzu  
       2015-02-19 11:29:22 +08:00
    首先是Rewrite规则
    其次,记得编译Nginx的时候就编译进去SSL和SPDY
    另外,如果条件允许,建议前端Nginx+后端Apache,WP仍然跑在Apache上
    sdomusic
        6
    sdomusic  
       2015-02-19 11:46:12 +08:00 via iPhone
    主要就是伪静态 其他就看自己的具体需求了
    cokebar
        7
    cokebar  
    OP
       2015-02-19 11:48:48 +08:00
    @geekzu 好主意 nginx反代apache
    Mihuwa
        8
    Mihuwa  
       2015-02-19 12:56:51 +08:00 via iPhone
    建议前端Nginx+后端Apache
    phoenixlzx
        9
    phoenixlzx  
       2015-02-19 14:26:47 +08:00   1
    wordpress 需要做伪静态吗.... 不是自带了吗都

    以及我觉得要上 nginx 就彻底抛弃 apache,然后这个问题的答案是注意不要被 nginx 带来的性能提升吓飞

    (apache 一生黑

    顺便新手的话有个不错的东西 -> http://winginx.com/en/htaccess
    (Linux 下一样的
    typcn
        10
    typcn  
       2015-02-19 14:32:36 +08:00 via iPhone
    nginx 再加一层 apache 毫无意义,只会降低处理速度并提升数倍系统负载
    msg7086
        11
    msg7086  
       2015-02-19 14:51:56 +08:00 via iPhone
    阿帕奇一生黑啊
    salemilk
        12
    salemilk  
       2015-02-19 15:18:47 +08:00 via iPhone
    我就是喜欢apache,而且没有访问量的话,是不是apache好啊,至少没有502啊.
    pwinner
        13
    pwinner  
       2015-02-19 15:22:34 +08:00 via Android
    apache加上hhvm还过得去→_→
    msg7086
        14
    msg7086  
       2015-02-19 15:42:54 +08:00 via iPhone
    @salemilk 没有访问量也不会出502。
    而且出502的流量,阿帕奇早就爆内存了。
    sumhat
        16
    sumhat  
       2015-02-19 17:20:07 +08:00
    请问楼主是怎么在 2.4 中装上 SPDY 的?非官方库?
    snnn
        17
    snnn  
       2015-02-19 18:35:23 +08:00
    迁移到ATS吧。apache traffic server。性能卓越,对spdy的支持很好。马上就要支持http/2了。
    ryd994
        18
    ryd994  
       2015-02-19 20:41:25 +08:00 via Android
    从一开始就是Nginx,完全没体会出Apache有什么优点
    geekzu
        19
    geekzu  
       2015-02-19 20:43:20 +08:00
    @phoenixlzx nginx不带
    cokebar
        20
    cokebar  
    OP
       2015-02-19 20:49:08 +08:00
    @sumhat apache的svn站点有trunk版的
    ryd994
        21
    ryd994  
       2015-02-20 08:28:12 +08:00 via Android
    @phoenixlzx 各种if
    if is evil
    v998
        22
    v998  
       2015-02-20 09:48:41 +08:00   1
    @sumhat @cokebar 是这个.... https://github.com/eousphoros/mod-spdy
    SVN的trunk是从这个fork的......几个月前的版本有问题...是NPN和HTTP POST有问题...
    可惜现在chrome不能用 [SPDY 3.0] , mod-spdy也就废了(只有SPDY/2,SPDY/3.0) .......
    不过现在都在推广HTTP/2了....
    ryd994
        23
    ryd994  
       2015-02-20 13:13:36 +08:00 via Android
    v998
        24
    v998  
       2015-02-20 13:18:36 +08:00
    @ryd994 对..
    例如这样:
    listen 443 ssl spdy;
    ryd994
        25
    ryd994  
       2015-02-20 13:32:21 +08:00
    @v998
    @sumhat
    @cokebar
    不好意思看错了,请无视……
    我没注意在说apache
    v998
        26
    v998  
       2015-02-20 13:39:42 +08:00
    @ryd994 不要紧..
    早已注意到你说的是nginx..
    mytsing520
        27
    mytsing520  
    PRO
       2015-02-20 16:46:51 +08:00
    @phoenixlzx wp自带的是基于apache写的规则。
    ryd994
        28
    ryd994  
       2015-02-20 20:50:00 +08:00 via Android
    @mytsing520 Nginx的规则WordPress根本没权限改,更不可能reload,而且要识别语法更是不可能。ask the fucking Google。第一条就是
    mytsing520
        29
    mytsing520  
    PRO
       2015-02-21 09:27:52 +08:00
    @ryd994 我可没说Nginx的规则WP可以改或者reload
    zlpd
        30
    zlpd  
       2015-02-22 18:47:06 +08:00
    其实就是伪静态的规则需要修改一下 不过网络上有转换的 很方面
    cokebar
        31
    cokebar  
    OP
       2015-02-22 21:23:24 +08:00
    @v998 可以的 是spdy3.1 我最先用的就是那个github的 后来看到svn里面的
    不过现在已经成功迁移到nginx了 彻底抛弃apache了
    aarwwefdds
        32
    aarwwefdds  
       2015-02-23 06:49:50 +08:00
    nginx主要强项还是做IO 不要给它太多额外工作。像ngx_pagespeed这样的 会加重worker的负担 增加不稳定性...

    从别处听来的一个比喻
    “Apache prefork模式是100个普通人烧100桶水,其中1个人开小差了,还能烧开99桶水;nginx是1个超人烧100桶水,那个人开小差了,所有的水都没了”

    当然实际情况nginx也可以有多个worker,这只是这么个比喻。不过访问量小也不太有所谓了。。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1235 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 44ms UTC 17:31 PVG 01:31 LAX 09:31 JFK 12:31
    Do have faith in what you're doing.
    ubao msn 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