Articles of Apache的2.2

自动将子域名连接到apache中的目录

我在哪里工作(一个webdev公司),我们有一个特殊的设置testing服务器。 这是请求 foo.myusername.thisserver.com 会自动将您发送到位于的文件 /home/myusername/foo/web 在该服务器上。 只要在homedir中创build一个新目录就足够了。 不需要编辑Apacheconfiguration甚至重新启动它。 这对于开发非常方便。 你只需要从SVN中检查一个项目,并且你很好(大部分时间)。 我在想,这是怎么做的? 另外,如果可能的话,我希望能够通过编辑应用程序目录中的文件(在这种情况下为/ home / myusername / foo)覆盖webroot,例如将其设置为 /home/myusername/foo/somedir/webroot 但是我不知道Apacheconfiguration在这方面有多灵活。

我如何使apache听2个以上的端口?

我如何使apache听2个以上的端口?

有条件地设置一个Apache环境variables

我想有条件地设置一个Apache2的环境variables的值,并分配一个默认值,如果其中一个条件不满足。 这个例子,如果我想要做的简化,但实际上,如果主机名的子域部分是小时,金融或市场营销我想设置一个名为REQUEST_TYPE的环境var分别为2,3或4。 否则它应该是1.我在httpd.conf中尝试了以下configuration: <VirtualHost *:80> ServerName foo.com ServerAlias *.foo.com DocumentRoot /var/www/html SetEnv REQUEST_TYPE 1 SetEnvIfNoCase Host ^hr\. REQUEST_TYPE=2 SetEnvIfNoCase Host ^finance\. REQUEST_TYPE=3 SetEnvIfNoCase Host ^marketing\. REQUEST_TYPE=4 </VirtualHost> 但是,该variables始终赋值为1.我迄今为止能够使其工作的唯一方法是将SetEnv REQUEST_TYPE 1replace为包含负向前瞻的正则expression式:SetEnvIfNoCase Host ^(?! hr。|财务。|营销。)REQUEST_TYPE = 1 有没有更好的方法来分配默认值1? 由于我添加了更多的子域条件,或者如果我允许另一个请求属性影响REQUEST_TYPE(例如,如果Remote_Addr = 192.168.1。[100-150],那么REQUEST_TYPE = 5),具有负向前瞻的正则expression式可能变得难看又难pipe理。

PHP内存在一段时间后自动释放

我们有一个运行PHP应用程序的Web服务器来为客户服务。 PHP 4 3 GB内存 Centos下 Apache HTTP服务器。 随着客户负载的增加,我们遇到了服务器内存问题。 迟早,我们需要重新启动HTTP服务来释放内存(大概每天5次)。 我们从上面可以看出,大部分的HTTP进程都是正常的,只使用一点内存,但是大约有3-4个HTTP进程占用了80%的内存和几乎为零的CPU使用率。 它看起来像死进程,但它们不释放内存,直到我们重新启动HTTP服务。 我们怀疑我们的PHP代码的一部分工作不正常,造成巨大的内存使用,然后挂在那里。 有没有一个PHP设置的地方,我们可以设置,将终止进程,释放内存空闲5分钟后,说: 这是一个短期的解决scheme,但是我们必须找出哪些代码正在做这个 – 很难find。

阿帕奇 – 最大线程数?

我试过configuration我的Apache服务器,每个线程最多使用120个线程和一个(Oracle)SQL连接。 我通过设置: MaxClients 120 在httpd.conf文件中。 我也设置: oci8.max_persistent = 1 在php.ini文件中。 但是,我看到线程数量偶尔会超过120个。我错过了什么吗? 谢谢。

两台服务器有相同的数据,以防万一发生故障

我实际上拥有两个Linux的Web服务器,我想知道如何让他们一起工作,以防万一。 从我发现的情况来看,群集似乎是最接近的,因为它会将数据(例如mysql)从srv1复制到srv2,反之亦然。 我在HowToForge上find了一个howto,但他们谈论了4台服务器。 阅读之后,这似乎是合法的,因为集群需要一台服务器来同步数据(如果第一台服务器出现故障,则需要另一台服务器!)。 所以这不是我要找的,或者最终不是这样。 我想要的是srv1和srv2是相同的(mysql和apache文件),以防srv1宕机。 最终的目标是构build一个FailOver(而不是一个负载平衡)系统。 对于IP,我将从我的注册商手动切换。 只有两台服务器可以吗? 谢谢你的帮助 ! (如果我不清楚,我很抱歉,在我的脑海里也不太清楚)。

Apache日志文件变得太大了,我怎样才能保存在每天的基础上

Apache组合的日志文件在单个文件中每天都变得太大,已经超过了数百兆字节, 这是一个快速的方法,或者我如何configuration存储每天的基础文件? 这会工作吗? CustomLog“| / usr / sbin / rotatelogs -l /var/log/httpd/access.log.%Y-%m-%d 2419200” 在LINUX上运行

apache2重新启动“错误的用户名”错误

基本上,我不能重新启动/停止我的Apache服务器。 我收到以下错误: aditya@aditya-desktop:/usr/sbin$ sudo ./apache2 -k restart apache2: bad user name ${APACHE_RUN_USER} 任何想法是什么导致这个错误,以及如何解决它?

Apache服务器状态403在非标准端口

我们有一个configuration好的Apache服务器,在conf / httpd.conf中我们有(文件的其余部分为简洁起见已被删除): LoadModule status_module modules/mod_status.so ExtendedStatus On 而在conf.d / myserver.conf中我们有(再次删除其他位): Listen 8162 <VirtualHost *:8162> <Location /server-status> SetHandler server-status Order allow,deny Allow from localhost Deny from all </Location> </VirtualHost> 请注意,在httpd.conf中,所有的Listen指令都被注释掉,这意味着Apache只在端口8162上进行侦听。 <Location /server-status>也在httpd.conf中被注释掉。 当我们尝试时我们得到了一个403 : wget http://localhost:8162/server-status 服务器状态可以在非标准端口上运行吗? 如果可以的话,我们还应该寻找什么来使服务器状态可以从本地主机访问?

自动禁止失败的黑客尝试?

我收到日志通知的活动,如用户试图访问/js/cache/'+opts.iframeSrc+'和其他可疑的看起来失败的Javascript和MYSQL注入。 但是,这些似乎来自每天都在变化的IP地址。 (也许代理或只是一个不同的连接。) 我该如何处理? 有没有办法,我可以将它们添加到Apache黑白名单24小时,或者什么? IP地址一直在改变,所以我不希望有一个庞大的IP列表,可能在某些时候属于潜在的访问者。