我有一个Apache Web服务器运行许多VirtualHosts。 最近它一直陷入困境,变得反应迟钝,我想知道如何确定哪些VirtualHosts导致了大部分问题。 过去我们曾经有过个别站点的代码中的一个bug被整个服务器取下的场合。 我的目标是能够快速诊断这些实例。 我正在监视与munin的服务器,并注意到apache进程的数量,内存使用情况和负载往往是非常高的问题期间。 问题是,这些统计数据是针对整个networking服务器的,而不是单个的虚拟主机。 我已经写了一个脚本来parsing每个VirtualHost的stream量的博客,但显示这是不够的。 我可能需要确定每个VirtualHost负责多less个apache进程 ,或者每个进程打开多长时间 ,或者每个进程负责多less内存使用。 我在哪里可以find这些信息? 我不介意写一个脚本来跟踪这些数据,但我不知道从哪里提取它。
我正在为一家小型金融公司担任Web应用程序开发人员。 我们公司有一个以PHP编码并运行在Apache上的interal网站。 最近我们的服务器出现故障,网站停机了好几天,造成严重的问题。 我被要求设置两台服务器来为网站提供服务。 所以我们需要三台Apache Web / App服务器在三台不同的机器上运行。 当用户login网站时,必须根据负载情况由三台服务器中的一台进行encryption。 另外,如果一台或两台服务器出现故障,服务器处于closures状态必须处理网站请求。 我只是知道在PHP中创build一个网站,并将其托pipe在Apache服务器上。 我没有任何networking知识。 请告诉我为创build上述系统需要学习什么。 我不希望被喂食。 只需要一个指向我必须学会实现我的目标。 我同时使用谷歌search,但在这里问了这个问题,因为我急于执行它。
我目前使用没有密码短语的服务器SSL证书来允许Apache无人值守启动。 有客户的迹象要求我们更安全地保护SSL证书。 我不确定他们的目标是什么,但现在我想他们不希望在磁盘上存在不受保护的SSL证书。 我想我不能避免在Apache内存中明确表示,但让我们假设这是可以接受的。 我想出了一个精心devise的系统,在内部服务器上(即不在一线networking服务器上)保存进程内存的口令,并使用Apache SSLPassPhraseDialog( http )将其传递给前端服务器://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslpassphrasedialog )。 内部服务器在启动时必须input密码,我们将有多个这样的服务器进行负载均衡以实现高可用性。 我的问题是: “大男孩”如何保护他们的SSL证书? 他们只是强迫他们的东西在服务器重新启动时input密码短语,还是像我们其他人那样保持密码不encryption? 我对开源的经验是,有人很有可能已经解决了我面对的任何问题 – 这样的系统已经可用了吗? 从业务水平的angular度来说,仅仅说我们保持证书不encryption,并且只是在被盗的情况下迅速撤销证书,是否合理呢?
我在SF上的第一个问题,所以请原谅我,如果我设法博克的职位。 🙂 无论如何,我在我的一台机器上使用了mod_rewrite,并且有一条简单的规则,可以在另一台机器上redirect到一个webapp。 我也在这两台机器上设置标题“Access-Control-Allow-Origin”。 问题是当我重写规则时,我放弃了“Access-Control-Allow-Origin”标题设置。 以下是第一台机器的Apacheconfiguration示例: NameVirtualHost 10.0.0.2:80 <VirtualHost 10.0.0.2:80> DocumentRoot /var/www/host.example.com ServerName host.example.com JkMount /webapp/* jkworker Header set Access-Control-Allow-Origin "*" RewriteEngine on RewriteRule ^/otherhost http://otherhost.example.com/webapp [R,L] </VirtualHost> 下面是第二个Apacheconfiguration的例子: NameVirtualHost 10.0.1.2:80 <VirtualHost 10.0.1.2:80> DocumentRoot /var/www/otherhost.example.com ServerName otherhost.example.com JkMount /webapp/* jkworker Header set Access-Control-Allow-Origin "*" </VirtualHost> 当我点击host.example.com我们看到标题已设置: $ curl -i http://host.example.com/ HTTP/1.1 302 Moved Temporarily Server: […]
我有PHP作为一个DSO运行。 因此,我的安装程序脚本(写入configuration文件)不能写任何东西。 我如何给apache(user:nobody)写入文件的能力?
我试图让Apache解释我的Ruby文件,但我不明白该怎么做。 我现在不关心Rails,只有Ruby。 Googlesearch结果只会让我感到困惑。 有什么build议?
我正在尝试使用mod_proxy SSLCACertificatePath指令,但我有点困惑如何正确使用它。 以下是解释SSLCACertificatePath指令的两个链接: http://httpd.apache.org/docs/2.0/mod/mod_ssl.html#sslcacertificatepath http://www.modssl.org/docs/2.8/ssl_reference.html#ToC13 我对如何创build哈希符号链接不积极。 第二个链接指出使用apache make文件,但是我对那里正在说的是什么都不知情。 任何友好的指导将不胜感激。 感谢您的时间。 UPDATE 我的问题的目标是找出如何处理多个CA来validation最终用户客户端证书。 我没有意识到可以在一个文件中使用多个Pem证书,在我看来,这显然是向前推进的正确方法。
将用户添加到apache组有没有任何重大的安全问题? 我是一名程序员,我需要访问httpdocs中的所有文件/目录 – 将用户添加到该组中有什么问题吗?
我使用Varnish作为Apache 2的前端作为Web服务器的后端。 Apache的KeepAlive在这个环境中有什么优点和缺点? Apache和Varnish现在在同一台服务器上运行,但是我可以将它们放在不同的服务器上。
我将Windows Server 2008上运行的Web服务器作为64位虚拟主机进行pipe理。 所有服务软件都是独立运行的,而不是作为AMP堆栈的一部分。 数据驱动器几乎已经满了,我的系统pipe理员已经configuration了一个新的虚拟驱动器,有更多的空间。 我的任务是将一切从旧卷复制到新卷。 在创build卷时,我确保它是使用相同的卷types,文件系统,块大小等创build的。我停止了所有相关的服务(Apache,MySQL,它们都从C 运行 ,但其数据全部位于D :,包括日志),并复制所有的文件。 从这里,我尝试了两种不同的方法来使服务取决于新的数量,而忘记旧的。 MySQL没有任何问题,但Apache无法使用任何一种方法作为服务启动。 以下是系统事件日志中显示的内容: Apache2.2服务终止服务特定的错误错误的function 没有任何内容出现在error.log 。 首先,我试着简单地改变盘符。 我拿了旧的D:并把它改成了任意的东西,并把D:分配给新的音量。 这产生了上面的错误。 我尝试用新的驱动器名称重新启动服务器,“以防万一”,但发生了同样的错误。 因为我没有完全理解Windows挂载点,所以我将驱动器号改回原来的状态,并确认Apache服务启动正常。 其次,我尝试更新所有的Apache和MySQLconfiguration文件。 每一次出现“D:”(不区分大小写)都改为F :(新的盘符)。 我知道configuration文件,所以我知道我发现每一个事件。 上面的错误再次发生,完全一样的方式。 为了让Web服务器备份并运行,我恢复了所有的更改,并成功启动了服务。 我收集的更多信息: httpd.exe在从命令行启动时不作为服务运行成功。 没有语法错误。 即使从命令行运行,Apache也不会作为服务启动( httpd.exe -k runservice )。 该问题可能不是文件访问权限之一。 我仔细检查了关键位置(几个目录,日志文件),权限是相同的。 不过,我没有详尽的testing。 我还没有testing过的一件事是尝试只移动其中一个数据和日志位置到新的驱动器,而留下另一个。 我不认为这可能会有所作为。 这就是说,我实际上并不知道这里发生了什么。 我想不出为什么Apache只能通过改变日志文件和数据的位置来作为服务运行。 我非常感谢在这个问题上的任何build议或build议。 我很乐意进一步调查回应的build议。 如果你们中的任何人认为值得尝试只移动其中一个项目(日志或数据),我会尝试。 同样,如果你们中的任何一个人认为我太贴切的折扣权限,我会做一个更彻底的考试。 任何和所有的input是欢迎的! 我用尽了所有的想法。