你好可能吗? 我的脚本不适用于mod_fcgid,但使用suphp,所以我想在一台服务器上用suphp和其他mod_fcgid + xcache运行一个域。 我不想用suphp运行每个站点,因为xcache不能使用它。
我有一个奇怪的问题与Wordpress,我不知道如何解决。 大约一个月前,我切换服务器,并把我的Wordpress文件和数据库从旧到新。 当时,我有旧版本的Wordpress,之前的版本需要php5(因为我没有它)。 当我成功地移动了一切,我升级了我的WordPress的最新版本。 我有一些插件的问题(不幸的是,我不记得哪些),我不在乎,所以我从插件目录中删除的文件。 一切似乎都很好,所以我就这样离开了,直到有一天我收到一封电子邮件,说我的博客被closures了。 我去看看,我看到的只是一个空白页。 在我的服务器的其他一切工作正常。 在我的Apache日志中没有发生严重的崩溃错误,但我注意到我没有启用PHP日志logging。 于是我对php.ini进行了相应的修改,重新启动了Apache并重新启动了。 然后,几天后,同样的事情发生了。 我刚刚重新启动Apache,看看会发生什么,它再次工作。 Apache错误日志没有显示任何严重的事情。 Apache访问日志或Ubuntu的系统日志也没有。 由于某些原因,即使我已经设置了log_errors = On和error_log到完整的文件path,我没有看到任何PHP日志文件。 任何帮助? 我甚至不知道从哪里开始寻找。
我不知道为什么阿帕奇不释放connection.Its保持连接很长一段时间。 这是来自服务器状态的状态。 服务器版本:Apache / 2.2.17(Ubuntu)PHP / 5.3.5-1ubuntu7.7 Suhosin-Patch mod_ssl / 2.2.17 OpenSSL / 0.9.8o服务器内置:Feb 14 2012 19:59:02 父服务器生成:1服务器正常运行时间:2天8小时3分45秒总访问量:71124 – 总stream量:365.0 MB CPU使用情况:u73.44 s9.32 cu.67 cs0 – .0413%CPU负载.352请求/秒- 1896 B /第二- 5.3 KB /请求555个请求当前正被处理,35名空闲工人WWWWWW_WWWWWWWWWWWWWW.WWWWW.WWWWW.WWWWWWWWWW.W.WW.WWWWWW_W.WWWWW WWWWW.WW.WWWWWWW_WWWWWWWWWWWWWW.WWWWWWWWW.WW.WWWWWWWWWWWWW.W_CWW WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW.WWW_WW_WWWWWWW_WWW .WWWWWWWW_ WWWWWWWWWWWWWW.WW_WWWWWWWWWWWWWWWWWW_WWWWW.WWWWW_WWW_W_WWWWWWWWW WWWWWWWWW_WWWW.WWWWWWWWWWWWW.WWWWWWWW_WW_WWW_W_WW_WWWWWWWWWW .._W¯¯WWWWWW_WW_WWWWWWWWWWWWW_WWWWWWWWWWWWWWWWWW_WWWWWWWWWWWWW_WWWWWWW WWWWWW_WWWWWWWWWWWWWWWWWWWW_WWW_WWWWWWW_WW_WWW.WWWWWWWW.WWWWW..W WWWWWWWWWWWWWWWWWWWWWW.WWW_WWWWWWW_WWWWWWWWWWW.WWWWWWWW.WWWWWWWW WWWWWWWW.WWW.WWWWWWW.WW.WWWWWWW.WWWWWWWW.W.WWW.WWWWWW.WWW .WW.WWW WWWWWWWWWWW.WWWWWWW.WWW.WWWWWWWWWW.WWWWWWWWWWWWWWWWWWWWWWWWW …… …… W。 …….. W ………….. ….. WW. ………. …………………………………. …………………… […]
我试图找出一个caching问题。 我们目前正在使用内置caching的CMS。 然后,我们可以通过控制面板删除caching的副本,而未caching的页面将被投放,直到我们再次caching该页面。 长话短说,我们知道无论是代理服务器还是负载均衡器,我们都认为它正在caching页面以及CMS。 我们的具体问题是,当我们在CMS中取消caching页面时,需要15分钟(定时)显示未caching(即使在使用不同的浏览器,清除浏览器caching等之后),而在networking之前设备被引入,未被caching的页面将立即显示。 不幸的是,我们没有任何地方保存任何历史响应头。 当我们相信页面被proxy / lbcaching时,Response头将返回: HTTP/1.1 304 Not Modified Server: Apache/2.0.59 (Unix) JRun/4.0 mod_ssl/2.0.59 OpenSSL/0.9.8k PHP/5.2.6 Last-Modified: Fri, 03 Aug 2012 13:29:12 GMT Etag: "92fe-18f7-837ada00" Accept-Ranges: bytes Keep-Alive: timeout=5, max=100 Content-Type: text/html Content-Encoding: gzip Connection: Keep-Alive Date: Mon, 06 Aug 2012 13:49:40 GMT X-Cntnt-Length: 6391 当它没有被CMScaching时,响应头是: HTTP/1.0 200 OK Date: Mon, […]
我有一个服务器,让我头痛。 它拥有几个网站:这些都是基于PHP或基于Java。 我有一个设置,使用Apache2 + suPhp的PHP网站,和apache2 +的mod_proxy + Apache的Tomcat的Java应用程序。 在过去的几个星期里我看到一些奇怪的行为。 有时,我会得到一个单一的httpd进程,达到30-40%cpu,超过70%的内存。 我没有看到任何PHP或Java进程占用额外的资源,所以我(天真地)认为这个问题是不相关的PHP或Java代码。 这些高峰似乎随机发生在随机的时间和随机的时间间隔; 有时每天多次,其他时间整整一周都没有发生。 我注意到的另一个奇怪的事情是,当我手动kill -9正在执行的httpd进程时,另一个httpd进程会在几秒钟内popup,并开始占用大量的内存和CPU。 我可以重复几次,直到它自己停止发生:/ 所以,我其实有几个问题: 有没有人有任何提示,我应该如何追查这种行为的原因? 最终,我想看看是什么样的请求导致这些问题。 我已经看了httpd访问和错误日志,我真的找不到任何不寻常的东西。 我对这类问题的研究并不熟悉,所以即使对您来说看起来非常明显的事情也可以提供帮助。 有没有办法限制一个单一的httpdsubprocess可能消耗的资源量? 或只是简单地杀了它,当它超过了一定的内存量? 与上一个问题相关,我可以configurationoom-daemon在httpd进程上触发更多,而在其他进程上更less? 我问,因为,直到我find一个体面的解决scheme,我想确保它停止杀死我的java进程时,httpd进程再次开始行动。 UPDATE 最近我发现,造成这个烂摊子的请求来自googlebot。 这是消耗所有可用的mem和cpu的进程的lsof输出摘录: httpd 18588 nobody 37u IPv6 96675092 TCP myhost.com:http->crawl-66-249-76-96.googlebot.com:56730 (ESTABLISHED) 我设置了mod_security来logging来自我的<VirtualHost>中googlebots似乎使用的IP范围的所有来自这个规则的请求: SecRule REMOTE_ADDR "@ipMatch 66.249.76.0/24" phase:1,id:1,auditlog,allow 我这样离开了服务器一段时间。 在这段时间内,httpd进程被刺激了好几次,到了OOM守护进程开始查杀进程(httpd,java,甚至现在不时地closuresmysql)的程度。 然后,我提取了所有被googlebot击中的url,并创build了一个curl所有这些url的脚本,希望能够使httpd进程飙升,从而find导致这些问题的请求。 不幸的是,这并没有发生 – 所有的请求都很快返回,而cpu和内存使用情况远不及Googlebot访问服务器时的情况。 所以我认为有两种可能性: 问题是由于特定的HTTP标头。 我的脚本不复制这些,它只是使用普通的curl,没有额外的标题。 导致问题的请求不会被logging。 据我所知,这不应该是这种情况,因为我告诉mod_securitylogging第一阶段,这是在Apache实际上处理请求之前的请求。 有没有人有任何其他的想法? […]
我是一个初学者在与Apache的工作,需要你的帮助。 我的任务是build立一个dynamic的networking服务器(Debian 6.0.4,Apache 2.2,一个公共的IP),可以承载多个网站和文件(如图片,PDF等)预览的目的。 现在我的问题是,我需要两个不同的文档根。 一个用于网站,另一个用于文件。 我尝试使用mod-vhost-alias,所以我不需要为每个虚拟主机在httpd.conf中添加一个新条目。 我的httpd.conf如下所示: UseCanonicalName Off NameVirtualHost 192.168.10.45 <VirtualHost preview.example.com> Servername *. preview.example.com VirtualDocumentRoot /srv/www/%1/htdocs </VirtualHost> <VirtualHost websites. preview.example.com > Servername *.websites. preview.example.com VirtualDocumentRoot /srv/www/websites/%1/htdocs </VirtualHost> 第一个虚拟主机提供的文件和正常工作。 第二个应该提供包含网站数据的目录。 如果我停用第一个虚拟主机,子域“网站”下面的网站只能访问。 我必须做什么,使他们两个同时工作? 如果这个话题已经处理,请给我一个链接。 感谢您的时间和精力。
我正在build立一个Catchall作为Apache虚拟主机。 这个想法是让这个虚拟主机进程处理所有先前定义没有完成的请求,然后有条件地将它们redirect到另一个URL。 以下是我到目前为止: <VirtualHost *:80> ServerName default ServerAlias * <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} (www\.)?wrongsite1.com$ [NC] RewriteRule ^(.*)$ http://correctsite1.com/$1 [R=301,L] RewriteCond %{HTTP_HOST} (www\.)?wrongsite2.com$ [NC] RewriteRule ^(.*)$ http://correctsite2.com/$1 [R=301,L] </IfModule> </VirtualHost> 看起来规则的处理在第一个规则被处理之后不会停止,即使它被设置为最后一个。 意思是,从错误的网站1,我结束了一个url: http://correctsite1.com/http://correctsite2.com ://correctsite1.com/http://correctsite2.com 我究竟做错了什么? 编辑:在最终版本中,将只有2个正确的网站URL,与几个RewriteConds,使用[OR]。
我不小心似乎configuration了一个或多或less的打开HTTP代理与Apache2在我上次玩耍。 因为我使用apache2的各种(私人)的东西,我注意到它相对较快…一个星期后,当apache2开始执行非常缓慢。 于是我又删除了所有的代理资料。 问题是:即使重新启动,也没有什么可以称之为性能的。 Apache需要15秒来传递一个268字节的静态HTML页面,没有像图片链接的东西,我没有看到问题。 我有几个问题,我希望你能帮助我: 1)这个lsof -i为apache2输出描述正常的行为? 对我来说,看起来像apache2保持连接到许多RDNS系统。 真的吗? (对不起,没有办法在这里以可读的方式粘贴。) http://pastebin.com/iNz5zjnW 2)这个access.log实际上告诉我这些IP试图通过我的服务器进行代理请求吗? 有趣的是,他们似乎永远在我的受保护的虚拟主机之一,并获得401未经授权,所以没有那么多的问题在这里。 http://pastebin.com/nMciUwZ2 3)这可能会导致性能问题? 目前最大的连接是在40年已经足够多年。 我明白,当我收到这些请求时,可能会有问题。 最后的消息是5个小时前。 目前的performance仍然非常低。 [Thu Aug 09 01:45:13 2012] [error] server reached MaxClients setting, consider raising the MaxClients setting … [Thu Aug 09 05:04:35 2012] [error] server reached MaxClients setting, consider raising the MaxClients setting 我还没有尝试提高MaxClients。 我宁愿避免这种情况。 在此先感谢您的时间! 问候,史蒂夫
如果我在服务器上通过端口443发出http://请求,Apache将发送一个没有标题的明文错误页面,这个协议的大部分实现将被解释为一个200 / 据我可以告诉它是这个错误: https : //issues.apache.org/bugzilla/show_bug.cgi?id=50823 – 已被固定在主干,但目前还没有一个发布。 是否有任何解决方法,因为它使我头痛 – 说实话,简单的解决scheme,将HTTP-403丢弃将是完美的,但我不知道如何/如果可以做到? 我所看到的例子: http ://www.absolute-server.co.uk:443/ asdasd/
我正尝试在apache2服务器上安装gitolite 3。 所以我需要运行一个由git:git拥有的CGI脚本。 我的configuration(主要基于这个 )是: <VirtualHost myserver.com> ServerName myserver.com ServerAlias git SuexecUserGroup git git ScriptAliasMatch "(?x)^/(.*/(HEAD | info/refs | objects/(info/[^/]+ | [0-9a-f]{2}/[0-9a-f]{38} | pack/pack-[0-9a-f]{40}\.(pack|idx)) | git-(upload|receive)-pack))$" \ /srv/www/gitolite_suexec_wrapper.sh/$1 </VirtualHost> 我遇到的问题是每当一个查询匹配我的stript别名regexp,客户端收到403和我的Apache错误日志(设置为debugging级别)告诉我以下内容: client denied by server configuration: /srv/www/gitolite_suexec_wrapper.sh 我的apache2服务器有用户wwwrun和组www。 suexec模块正在运行,所以我testing一切都很好,如下所示: su -c "/usr/sbin/suexec2 true" wwwrun suexec policy violation: see suexec log for more details 所以这个用户可以启动suexec。 以前我在我的/srv/www/gitolite_suexec_wrapper.sh上有错误的权限,并有行logging在/var/log/apache2/suexec.log ,现在我什么都没有,所以我想我的权利正确设置有关suexec和包装脚本。 […]