我目前面临一个滑稽的情况:我正在testingDOS工具对testing服务器,我不能监视服务器的http状态记分板,因为所有的连接线程用完了! 有没有其他的方式来监视连接表,而不使用这个插件?
我有一个VPS在Centos上运行apache-php-mysql,并安装了一个drupal网站。 VPS有256MB的RAM(可能是我所有问题的根本原因…也许我只是需要更多)。 每当我尝试从多个浏览器标签(大约8 …不是800)一次打开我的网站,Apache崩溃! 我在日志上有这个: [致命错误] [客户端xxx] PHP致命错误:内存不足(分配28049408)(试图分配201335字节)在xxx行2139,referer:xxx 我在这里读了许多许多post,但我认为有一些基本的东西是我缺less的 – 如果我理解正确的话,一些php脚本在分配28MB后试图分配200K,并且没有这样做。 第一个问题是:这应该导致Apache崩溃? 接下来,我尝试着看“顶”命令,而我做我的小testing。 事实上,我看到7个httpd进程,每个预留大约30MB – 这就解释了为什么我的RAM耗尽。 如何防止apache创build新的进程,直到内存不足? 我尝试像这样configuration/etc/httpd/conf/httpd.conf: <IfModule prefork.c> StartServers 1 MinSpareServers 1 MaxSpareServers 1 ServerLimit 1 MaxClients 1 MaxRequestsPerChild 100 </IfModule> 但得到了同样的确切结果! 我错过了什么? 非常感谢! 更新: 我的PHP memory_limit是128M(由drupalpipe理页面确认…)free -m的输出: total used free shared buffers cached Mem: 256 226 29 0 0 0 -/+ buffers/cache: […]
我正在运行RHEL 6.4,而且我的可信证书最近已经过期,所以我决定更新它。 我已经从StartSSL获得了一个新的证书。 下载并将证书文件放在服务器上后,我在httpd.d/ssl.conf指定了新的证书。 /sbin/service httpd configtest 说Syntax OK ,但是 /sbin/service httpd restart 导致[FAILED]结果没有错误信息。 我在哪里可以find实际的原因? 更新: [error] SSL Library Error: 185073780 error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch [warn] RSA server certificate CommonName (CN) `www.mywebsite.com' does NOT match server name!? 这些线是在特定的病毒宿主的error_log中find的。 (www.mywebsite.com当然是阴谋理由的真实领域的替代)
我正在使用弹性beanstalk单一实例。 所以有Apacheconfiguration和tomcat是在http端口8080监听。Apacheconfiguration上使用SSL HTTPS 443。 问题是,tomcat使用httpredirect。 但是我不能设置Apache来将http更改为https。 因此,混合内容错误会导致应用程序无法正常工作。 我到目前为止尝试了以下设置:在虚拟主机*:80我把 <IFModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{SERVER_NAME}/%$1 [R, L] </IFModule> 我也试过 RedirectMatch ^(/.*)$ https://thepennantrace.com/$1 两者都没有工作。 我想知道设置它的正确方法是什么? (应用程序正在运行Facebook,如果直接访问它不会显示任何错误)
我尝试使用ProxyPass和ProxyPassReverse通过Apache将请求代理到另一个服务器实例,该另一个服务器实例绑定到Vhost所在的另一个TCP端口上的本地主机(VHost绑定到:80,目标绑定到5000时)。 但是,我在访问位置时反复接收HTTP 503。 根据ProxyPass文档 … <VirtualHost *:80> ServerName apacheserver.domain.local DocumentRoot /var/www/redmine/public ErrorLog logs/redmine_error <Directory /var/www/redmine/public> Allow from all Options -MultiViews Order allow,deny AllowOverride all </Directory> </VirtualHost> PassengerTempDir /tmp/passenger <Location /rhodecode> ProxyPass http://127.0.0.1:5000/rhodecode ProxyPassReverse http://127.0.0.1:5000/rhodecode SetEnvIf X-Url-Scheme https HTTPS=1 </Location> 我已经testing了将备用服务器绑定到接口IP地址,并发生同样的问题。 服务器服务请求是python粘贴的一个实例:httpserver,它已经被configuration为使用/ rhodecode后缀(正如我在其他关于ProxyPass的post中看到的那样)。 项目本身的文档 Rhodecode报告使用上述内容。 如果我将其他服务器作为另一个端口上的服务器,则此问题将持续存在。 ProxyPass允许代理到不同的TCP端口吗? [更新] 如果有人遇到同样的问题,我不会删除这个。 我已经设置了ErrorLog,并且在ErrorLog中报告了以下错误: [Wed Nov 09 11:36:35 2011] [error] […]
我使用Amazon EC2大型实例(内存7.5 GB)为我的http服务器。 最近我注意到我的ssh命令运行缓慢,所以我检查了内存使用情况。 free -t -m total used free shared buffers cached Mem: 7455 7373 82 0 1404 39 -/+ buffers/cache: 5929 1526 Swap: 0 0 0 Total: 7455 7373 82 所以有些东西消耗了大量的内存。 我每天两次重新启动httpd释放内存,大约在12小时左右,它又变满了。 每日平均CPU利用率低于20%。 这里是按内存使用情况sorting的最高合并率。 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 31492 apache 20 0 98.6m 4444 460 […]
我的网站软件用URL中的“+”字符replace空格字符,正确的链接看起来像“ http://www.schirmacher.de/display/INFO/How+to+reattach+a+disk+to+XenServer ”例如。 有些网站链接到这篇文章,但不知何故,他们的embedded式编辑器无法处理编码,所以我在httpd日志文件中看到的其实是 GET /display/INFO/How%2525252bto%2525252breattach%2525252ba%2525252bdisk%2525252bto%2525252bXenServer 这当然会导致404错误。 看来“+”字符被编码为“%2b”,然后“%”字符被编码为“%25” – 几次。 由于有很多这样的引用来自不同网站的不同网页,我想重写url,以便访客得到正确的页面。 这是我的尝试不起作用: RewriteRule ^(.*)%25(.*)$ $1%$2 [R=301] 它应该做的是:将%25string之前的所有内容以及所有之后的所有内容与中间的'%'连接起来,然后redirect。 用规则应该重写的示例inputURL /display/INFO/How%25252bto%2525252breattach%2525252ba%2525252bdisk%2525252bto%2525252bXenServer 其次是redirect,然后重写 /display/INFO/How%252bto%2525252breattach%2525252ba%2525252bdisk%2525252bto%2525252bXenServer 并再次 /display/INFO/How%2bto%2525252breattach%2525252ba%2525252bdisk%2525252bto%2525252bXenServer 等等。 最后,我应该离开了很多redirect之后 /display/INFO/How%2bto%2breattach%2ba%2bdisk%2bto%2bXenServer 这是一个有效的url等同于/ display / INFO / How + to +重新附加+ a +磁盘+到+ XenServer。 我的问题是,expression式根本不匹配,所以它甚至不会replace%25的单个匹配项。 我知道redirect的数量是有限制的,我真的应该使用[N]标志,但是我甚至没有正确的第一步。 本·李:谢谢你的详细解答。 我现在在这个问题上花了几个小时。 这是我发现的: 在mod_rewrite看到之前,url中的任何'%25'string都被转换为'%'。 所以RewriteRule ^(。 )%25(。 )$在url中不匹配'%25',它实际上匹配'%2525'。 反斜杠的存在并没有什么不同。 看来'%'符号在我的情况下不被解释为反向引用,也许是因为之前没有RewriteCond语句。 但是可以肯定的是,使用它可能会更好。 具有[L,R = 301]的行不正确。 它会尝试重新定向每个%2b的匹配,但是有一个允许的redirect的限制,如果有更多的redirect将会失败。 […]
我们正在研究如何让APC只为每个帐户/站点创build一个caching。 这可以通过Fastcgi完成(最新更新为2006年…),但Fastcgid APC将不得不为同一个帐户运行的多个进程创build多个caching。 为了解决这个问题,我们一直在研究PHP-FPM PHP进程pipe理器允许多个PHP进程共享一个APCcaching。 但是从我读过的东西(我希望我错了),即使您为每个进程创build一个池,跨所有池的所有站点将共享相同的APCcaching。 这使我们回到与共享Memcached相同的问题:这是不安全的! 在php-fpm的网站上,我读到,你可以chroot php-fpm池,并定义一个特定的UID和每个池的GID …如果是这样的话,APC不得不使用这个用户,并没有访问其他池caching? 这里的一篇文章(在2011年)提出,你需要在每个池上运行一个进程,在不同的端口上创build多个启动器,并且每个configuration文件为一个池创build不同的configuration文件: http://groups.drupal.org/node/198168 这是否仍然是必需的? 如果是这样的话,那么运行php-fpm的800个进程会有什么影响呢? 会主要是记忆吗? 如果是的话,我怎样才能算出记忆的影响呢? 我想,运行800次php-fpm会更好,然后让帐户为单个站点创build多个APCcaching? 如果平均一个帐户创build一个50MBcaching,并创build3个caching每个帐户,使150Mb每个帐户,使120GB … 但是,如果每个帐户使用平均只有50Mb,将使40GB 我们的下一台服务器至less有128GB内存,如果运行800x PHP-FPM不会产生20GB以上的开销,那么40GB是可以接受的! 你认为什么是PHP-FPM最好的方式去提供安全的APCcaching共享主机与具有相当数量的内存的服务器? 或者我应该看看另一个系统? 谢谢 !
有没有一个简单的用户指南或教程的Apache httpd? 我发现官方文档( http://httpd.apache.org/docs/2.2/ )有点难以浏览和学习,如果你不能加快大量的基础知识。
我用mod_rewrite注册了一个RewriteRule,但是被replace的URL是错误的。 规则是: RewriteRule ^/img/z(0|1)u(.+)\.(gif|jpg|jpeg|png)$ /image-servlet/img/?z=$1&url=$2 [NE,QSA,PT,T=image/$3] 当我访问以下url时: http://localhost/img/z1uABC.jpg 应用的规则redirect到: http://localhost/image-servlet/img/ABC 最终的URL错过了查询stringreplace: ?z=$1&url=$2 并被replace为: $2 有人可以帮我解决我的错误吗? 谢谢, 和过去