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

现在这个时候前 Nginx 后 Apache 的方式部署 PHP 还有必要吗?

  •  
  •   JiaFeiX · 2017-05-23 00:51:12 +08:00用 iPhone 发布 · 2008 次点击
    这是一个创建于 756 天前的主题,其中的信息可能已经有所发展或是发生改变。
    16 回复  |  直到 2017-05-23 17:55:33 +08:00
        1
    msg7086   2017-05-23 00:52:08 +08:00
    本来就没什么必要吧,纯粹是看个人口味。
    我已经六七年没用过 Apache 了。
        2
    cxbig   2017-05-23 01:09:48 +08:00
    同楼上,无非是个人习惯罢了。
        3
    nutting   2017-05-23 08:16:58 +08:00 via Android
    上学时候,玩过 php 是配合 apache,后来就不接触了,看到这还心想难道还有别的方式?一想那是 10 年前的事了…
        4
    my101du   2017-05-23 09:02:45 +08:00
    只有在做反向代理,目标地址有子目录的时候,我才怀念起 Apache 默认支持这个。。Nginx 一直搞不定。
        5
    lgpqdwjh   2017-05-23 09:06:06 +08:00
    上次用 apache 还是 2012 年。。。
        6
    ryd994   2017-05-23 09:23:23 +08:00   ♥ 1
    @my101du 不会啊……
    nginx 能带路径的啊……
    proxy_pass example.com/path/
        7
    johnlui   2017-05-23 10:31:22 +08:00
    Nginx 稳定性高于 Apache,但是 PHP-FPM 稳定性实在太差了,突发大流量不上人根本顶不住,会挂掉。

    Nginx 还能做 tcp 代理,话说我正准备在公司使用这种架构。。。
        8
    my101du   2017-05-23 10:51:37 +08:00
    @ryd994
    我的需求可能比较特殊:
    1. A 站点是一个普通的网站, www.A.com/path/ 是一个子目录
    2. B 站点是一个 Laravel 搭建的站,www.B.com/path/ 是一组路由定义,下面有 /path/action1 /path/action2
    3. 想要用户的浏览器地址栏看起来在一直停留在 www.A.com/path/?queryString, 实际上是在 www.B.com/path?queryString
    4. 不使用 rewrite (会让地址产生跳转变化)

    我找过不少资料,参数传递不过来。。。
        9
    wly19960911   2017-05-23 11:12:44 +08:00 via Android
    @my101du
    使用 a 站点那个目录的时候直接用 proxy_pass 把请求转发到 b 网站服务器不行吗
        10
    wly19960911   2017-05-23 11:14:47 +08:00 via Android
    @wly19960911
    使用正则把 /path 后面所有的路径进行 location,然后 proxy_pass 转发过去,这完全可以。没看楼上,楼上说的完全正确
        11
    ryd994   2017-05-23 11:40:20 +08:00
        12
    shooyaaa   2017-05-23 12:05:17 +08:00   ♥ 1
    @my101du

    location ^~ /test/ {
    alias /var/www/test/public/;
    rewrite ^/test/(.*)$ /index.php?$1;
    include fastcgi_params;
    fastcgi_param REQUEST_URI $query_string;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_pass 127.0.0.1:9001;
    break;
    }
    和你一样的问题,昨天搞了一天能用了,你可以试一下
        13
    swulling   2017-05-23 12:29:52 +08:00
    没有,PHP-FPM 欢迎你
        14
    jarlyyn   2017-05-23 12:52:48 +08:00 via Android
    有,比如你既需要.htaccess 又需要反代的时候。

    比如同时跑 Virtualmin 和其他语言的程序。
        15
    jasontse   2017-05-23 12:59:06 +08:00 via iPad
    看需求了,我单跑 PHP 的时候是喜欢直接用 FPM 的。
        16
    JiaFeiX   2017-05-23 17:55:33 +08:00
    > 但是 PHP-FPM 稳定性实在太差了,突发大流量不上人根本顶不住,会挂掉。

    @johnlui

    这个是真的吗? 好多站点应该是单纯的 nginx 架构吧?
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2415 人在线   最高记录 5043   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 21ms · UTC 15:23 · PVG 23:23 · LAX 08:23 · JFK 11:23
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1