AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 589
Accepted
Marcus Downing
Marcus Downing
Asked: 2009-05-01 04:33:20 +0800 CST2009-05-01 04:33:20 +0800 CST 2009-05-01 04:33:20 +0800 CST

阿帕奇的替代品

  • 772
锁定。这个问题及其答案被锁定,因为这个问题离题但具有历史意义。它目前不接受新的答案或交互。

我们当前的堆栈是 Apache + Tomcat + MySQL,使用ProxyPassAJP 来触发从 Apache 到 Tomcat 的请求。我们还在同一站点上运行 PHP for Wordpress,因此需要工作.htaccess文件。为了解决一个恼人的问题(请参阅此堆栈溢出页面),我们正在考虑替代堆栈。请注意,我们通常非常喜欢 Apache,但这个问题是一个障碍:如果我们不能修复它,我们就不能使用 Apache。

替代方案包括:

  • 单独的Tomcat
  • Glassfish(Java 应用服务器,从 Tomcat 分叉)
  • 码头(Java 服务器)
  • 树脂
  • LightTPD(轻量级 HTTP 服务器)
  • Nginx(轻量级 HTTP 服务器)

在我看来,解决方案分为两个阵营:纯 Java 阵营,例如 Glassfish;或者分裂阵营比如我们现在的 Apache + Tomcat。我们喜欢纯 Java 解决方案的想法,因为更少的移动部件应该意味着更少的出错;但是它们中的任何一个都支持 PHP、.htaccess文件等吗?

从理论上讲,我们可以用另一种方式进行拆分——有一个简单的前端,只在需要这些特性的那些位上代理 Apache——但实际上这将是 80% 的请求。

人们建议什么选择?

tomcat apache-2.2 glassfish jetty nginx
  • 5 5 个回答
  • 3688 Views

5 个回答

  • Voted
  1. Best Answer
    Rich
    2009-05-28T04:32:54+08:002009-05-28T04:32:54+08:00

    我强烈怀疑您的问题与 AJP 有关。

    几周前,我与一位主要的 Tomcat 开发人员一起参加了课程(他正在运行它),他的建议是避免使用 AJP 和 mod-JK 等,并坚持使用常规的 mod-proxy HTTP。

    原因:

    1. 它是迄今为止最成熟、最稳定的 Tomcat 连接器。
    2. 两种 AJP 实现都没有得到一致的开发;这两个项目都经历了一些停止/启动。
    3. 在这种情况下,NBIO 不会比阻塞 IO 带来任何现实世界的性能提升。

    我的建议是,尝试在当前设置中使用常规 mod-proxy HTTP。这对您来说是最少的更改,它将带您进入使用最广泛和最稳定的 Tomcat 部署架构。

    / 里奇

    • 7
  2. Jauder Ho
    2009-05-01T17:41:34+08:002009-05-01T17:41:34+08:00

    我目前首选的堆栈是使用 nginx 作为 Apache 的替代品。只要有必要,php-fpm 就可以满足 PHP 的需求。这样的设置非常适合部署 Rails、Magento 和 SugarCRM 等应用程序。

    • 5
  3. Joshua
    2009-05-01T18:20:15+08:002009-05-01T18:20:15+08:00

    Glassfish 将比 Tomcat 更具可扩展性,因为它使用 Grizzly(基于 NIO)。由于 Java 要求,除了 Tomcat、Jetty 或 Glassfish 的变体之外,您没有太多选择。PHP 可以使用Quercus运行,但最好使用 Nginx 部署它。

    • 4
  4. David Rabinowitz
    2009-05-01T07:33:00+08:002009-05-01T07:33:00+08:00

    Java 上有 PHP 实现,我知道(但没用过)的就是这个。有一篇关于如何在 GlassFish(包括 WordPress)上安装它的博客文章,但我猜在 tomcat 上的安装是一样的。关于 .htaccess,你还没有写出你在那里的确切内容,但如果是用于 URL 重写,那么 UrlRewriteFilter会以相同的语义完成相同的工作。

    • 2
  5. Adam Ramadhan
    2010-09-01T13:53:29+08:002010-09-01T13:53:29+08:00

    切诺基?他在哪里 ?http://www.cherokee-project.com/

    • 0

相关问题

  • 如何强制我的网址始终以 www 开头?

  • 在 Linux Xen VPS 上优化 Apache 和 MySQL

  • mod_rewrite 不转发 GET 参数

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve