Articles of apache 2.2

优化.htaccess文件

我试图优化我的.htaccess文件,以避免性能问题。 在我的.htaccess文件中,我看起来像这样: 重写引擎 RewriteCond%{HTTP_USER_AGENT} bigbadbot [NC,OR] RewriteCond%{HTTP_USER_AGENT} otherbot1 [NC,OR] RewriteCond%{HTTP_USER_AGENT} otherbot2 [NC] RewriteRule ^。* – [F,L] 第一个重写规则(bigbadbot)每秒处理大约100个请求,而在其下面的另外两个重写规则每小时只处理几个请求。 我的问题是,由于第一个重写规则(bigbadbot)处理大约99%的stream量,将这些规则放在两个单独的规则集中会更好吗? 例如: 重写引擎 RewriteCond%{HTTP_USER_AGENT} bigbadbot [NC] RewriteRule ^。* – [F,L] RewriteCond%{HTTP_USER_AGENT} otherbot1 [NC,OR] RewriteCond%{HTTP_USER_AGENT} otherbot2 [NC] RewriteRule ^。* – [F,L] 在性能方面什么会更好? 有没有人以此为基准?

如何find网站为什么上线/离线的原因

似乎今天我pipe理的网站一直在线上和线下整个一天。 我不知道是什么导致这个问题,所以我正在寻求指导从哪里开始。 这是一个基于WordPress的网站。 所以这就是我所知道的: 我使用一个程序,每分钟ping服务器,当服务器没有响应我给我发电子邮件,所以我可以确切知道什么时候该网站在线和离线。 该站点在晚上8点到12点12点28分之间,以及凌晨1点12分左右(纽约时区,所有时间都在同一时区)。 在上升/下降的时候,我看到了内存使用的压力。 查看网站上线/下线时的平均负载( http://screencast.com/t/BRlfXkqrbJII )。 然后我运行这个命令来重新启动http( http://screencast.com/t/usVtYWZ2Qi ),然后内存使用率就下降到这个( http://screencast.com/t/VdTIy3bgZiQB )。 重新启动http一个小时后,该站点脱机/联机,因此重新启动http没有太大的帮助。 当该网站正在离线/在线时,我运行了顶层命令并获取此( http://screencast.com/t/zEwr7YQj3 )。 当网站处于最低点( http://screencast.com/t/eaMfha9lbT)时,这是一个顶级的命令 – 所以这个命令将会翻转成“正常”)。 这是一个带宽报告( http://screencast.com/t/AS0h2CH1Gypq )。 交通似乎没有那么多,但看看我的时代,网站正在上升/下降这可能是其中一个原因? 我在Media Temple( http://mediatemple.net/webhosting/nitro/ )有dvp Nitro软件包。 所以在这一点上,我会请求一些帮助,试图找出这是什么原因,以及我如何能够指出这个问题。 任何帮助是极大的赞赏。

你如何从一个目录redirect到另一个目录并维护正确的basepath?

我需要将所有/ eulastream量redirect到/ tos RewriteRule ^/eula/$ /tos [R=301,NC] 但是这个规则似乎不起作用 – 主要是因为basepath被当作真正的另一个父目录来处理; 上面的规则是怎么回事? /my/docs/eula -> /tos 这是不对的,应该是这样做的 /my/docs/eula -> /my/docs/tos 如何为此编写规则,而不必指定父目录是什么?

nginx负载平衡与IIS后端服务器等待主机头

我有一个ubuntu 10.04与nginx /0.8.54作为负载平衡代理运行,名为: www.local.com 我有两个IIS后端服务器响应主机头请求web1.local.com web2.local.com 问题:当我在www.local.com上打我的nginx平衡器时,我的后端服务器响应默认的服务器空白网页(IIS默认页面),因为他们正在等待正确的主机标题(例如web1.local.com ) 我的nginx.conf 上游后端{server web1.local.com:80; 服务器web2.local.com:80; }服务器{ listen 80; location / { proxy_pass http://backend; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $proxy_host; } } 任何提示?

使用Apache中的X-Forwarded-For头来限制访问

我试图设置访问使用.htaccess规则的目录。 显然,由于提供者(SourceForge.net)设置的方式,远程IP始终是localhost 。 我注意到在X-Forwarded-For头中设置了正确的IP。 我怎样才能允许只访问一些基于X-Forwarded-For头的已知主机?

在运行10.4的XServe G5上安装Apache2和PHP5

我有一个运行OS X Server 10.4的Apple XServe G5。 我想更新我的Apache安装从1.3到2和PHP到5.我也想安装PHP GD支持。 我已经在互联网search如何做到这一点的指导,但无济于事。 我也尝试过使用Entropy安装PHP 5几次,它总是设法弄乱我的系统。 很明显,我不能安装Leopard或Snow Leopard,因为它是一个PowerPC处理器。 任何人都可以给我任何提示如何得到这个软件更新或指向我的指导? 谢谢, 克里斯

如何为apache2,jettyconfigurationmod_proxy

这是我如何设置我的环境,atm。 端口80上的apache2实例。同一台服务器上的端口8090上的Jetty实例。 用例: 当我访问foo.com时,我应该看到webapp,这是托pipe在docker,端口8090。 如果我把foo.com/blog,我应该看到在Apache上托pipe的WordPress的博客。 (我读了网上的howtos,并使用AMP进行安装。) 以下是我的各种configuration文件: /etc/apache2/mods-enabled/proxy.conf: ProxyPass / http://foo.com:8090/ << this is the jetty server ProxyPass /blog http://foo.com/blog ProxyRequests On ProxyVia On <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPreserveHost On ProxyStatus On /etc/apache2/httpd.conf: LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so LoadModule proxy_balancer_module /usr/lib/apache2/modules/mod_proxy_balancer.so LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so LoadModule proxy_ajp_module /usr/lib/apache2/modules/mod_proxy_ajp.so 我还没有创build任何其他文件,在网站,可用或网站启用。 现在的情况: 如果我goto foo.com,我看到的Web应用程序。 如果我goto foo.com/blog,我看到一个 […]

如何在另一台服务器上托pipe多个子域

我有一个Web服务器和一个应用程序服务器。 Webserver1有FreeBSD 8.1,Apache,MySQL和PHP。 Application1服务器有Centos 5.5,Apache,Mysql和PHP。 两台服务器独立运行良好。 我的webserver1正在托pipe我的公司网站www.azrim.com,运行良好。 此外,我有2个在线应用程序,这需要我作为一个子域名托pipe他们。 我的问题是我想要使子域名,如abc.azrim.com和xyz.azrim.com可从Application1服务器访问。 任何人都可以帮助我这个。 我应该如何在webserver1和Apps1服务器上configurationapachesconfiguration。 我的Apps1服务器上只有1个NIC卡。 非常感谢任何获得解决scheme的人。 感谢Azrim

FastCGI + Apache:如何将url映射到特定的fastcgi二进制文件

我写了两个C ++ fastcgi应用程序(foo和foobar)。 我在Ubuntu 10.x上使用mod_fcgid运行apache 2.2(prefork)。 我想能够设置Apache以便: HTTP:// mywebsite /一些/ PATH1参数1 =值1&参数2 =值2 将运行fastcgi应用程序foo 和 mywebsite /另一个/ PATH1?参数1 =值1&参数2 =值2 将运行fastcgi应用程序foobar 注意:上面的URL是故意无效的(缺less协议types),因为我不能在此问题中发布多个链接。 我如何设置Apache来实现这一目标?

我可以为所有的VirtualHost使用一个SSLCertificateFile,而不是为每个VirtualHost创build一个SSLCertificateFile?

我有许多Apache VirtualHosts,我使用专用的SSLCertificateFile。 这是一个VirtualHost的configuration示例: <VirtualHost *:443> ServerName subdomain.domain.localhost DocumentRoot "/Users/<my_user_name>/Sites/users/public" RackEnv development <Directory "/Users/<my_user_name>/Sites/users/publ`enter code here`ic"> Order allow,deny Allow from all </Directory> # SSL Configuration SSLEngine on #Self Signed certificates SSLCertificateFile /private/etc/apache2/ssl/server.crt SSLCertificateKeyFile /private/etc/apache2/ssl/server.key SSLCertificateChainFile /private/etc/apache2/ssl/ca.crt </VirtualHost> 由于我使用Passenger Preference Pane维护了更多的Ruby on Rails应用程序,因此这是apache2 httpd.conf文件的一部分: <IfModule passenger_module> NameVirtualHost *:80 <VirtualHost *:80> ServerName _default_ </VirtualHost> Include /private/etc/apache2/passenger_pane_vhosts/*.conf </IfModule> 我可以为所有的VirtualHost使用单一的SSLCertificateFile(我听说过通配符),而不是为每个VirtualHost创build一个? […]