Articles of apache 2.2

使用Apache在Linux上随机高CPU使用率

最近我的networking服务器出现了一些奇怪的问题。 在过去的一天左右,这个网站似乎随机有所放缓,我们似乎没有遇到任何大的额外stream量,但是快速浏览“top”和httpd似乎是从3-10 %到99%左右,然后在80年代中期之后短暂触及然后回落。 例如: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 2443 apache 25 0 256m 20m 5472 R 88.2 2.1 3:22.29 httpd 这似乎每30分钟左右发生一次。 奇怪的是同时发生这种情况我可以运行Apache服务器状态页面,并将获得(例如): CPU Usage: u700.5 s6.22 cu0 cs0 – 20.2% CPU load 所以我的问题是双重的: 有谁知道为什么这个问题可能在最后一天左右出现(没有对服务器进行任何修改) 为什么我的CPU使用率统计数据会远远高于服务器状态,哪个是正确的?

减lessApache请求排队

在New Relic中,它们显示为应用程序响应时间的一部分是“请求队列”。 要收集请求排队时间,您需要在开始排队时使用时间戳标记HTTP请求。 [1] 这是通过在Apache httpd.conf中添加一个HTTP头完成的: RequestHeader set X-Request-Start "%t" 新遗物提到: 对于请求排队,站点操作员可以configuration更多的应用程序实例。 但是我们已经看到添加新的应用程序实例(即Web节点)不会影响请求排队时间 – 它保持不变。 我们看到这在250毫秒左右。 什么因素影响请求队列的长度,以及如何减less这个因素? [1] http://support.newrelic.com/help/kb/features/tracking-front-end-time

Apache:每个虚拟主机的自动日志分割?

每当我们在开发服务器上创build新的虚拟主机时,我们总是需要手动指定单独的访问和错误日​​志: ErrorLog logs/mysite/dev1-error.log CustomLog logs/mysite/dev1-access.log "common" 有没有办法使Apache自动分裂日志,而不是每次都指定它们?

太多运行的httpd进程和CentOS服务器冻结

我正在Media Temple主办的一个专用虚拟16GB RAM CentOS服务器上运行一个高stream量的网站。 很多时候,服务器因CPU使用率过高而死亡(%1500) 当我检查正在运行的进程使用“顶部”的命令,我看到太多的httpd进程运行,我认为是造成CPU的高使用率。 我试图调整mysql,调整apache,my.cnf,httpd.cnf,删除Apache模块,我不使用,但没有解决问题。 请让我知道你需要知道什么值在我的服务器configuration,以帮助我诊断问题。 提前致谢。

服务停止时,IIS 7.0不会释放端口80。 无法在端口80上运行Apache

我有两台运行Windows 7 Professional的开发机器。 第一台机器交替用于IIS 7.0和Apache 2.2 Web服务器(但不能同时使用)。 我closuresIIS,释放端口80,然后在端口80上启动Apache(反之亦然)。 这工作正常。 我有第二个开发机器,我需要做相同的设置。 (针对不同客户的不同项目)。 即使IIS停止,端口80仍然由系统级进程使用。 我一直没能发现使一台机器工作而另一台机器失败的差别。 其他人知道为什么80端口不会释放IIS停止时?

curl请求不会parsing到本地主机

我有一个在本地主机/端口80上运行Apache的Ubuntu服务器。它的域名是sub.domain.com 如果我在该机器上向http:// localhost发出一个curl请求,它将会立即出现'couldnt connect to host'错误。 如果我在该机器上向sub.domain.com发出curl请求,它将在无限循环中坐在那里,直到它在几分钟后超时。 如果我在另一台机器的web浏览器中打开sub.domain.com,它会显示我的html页面。 如果我用另一台机器向sub.domain.com发出curl请求,它将连接。 这里的交易是什么?

如果某个查询string存在,使Apache或IIS添加一个标题

如果某个查询string存在,我可以让Apache或IIS添加特定的头文件吗? 我希望查询string中每个带有“download = 1”的url都与Content-Disposition: attachment 。 奇怪的问题标题,因为最初这只是关于Apache,但现在我也添加了IIS。

无法使用Active Directory中的Apache和authnz_mod_ldap进行身份validation

我使用authnz_ldap_module进行Apache2身份validation时出现问题,以便从Active Directoryvalidation用户身份。 我的Apache版本是2.2.16-6+squeeze10 。 这里是我试图使用没有运气(准确地说是许多组合之一)的configuration: AuthzLDAPAuthoritative off AuthBasicProvider ldap AuthType Basic AuthName "Active Directory" AuthLDAPURL "ldap://server1.my.company.tld:3268 server2.my.company.tld:3268/dc=my,dc=company,dc=tld?sAMAccountName?sub" AuthLDAPBindDN "uid=my_user,dc=my,dc=company,dc=tld" AuthLDAPBindPassword "mypassword" Require valid-user 我在Apache的error.log获得以下条目: [debug] mod_authnz_ldap.c(379): [client some_ip_here] [12391] auth_ldap authenticate: using URL ldap://server1.my.company.tld:3268 server2.my.company.tld:3268/dc=my,dc=company,dc=tld?sAMAccountName?sub [info] [client some_ip_here] [12391] auth_ldap authenticate: user my_user authentication failed; URI / [LDAP: ldap_simple_bind_s() failed][Invalid credentials] [error] [client some_ip_here] user […]

如何检查是否启用了mod_alias?

我想尝试使用mod_alias而不是mod_rewrite来实现一些简单的redirect规则,但是在.htaccessinput的指令似乎不起作用。 有没有可能mod_alias没有加载或在服务器上启用? 我如何发现?

我如何configurationApache使用HTTPS进行外部访问,但使用HTTP进行内部访问?

我有两台服务器,一台是可在公司本地networking内部访问的开发服务器,另一台是面向公众的Web服务器。 开发服务器托pipe了几个工具,我们用来pipe理我们的项目在内部,但现在我们需要在外部访问它们,同时保持安全。 我使用ProxyPass和ProxyPassReverse指令在外部服务器上设置了mod_proxy,将外部请求映射到内部服务器。 我还在这些外部虚拟主机上设置了身份validation,以提供外部访问的安全性。 我还需要使用SSL进行外部访问,但理想情况下,希望内部工具可以通过简单的HTTP访问内部网中的人员。 是否有可能实现这种行为,如果有的话,我应该使用哪些指令和Apache模块,以及在哪些服务器上安装?