我有一个运行Debian lenny的VPS,而且我正在运行一个使用Rails 2.3.5的Ruby on Rails应用程序。 这个应用程序本身工作正常,并使用Apache 2.2与mod_rails。 我想额外安装另一个使用Rails 3.0.6的Ruby on Rails应用程序。 但是,我担心每个RoR应用程序如何引用不同的rails安装可能存在冲突,我绝对不希望通过安装新应用程序来破坏已经运行的应用程序中的任何内容。 有没有一种可靠的方法来安全地在同一台服务器上安装这两个版本的Rails?
我有一个虚拟主机configuration文件,我不能直接编辑或修改,因为它是由我们的主机平台Aegir生成的。 但是,它具有Include pre.d和Include post.d语句,这些语句包含在vhostconfiguration之前和之后。 我想要做的是在独立文件中添加特定于虚拟主机的重写规则,以便在向群集添加新服务器时自动迁移。 所以在pre.d我创build了一个名为ServerName_redirects.conf的文件,其中我放置了以下内容: <VirtualHost *:80> RewriteEngine on RewriteCond %{HTTPS} !=on RewriteCond %{HTTP_HOST} ^servername.com$ [NC] RewriteRule ^/*(.*)$ https://servername.com%{REQUEST_URI} [L,R=301] </VirtualHost> 这只是网站迁移到新平台期间将要使用的许多规则之一。 但它不起作用,直到我把它包装在一个<VirtualHost servername.com:80> – 块。 但是由于VirtualHost-blocks并没有从原始虚拟主机的configuration中inheritanceDocumentRoot和ServerName ,所有的URL最终都会以404结尾,除非它们将stream量redirect到外部站点。 我不能简单地将DocumentRoot或ServerName添加到ServerName_redirects.conf文件,因为这些文件是“dynamic的”,并且可以随时在Aegir中的服务器或平台之间移动站点时进行更改。 尽pipe每个DocumentRoot的.htaccess都能解决这个问题,但是我不能使用它,因为它是一个Drupal多站点设置,而且我将不得不将每个站点的重写规则放在与RequestCond %{HTTP_HOST} ^www.site-1.com$相同的.htaccess文件中。 RequestCond %{HTTP_HOST} ^www.site-1.com$为每个规则,这不是特别优雅,我担心如何影响性能。
我有一个在一些OCFS2 SAN卷上有Apache日志文件的服务器上运行的webapp。 内部webapp日志logging是使用pipe道模式下的log4perl完成的,在pipe道的另一端使用cronolog来处理日志文件的旋转。 有时,在午夜左右,当日志文件被轮换时,一些服务器会遇到一个坏的pipe道,这使Apache无法login,并产生各种警报和坏事。 我想知道是否有办法确定pipe道破裂的根本原因。 DTrace听起来像是可以做到的,有一些聪明的编程,但我不确定。 有人有主意吗? 谢谢, 肯德尔
我正在尝试使用apache 2.2.17configurationphp 5.3.6。 Apache运行良好,但不会启动一旦我添加到httpd.conf为PHP的条目。 当我尝试启动apache时,错误日志也停止了input。 这里是我添加的条目,在http.conf中的相应位置 AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps DirectoryIndex index.html index.php LoadModule php5_module "C:/Program Files (x86)/PHP/php5apache2_2.dll" PHPIniDir "C:/Program Files (x86)/PHP" 我一直在研究这个,但一直没能find我做错了什么。 我加了双引号的path,因为有他们的空间,这解决了日志中的loadmodule错误,只是现在我没有信息去我缺less什么。 任何帮助,将不胜感激。 我宁愿不使用所有在一个安装程序,如wamp服务器等,谢谢!
快速浏览我所做的事情: apt-get install libapache-mod-security a2enmod mod-security 使用最新的核心规则集创build/etc/apache2/mod_security_rules/ with base_rules和optional_rules 像下面那样创build/etc/apache2/conf.d/mod_security 创build/var/www/test.php如下 conf文件看起来像 <IfModule security2_module> Include /etc/apache2/mod_security_rules/*.conf Include /etc/apache2/mod_security_rules/base_rules/*.conf Include /etc/apache2/mod_security_rules/optional_rules/*.conf </IfModule> test.php看起来像 <?php $secret_file = $_GET['secret_file']; include ( $secret_file); ?> 这几个网站说mod_security应该阻止。 我的问题是,访问test.php?secret_file='whatever'显示我的文件。 这是正常的,是mod_security工作,否则,我需要改变什么?
我已经configuration了一个虚拟机用作Web开发平台,以分发给我公司的Web开发人员。 目前,我有每个站点的安装脚本在新端口上创build一个新的虚拟主机,所以我们可以在网站上正确使用根级链接。 每个网站都有一个链接,如http://192.168.1.100:8080/等,这些地址很难记住,我当然不想问其他人则将端口映射到站点。 我真的想为每个虚拟主机创build一个新的本地networking作用域名称,并用NetBIOS或Bonjour或者两者来传播它的存在,这样主机就不必configuration成使用networking名称。 简而言之,我想dynamic地创build新的本地networking名称,以指向平台不明确的虚拟机上的各种Apache虚拟主机,以便主机操作系统可以是Windows,OS X或Linux。 所有configuration都应该在虚拟机上完成,以便主机将需要零configuration。 这是来自超级用户的转贴。
我有一个多年来一直运行相当顺利的Web服务器。 最近它两次没有明显的原因 – monit日志没有显示任何特别高的事情发生。 CPU使用率低,networking出0,networking低。 我的PHP或Django应用程序或者内核日志中任何奇怪的东西(我可以说)都不会在这段时间显示任何不寻常的请求。 大量的可用磁盘空间。 我试图在SSH中,也无法从我的VPS提供商Ajax控制台进入。 我不得不重新启动系统。 当时打开的每个系统日志文件在当时都有些乱码 – 显示的不如“^ @ ^ @ ^ @ ^ @ ^ @ ^ @”。 当系统崩溃或者什么的时候,似乎没有任何事情发生(没有cronjobs,例如没有syslog条目)。 当再次发生这种情况时,正好在当时我从PHP写入的日志文件中,显然有一大堆文本是从磁盘上的另一个文件出来的 – 从几个星期以来,我在磁盘上还有一个SQL备份以前(它有mysqldump写的时间戳)。 这是如何在我的日志文件? 除了PHP应用程序代码的细微更改之外,我能想到的唯一最近的更改是从4 GB的RAM VPS移动到2 GB,并且可能已被移至其他物理机器。 任何想法可能发生在这里?
我的一个客户刚刚安装了防火墙,安装之后,他们一直在将大文件(超过2MB〜200MB的文件)上传到我们的服务器上。 服务器运行Ubuntu 10.04和Apache 2.2.14,另一个testing服务器运行带有Apache 2.2.16的Ubuntu 10.04。 从客户端位置,大量上传会在error.log中产生“请求失败:读取头文件时出错”。 发布大文件的表单发布到PHP脚本。 这个问题从防火墙开始,当防火墙从等式中删除时,一切正常,不幸的是这不是一个选项。 我意识到这个问题可能是完全相关的防火墙,但他们没有问题发布到其他网站相同的文件,我希望有可能是我可以改变我的一端或更多的东西,我可以找这可能有助于缓解这个问题。
这是一个完整的头部划痕。 我有一个在Passenger上运行的Rails应用程序。 我已经testing了来自几个不同的客户端(通过curl)的服务,发现他们完美的performance。 除了一个特定的客户端(它恰好是客户端),我们观察POST请求的间歇性失败(大约60-70%的时间)。 失败的请求在Apache访问日志中显示为500响应,但是应用程序代码甚至没有被调用。 curl报道这样的事情: 答复是: Done waiting for 100-continue < HTTP/1.1 100 Continue * Recv failure: Connection was aborted * Closing connection #0 curl: (56) Recv failure: Connection was aborted 还通过Charles Proxy观察到“网关超时”错误消息。 发送更多数据时,失败率似乎更高。 我真的对这个错误感到困惑,因为它只显示给一个特定的客户端。 我只能猜测networking路由中有什么是造成这个问题的原因,但是没有丝毫的想法来解决这个问题。 有人看过这样的事情吗?
我已经开始看到我们内部Atlassian Confluence的情况,大多数情况下我们的performance都很出色,但是一个小时的请求(读写操作)只会持续几分钟(最长的I'已经看到是5分钟)。 我可以通过http://confluence.atlassian.com/display/CONF34/Performance+Tuning,但只是想检查是否有人可以指向我明显的东西。 我们的设置在同一个主机上使用了一个由Apache 2.2实例前端创build的Confluence,它使用mod_proxy将请求转发给Confluence。 Apache设置为对所有请求使用HTTPS。 我们有一个单独的服务器上的MySQL数据库。 在Confluence或DB服务器上没有明显的CPU或内存使用率高峰,所以我不认为垃圾收集是问题,我试图增加Apache中的MaxThreads无济于事。 提前致谢 …