Articles of Apache

为什么在NGINX / Cherokee / Lighttpd上使用Apache?

Apache十多年来一直是事实上的标准Web服务器,但近年来,我们已经为Web服务器带来了更less的RAM,并且每秒处理更多的请求,使用更less的线程和asynchronousI / O。 在我看来,我也发现这些服务器的configuration更直接,最小化。 为什么人们在asynchronous服务器更轻量化时使用Apache? 有没有明显的好处?

如何模拟DDOS / Slashdotting?

所以,我想获得更多的高stream量网站的经验,但不幸的是,互联网并没有打到我的博客的大门。 我如何在博客上模拟每秒几十次点击并testing其性能? 我在共享服务器上使用SSH帐户托pipe我的博客。

413请求实体太大+ Web服务器连接已closures| 错误64

我目前正在Apache + nginx上主持一个django项目。 当我尝试上传一个大文件时,我得到一个413请求实体太大的错误信息。 我也有一个django-cms项目,当我试图上传一个超过5meg的文件时,我得到一个错误代码64,Web服务器连接被closures。 提前致谢,

PHP的getallheaders替代

我想从我的服务器上从Apache切换到Nginx。 这里唯一的问题是在我的PHP脚本中使用的getallheaders()函数不能与Nginx一起使用。 我已经尝试了php站点上getallheaders finction的用户贡献的笔记,但是不返回所有的请求头。 请告诉我如何解决这个问题。 我真的很想切换到Nginx。

从Android应用程序与服务器进行通信时出现各种HTTP错误

更新:2015年1月4日 我仍然有这些问题。 我们的应用程序的用户增加,我看到所有types的networking错误。 我们的应用程序发送电子邮件每次有一个networking相关的应用程序错误。 我们的应用程序进行金融交易 – 所以重新提交并不是真正的幂等 – 所以非常害怕启用HttpClient的重试function。 我们已经在服务器上做了一些响应caching来处理由用户明确完成的重新提交。 但是,仍然没有解决scheme没有不良的用户体验。 原来的问题 我有一个Android应用程序发布数据作为用户操作的一部分。 数据包括几个图像,我把它们作为Protobuf消息(字节数组,有效)打包并通过HTTPS连接发送到服务器。 虽然该应用大部分工作正常,但偶尔会看到连接错误。 这个问题现在已经变得更加明显,我们有一些用户在相对较慢的networking区域(2G连接)。 但是,这个问题并不仅限于连接速度慢的地方,客户在使用WiFi和3G连接时会遇到问题。 我们在App日志中注意到了一些例外情况 下面的一个5分钟后发生,因为我已经将套接字超时设置为5分钟。 这个应用程序试图发布145kb的数据 堆栈跟踪java.net.SocketTimeoutException:读取超时在org.apache.harmony.xnet.provider.jsse.NativeCrypto.SSL_read(本地方法)在org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl $ SSLInputStream.read( OpenSSLSocketImpl.java:662)org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:103)at org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:191) 下面一个发生了2.5分钟(套接字超时设置为5分钟),客户端正在发送144kb的数据 javax.net.ssl.SSLException:写入错误:ssl = 0x5e4f4640:系统调用期间发生I / O错误,在org.apache的org.apache.harmony.xnet.provider.jsse.NativeCrypto.SSL_write(Native Method)中断开pipe道。 (org.apache.http.impl.io.AbstractSessionOutputBuffer.write(AbstractSessionOutputBuffer.java:109))。 io.ContentLengthOutputStream.write(ContentLengthOutputStream.java:113) 1分钟后发生下面的一个。 堆栈跟踪javax.net.ssl.SSLException:由org.apache.harmony.xnet.provider.jsse.NativeCrypto.SSL_do_handshake(org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.startHandshake (OpenSSLSocketImpl.java:378)at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.getInputStream(OpenSSLSocketImpl。org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl $ SSLInputStream。(OpenSSLSocketImpl.java:634)at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.getInputStream(OpenSSLSocketImpl。 Java的:605) 77秒后发生下面的一个 堆栈跟踪javax.net.ssl.SSLException:SSL握手中止:ssl = 0x5e2baf00:系统调用期间的I / O错误,由org.apache.harmony.xnet.provider.jsse.NativeCrypto.SSL_do_handshake(Native方法) org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:378)at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl $ SSLInputStream。(OpenSSLSocketImpl.java:634)at org。 apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.getInputStream(OpenSSLSocketImpl.java:605)at org.apache.http.impl.io.SocketInputBuffer。(SocketInputBuffer.java:70) […]

为什么Apache Event MPMperformance不佳?

Event MPM的devise与Nginx不完全相同,但它的devise明显是为了使Keepalive更加稳定,并能更快地发送静态文件。 我的理解是Event MPM是一个误用,因为: 虽然连接传递给kqueue / epoll, 某些非常重要的模块(如mod_gzip和mod_ssl)会阻塞/消耗一个线程,直到完成响应, 这是大文件的问题,但可能不适用于PHP生成的HTML文档等。 不幸的是,阿帕奇不断失去市场份额,而大多数基准都在为MPM事件蒙上阴影。 基准是有缺陷的,还是事件MPM真的对Nginx不好? 即使有这些限制,在正常stream量(非恶意)和较小的文件下,它应该与Nginx有点竞争。 例如,它应该是有竞争力的,通过慢速连接的php-fpm服务PHP生成的文档,因为文档将被缓冲(即使是ssl'd和gzip'd)并被asynchronous发送。 无论使用压缩还是不使用压缩的SSL和非SSL连接都不应该像Nginx那样在工作负载上有明显的不同。 那么为什么它不会在各种基准testing中出现呢? 它出什么问题了? 或者基准testing有什么问题? 是一个主要的网站使用它作为一个吸引力,它可以执行的权力?

我如何在Ubuntu上同时运行nginx和apache

我想configurationapache和nginx在ubuntu上一起运行,因为我想在nginx和apache上开发。 我读过,我必须编辑在Apache或Nginx的configuration,使其中一个运行在另一个端口而不是80。 我应该在Nginx中编辑哪些文件使其通过另一个端口运行? 请帮忙。

你知道有什么理由使用Apache而不是Nginx吗?

你知道有什么理由使用Apache而不是Nginx吗? 我正在谈论一个没有任何遗留代码或configuration的“新项目”。 更新: 使用Apache的最常见的原因是: 我们有我们的重写configuration 我们有我们的应用程序,在Apache上工作 ..对于传统的应用程序是可以的。 但是,绝对“新应用2013”​​呢? 你怎么看? 顺便说一句,我知道的话题: Nginx和Apache Nginx与Apache或使用Apache与Nginx Nginx v Apache用于高stream量的站点 使用Nginx或Apache来提供dynamic内容? ..我不能find任何专业的Apache在那里。 你能指点我吗?

“epoll”是Tornadoweb(或Nginx)如此之快的重要原因吗?

Tornadoweb和Nginx是目前stream行的Web服务器,许多基准testing表明它们在某些情况下比Apache有更好的性能。 所以我的问题是: “epoll”是使他们如此之快的最重要的原因吗? 如果我想写一个好的套接字服务器,我可以从中学到什么?

基于Node.js的服务器比如Apache HTTP服务器

我最近一直在研究Node.js,并在编写简单的基于Node.js的服务器上遇到了一些材料。 例如… var express = require("express"), http = require("http"), app; // Create our Express-powered HTTP server // and have it listen on port 3000 app = express(); http.createServer(app).listen(3000); // set up our routes app.get("/hello", function (req, res) { res.send("Hello World!"); }); app.get("/goodbye", function (req, res) { res.send("Goodbye World!"); }); …现在,虽然我似乎明白代码中发生了什么……我对术语有些困惑……因为当我听到术语“服务器”时,我想到了诸如Apache或Nginx之类的东西。 我习惯把它们看作是一个可以容纳我的web应用程序的容器。 Node.js服务器与Nginx / Apache服务器有什么不同? 是不是真的基于Node.js的服务器(即代码)仍然可以放在像Nginx一样运行? […]