V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
cokebar
V2EX  ›  NGINX

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

  •  
  •   cokebar · 2015-02-19 10:28:38 +08:00 · 7412 次点击
    这是一个创建于 3567 天前的主题,其中的信息可能已经有所发展或是发生改变。
    目前是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  
       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  
       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   ·   实用小工具   ·   1331 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 23:37 · PVG 07:37 · LAX 15:37 · JFK 18:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.