我租用了一个来自LayeredTech的Linux虚拟机,它是Xen虚拟机pipe理程序的一个访客。 操作系统是运行Apache2的CentOS 5.3。 几乎每天我的服务器的行为都会导致我相信自己正在被DDoS攻击,但我找不到任何证据。 我正在运行Apache Mod_security,MySQL 5.x,PHP 5.x,所有版本都是最新的。 虚拟机是相对低功率,但是当这种症状没有发生,它处理我的networkingstream量负载就好了。 我的networking服务器将无响应,login后将有数百个HTTPD进程。 我所有的虚拟主机都被chroot和使用SUexec,但所有产生的进程作为“apache”用户运行。 没有恶意网站运行在我的盒子上,服务器显示没有被盗用的证据。 当问题发生时,我的负载平均值超过250,我所需要做的就是强制重启httpd,并且在24-72小时之间的任何地方都可以正常工作。 我查看了所有我能想到的日志文件,我找不到任何DDoS的证据,任何types的“digg效果”types的stream量,什么都没有。 只要我重新启动HTTPD,无论是造成它产生这么多的进程,停止。 如果是由于高stream量的网站,一个巨大的网站上的首页链接或DDoS,我会想象这些请求将永远不会停止,只需重新启动httpd后再挂起我的服务器。 我还使用了各种工具,如apachetop和其他实时监控工具,但是我通常无法预测何时会发生这种情况,并且在发生这种情况时,服务器远远超负荷,甚至除了杀死HTTPD之外的任何东西。 我不知道如何防止这种情况发生,我不知道在哪里可以看到的原因 – 任何想法,将不胜感激! 附加信息: 从构build服务器到现在已经有2年多了,我根据自己读过的东西configuration了这些参数,从来没有遇到过任何问题,但是我不确定这些设置是否会成为贡献者: # prefork MPM # StartServers: number of server processes to start # MinSpareServers: minimum number of server processes which are kept spare # MaxSpareServers: maximum number of server processes which are kept spare […]
我有一个Apache的httpd服务器在一夜之间以一种奇怪的方式“死”。 我看过所有相关的日志,找不到任何不寻常的东西。 幸好在我们的开发环境中发生了这种情况,但是我非常担心,因为我们的开发环境与我们的生产环境几乎完全相同。 谁能告诉我在这里会发生什么? 症状和故障排除步骤 Apache httpd完全没有响应 平均0.0负载平均 没有日志exception ps aux | grep httpd ps aux | grep httpd显示正常 iptables -L显示端口80打开 SELinux启用并正确configuration:没有AVClogging 无论系统组件如何变化,无论configuration如何微不足道 Apache httpd在服务器时间17:11:25 重新加载 ,以清除APC(php)caching 在17:20之后,成功的请求是在我重新加载之后做的 重新加载后没有什么了不起 第二天早上,httpd进程没有响应 Telnet到80端口连接成功 手动GET,POST,OPTIONS和HEAD请求没有收到任何回应; 没有logging 日志 访问日志 172.22.44.41 – – [03/Mar/2011:17:20:18 -0600] "GET /admin.php?type=notifications HTTP/1.0" 200 44326 "http://umc.dev.example.com/admin.php" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_6; en-US) […]
我正在使用certbot –webroot插件和certbot renew更新证书,这工作,但它看起来像httpdcaching证书,并不“看到”,它已被更新。 有一个信号为httpd重新加载证书? PS我宁愿不重新启动httpd以避免宕机。
我最近在我的客户端Web服务器上设置了一个子域名。 这是虚拟主机设置: Listen *:80 #primary domain <VirtualHost *:80> # rails public folder DocumentRoot /u1/thisdomain.com/public ServerName thisdomain.com RailsEnv production </VirtualHost> #my subdomain <VirtualHost *> ServerName dev.thisdomain.com DocumentRoot /u1/dev.thisdomain.com/public </VirtualHost> 在进行configurationtesting时,我没有得到任何apacheconfiguration错误。 我优雅地重新启动Apache。 我在子域文档根中投入了一个基本的index.html。 现在,当我尝试访问子域时,我得到: 在Chrome中: The webpage is not available. Error 101 (net::ERR_CONNECTION_RESET): Unknown error. 在Firefox中: The connection was reset The connection to the server was reset […]
这是我的一个问题的第一个迹象: $ sudo /sbin/service httpd restart Stopping httpd: [FAILED] Starting httpd: no listening sockets available, shutting down Unable to open logs [FAILED] 我知道httpd正在运行 $ ps -ef | grep httpd | grep -v grep apache 9619 20181 0 07:08 ? 00:00:03 /usr/sbin/httpd apache 10092 20181 0 Jan24 ? 00:00:07 /usr/sbin/httpd apache 13086 20181 0 06:09 ? […]
(RHEL 6.2,Apache 2.2.1) 我试图让一个LAMP网站运行在基本的身份validation,以防止一般的访问(这是一个网站仍在生产testing环境),我遇到了一个问题,多个file uploadfunction失败,因为它没有正确处理authentication; 我可以看到在Apache日志中,authentication被放弃了POST 10.77.34.123 – testuser [14/Mar/2012:14:10:13 +1100] "GET /index.php/tools/required/files/import?ocID=&searchInstance=file1331694544 HTTP/1.1" 200 8558 10.77.34.123 – testuser [14/Mar/2012:14:10:13 +1100] "GET /concrete/js/swfupload/swfupload.js?_=1331694608575 HTTP/1.1" 200 36807 10.77.34.123 – testuser [14/Mar/2012:14:10:13 +1100] "GET /concrete/js/swfupload/swfupload.handlers.js?_=1331694608601 HTTP/1.1" 200 6443 10.77.34.123 – testuser [14/Mar/2012:14:10:13 +1100] "GET /concrete/js/swfupload/swfupload.fileprogress.js?_=1331694608621 HTTP/1.1" 200 7529 10.77.34.123 – testuser [14/Mar/2012:14:10:13 +1100] "GET /concrete/js/swfupload/swfupload.queue.js?_=1331694608636 HTTP/1.1" 200 […]
我有几个别名configuration在Apacheconfiguration。 我想为他们每个人设置一个环境variables。 怎么样? 我有这个 /alias1 /mapped/to/a/path /alias2 /mapped/to/a/path /alias3 /mapped/to/a/path /alias4 /mapped/to/a/path /alias5 /mapped/to/a/path 我想要的是转发一个环境variables,为每个别名 就像是 /alias1 /mapped/to/a/path AND SetEnv VAR=a /alias2 /mapped/to/a/path AND SetEnv VAR=b /alias3 /mapped/to/a/path AND SetEnv VAR=c /alias4 /mapped/to/a/path AND SetEnv VAR=d /alias5 /mapped/to/a/path AND SetEnv VAR=e
如果您可以使用httpd.conf,是否应该使用htaccess文件仍然是真的? Apache网站上说:“一般来说,你不应该使用.htaccess文件,除非你没有访问主服务器configuration文件。” 但是我不知道这个build议多大年纪,或者这个build议还是相关的。 我正在一个只使用httpd.conf文件的大型网站上工作。 但是这个过程非常漫长,当然需要重新启动。 随着主站点下运行的部门站点的数量(以及所有使用httpd.conf文件),这是一个不利的变化。 现在我们正在运行wordpress 3(多站点configuration)。 我想testingconfiguration规则的一些更改,但目前我唯一能做的就是继续重新启动apache,我不想在活动网站上做这些。 (特别是重写规则似乎在一些博客文章被“www”所占据,而另一些则不是) 我正在考虑在wordpress文件夹中启用.htaccess,但这是明智的吗? 我们的服务器很忙(根据谷歌的说法,每天大约有6万页的浏览量),但是没有太费劲。 目前的最佳做法是什么? 服务器现在是否足够令人担忧,与轻松pipe理.htaccess文件相比,可能轻微的性能下降是可以忽略的?
在VirtualHosts内部或外部放置Directory标签有什么区别? 我发现一个configuration文件有几个VirtualHosts里面都有相同的Directory标签,外面是一样的; 所以我想摆脱这种重复,但我不完全理解所涉及的语义。
将进程重新映射到不错的级别会提高进程的调度优先级。 高优先级进程在低优先级进程之前运行。 他们也被允许在被抢先之前跑得更长 (他们获得更长的时间片)。 在Web服务器上,运行带有负值的httpd进程 应该减less上下文切换 ,从而提高整体性能 。 有没有人试过这样做? 它有什么不同? 响应时间是否改善? 响应时间标准差是增加还是减less? 吞吐量是否提高? 编辑: 我不打算减less其他进程的优先级, 我不想修复一个重载的系统。 我想知道是否负面的好水平影响减less了上下文切换,如果是的话,这是什么影响响应时间和吞吐量。