Articles of apache 2.2

Apache2 / fastcgi / php fastcgi / haproxy – 平稳重启问题改变configuration设置

我有一个Apache2与PHP fastcgi设置; 我想在没有客户端注意的情况下进行configuration更改(所以没有丢失/失败的请求),所以我把haproxy放在它前面; 所以我有两个Apache2服务器运行在同一台服务器上的不同IP上,并在它们前面运行Haproxy负载平衡/故障转移。 Apache和Haproxy都有Keepalive。 当我在运行时运行/etc/init.d/apache2_1 restart或apache2ctl -k graceful -f /etc/apache2_1/apache2.conf时, 看-n 1 lynx -dump -source http:// server /test.php(里面有echo rand(1,100000);在里面) 它仍然下降一个坏网关请求。 我怎样才能防止发生? 基本上,如果我可以告诉Haproxy完成所有连接(完成意味着让他们运行)到server1,但发送所有新的server2在给定的时间点,它会工作。 另外注意; 我需要php-cgi; 与mod_php的事情更容易。 编辑; 我试过了 但是请求不会传递给备份,所以有些客户端仍然收到坏的网关。 回答本的评论; 随着cgi的优雅似乎启动所有正在进行的连接; 与mod_php曼妙工作正常; 没有停机。 Haproxy在apache出现故障时会看到(在统计屏幕中变成黄色),但是fastcgi只是在空中切断脚本; (通讯错误),通过调用exit()终止,返回代码:0(注意:mod_fcgid:process /var/www/gui/wsapi.php(13987) [2009年8月15日星期六19:00:55] [注意] mod_fcgid:进程14012进行正常关机,发送SIGTERM [2009年8月15日星期六19:00:56] [注意] mod_fcgid:process /var/www/gui/index.php(13999)退出(通讯错误),通过调用exit()终止,返回码:0 很多客户也越来越多; [2009年8月15日星期六19:05:42] [错误] [客户端xxx.xxx.xxx.xxx]脚本头过早结束:index.php 另一个迹象表明,关机没有任何优雅之处。

Apache头caching控制问题

我有一个网站的apacheconfiguration中的以下行: Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate" 网站的一部分生成的CSV可以下载,但在IE浏览器,这行configuration目前在IE中出现以下错误: Internet Explorer cannot download admin/ from wwww.domain.com Internet Explorer was not able to open this Internet site. The requested site is either unavailable or cannot be found. Please try again later. 这是一个与IE浏览器已知的问题,是否有一个已知的修复? 或者有没有办法只在某些页面上实现caching控制? 如果我注释掉这一行,它在IE中工作正常。 我可以添加这样的东西到需要它的页面的<head>,而不是Apacheconfiguration行吗? <meta http-equiv="CACHE-CONTROL" content="NO-STORE, NO-CACHE, MUST-REVALIDATE, POST-CHECK=0, PRE-CHECK=0" />

Perl脚本适用于Apachepipe道日志,但不适用于Python脚本

我需要将我的Perl日志处理脚本移植到Python。 下面是一个我可以使用的Perl脚本的简单例子: #!/usr/local/bin/perl $|=1; # Use unbuffered output while(<>) { system("beep"); } 正如你可能看到的,我告诉系统在发出请求testing脚本时发出嘟嘟声。 一切工作正常,但是当我尝试这样的Python脚本: import sys import os for line in sys.stdin: os.system('beep') 一切运行,但系统不会在请求后发出哔哔声。 这里是我和我在我的apacheconfiguration文件中使用的行: CustomLog "|perl /var/web/onhit.pl" "onhit" <-OLD LINE CustomLog "|python /var/web/onhit.py" "onhit" <-NEW LINE 我在Python邮件列表上关注这封电子邮件 。 任何人有一个想法,为什么这是行不通的? 编辑:我知道这个问题有关“sys.stdin行”。 由于某些原因,它只是没有检测到任何标准input。 不过,我不知道它是我的python脚本还是我的apacheconfiguration引起的。

奇怪的交通造成奇怪的302redirect

联盟营销人员最近开始发送我的网站奇怪的stream量。 1)访问者点击我的网站在会员的特殊位置,执行302redirect到网站的主页。 2)访问者遵循redirect到该网站的主页,在那里他们被再次送达302redirect,然后消失。 以下是日志的具体内容: www.example.com 74.197.XX.XXX – – [20/Aug/2009:16:15:28 -0400] "GET /go HTTP/1.1" 302 298 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; Zune 2.0)" www.example.com 74.197.XX.XXX – – [20/Aug/2009:16:15:28 -0400] "GET / HTTP/1.1" 302 460 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR […]

ISapi重写以允许Apache和IIS一起运行

好的,我有端口80上运行的IIS和当前运行在端口19049上的Apache。现在外部端口是打开的,以允许超过80的stream量,但我想能够访问外部的Apache页面,而不必打开该端口,或指定端口在URL中。 我find的解决scheme是设置ISAPI重写filterhttp://iirf.codeplex.com/ 。 这个想法在外部我可以去www.mydomain.com/Apache,并且isapifilter将在内部为/ localhost:19049页面提供请求(以/ Apache的forms为条件),并且来回路由所有的stream量所有其他子path正确映射)。 问题是,我可以基本重写工作,即重写从page1.htm到page2.htm的请求或从page1.htm到www.google.comredirect页面。 问题是重写规则不允许将请求发送到另一个端口,redirect规则实际上只是一个301代码(很显然,/ / localhost:19049不会外部工作)。 有没有人有任何真正的解决scheme,肯定它不应该是一个简单的请求周围路由这是困难的。

整合Apache与tomcat导致性能/内存增益?

我正在使用tomcat独立。 现在我看到tomcat开始使用比我预期更多的内存。 从tomcat服务静态文件可以是这样的原因? 或者可以从apache服务静态更好的内存使用。 Thx Enes

XAMPP Tomcat Apache连接器

我正在重build我的本地开发configuration过程中,我正在尝试安装tomcat连接器,以便apache和tomcat互相通话。 我已经正确安装了xampp和tomcat,并通过Safari进行了validation。 我正在使用tomcat-connectors-current-src.tar.gz,解压到/ Applications / XAMPP / xamppfilescustom / tomcatconnectors,我可以configuration连接器./configure –with-apxs = / Applications / XAMPP / xamppfiles / bin / apxs然而,当我在terminal上使用“make”的时候,在这个过程的最后我会遇到一些奇怪的错误: ld:未知选项:-I / Applications / XAMPP / xamppfiles / include collect2:ld返回1退出状态ld:未知选项:-I / Applications / XAMPP / xamppfiles / include collect2:ld返回1退出状态lipo:无法打开input文件:/var/tmp//ccs5y7FI.out(没有这样的文件或目录)make [1]: * [mod_jk.la]错误1 make:* [all-recursive]错误1 我想知道如果有人知道怎么样,或者可以指向我的博客条目,讨论如何做到这一点。 我一直在寻找相当一段时间。 是的,这是我在serverfault上的第一篇文章,我想我可以被称为serverfault noob,如果我排除了任何可能需要帮助解决这个问题的信息,请让我知道。 谢谢

Apache CookieTracking,cookie的访问日志条目的规范是什么?

假设我的apacheconfiguration包含以下内容 CookieTracking on CookieName userfault CookieDomain userfault.com LogFormat "%{userfault}C" userfaultlog CustomLog /var/log/userfault.com/access.log userfaultlog 我看到日志然后包含IP.somenumber行,例如 257.15.13.478.1200074655803685 619.203.17.113.1200174880115935 我想知道这个号码的规格,更具体地说,它是如何以最有效的方式存储的。 我环顾四周,只能find默认的CookieStyle是“Netscape”,但这并没有让我更进一步。 我可以安全地假设它将适合在64位数字? 它甚至是一个数字(和小数)?

有没有办法添加过期头与Godaddy共享的Linux托pipe图像?

我找不到办法做到这一点。 这甚至有可能吗?

cPanel的Apache和nginx在同一台服务器上?

我在我的VPS服务器上使用cPanel Apache 2来托pipe端口80上的PHP / MySQL网站。 所以,假设我们有myphp.com,它可以正常工作。 现在我安装了Ruby / Rails / Passenger(带有Ruby Entreprise Edition的nginx),它在3000端口上运行良好。假设我有一个新的Ruby on Rails应用程序,并希望在myruby.com而不是myruby.com上托pipe它: 3000。 我应该如何做到这一点? 我在nginx中configuration一个域如下: server { listen 3000; server_name www.myruby.com; root /home/myruby/public; passenger_enabled on; } 如果我将端口更改为80,那么它不起作用(显然与Apache冲突)。 请注意,我不会将myruby.com域添加到cPanel。 我有2个专用的IP地址。 我听说有两个IP可以解决这个问题。 但是,你如何指示cPanel的Apache只监听特定的IP? 另外,如果我将一个域指向我的服务器,我如何指示RoR域指向RoR IP?