Articles of linux

一些Apache请求很慢,最快完成

我有两台运行Debian 5稳定版的戴尔R410networking服务器(2x四核Xeon E5520 w / 8gb ram)。 他们的修补已经被忽略了一段时间,所以最近我们做了修补运行,把所有的东西都更新了 – 这要求运行一个新版本的应用程序,它需要PHP 5.3.6。 内核没有更新,因为它来自Debian的backports存储库(安装的版本是2.6.30-bpo.1-amd64)。 自补丁以来,用户抱怨网站速度很慢。 大多数请求都是立即提供的,但是现在又一次会被请求“卡住”。 在请求被阻塞的时候似乎没有任何明显的模式。 这些服务器位于负载均衡器的后面,同时进行了更新,并在修补运行时开始显示此问题。 当时他们没有重新启动,但一直没有效果。 我在服务器上自己设置一个脚本来循环time curl localhost:80/alive ,它有一个简单的index.html文件,里面只包含“OK”。 奇怪的是,这些请求仍然延迟与实际的php内容的请求相同的频率和持续时间。 常见的时间是3秒,9秒,25秒45秒,有的超过3分钟。 45秒是一个常见的响应时间,但当然浏览器放弃之前,所以这是没有任何反应。 Apache的工作人员configuration如下: <IfModule mpm_prefork_module> StartServers 50 MinSpareServers 10 MaxSpareServers 150 ServerLimit 500 MaxClients 500 MaxRequestsPerChild 5000 </IfModule> 对我来说8GB内存的服务器似乎是明智的。 实际上工人人数很less超过170人,所以我们没有达到这个极限,而且有足够的自由记忆。 平均负荷低,他们徘徊在0.5-1.5左右 内核是一个旧的backport,所以我试着将它更新到lenny(2.6.32-bpo.5-amd64)的最新backport,但是它在启动时感到恐慌,我必须让我们的主机重新启动它与旧的我想在尝试更新他们的bioses并使用Debian 6格式化之前探索其他选项。 Apache似乎是一个可能的罪魁祸首,所以下一步是更新到最新的apache backport,但版本是从2.2.9-10 + lenny4到2.2.9-10 + lenny9一个相当小的颠簸,所以我不是'预计任何重大变化。 安装PHP,从dotdeb版本5.3.6。 以前的版本是5.3.0自定义编译的。 另外,我的老板刚刚告诉我,通过https的请求不会被延迟,但我自己并没有证实这一点。 # […]

如何找出已安装的服务器内存是已注册(缓冲)还是未注册(未缓冲)

有没有人知道一个确定的方式如何找出,如果内存模块在运行 Linux服务器注册或注销? 我知道dmidecode和lshw,但到目前为止,我没有find任何方法来区分缓冲和无缓冲的内存mobuldes。

Apache:redirect404和ErrorDocument 404的区别

我想用Apache做404redirect,我发现了几个解决scheme: .htaccess方法。 但是如果没有必要,我不想添加.htaccess。 虚拟主机方法: <VirtualHost *:80> ServerAlias *.example.com Redirect 404 /index.html ErrorDocument 404 /index.html </VirtualHost> 我想知道有什么区别redirect404和ErrorDocument 404?

非常快速的文件同步软件

我正在寻找一个非常快速的文件同步软件跨多个机器跨多个站点同步数据。 像Dropbox或Spideroak。 该软件应该满足以下两个标准: 1)和最重要的。 它应该是非常快的。 如果我更改文件,上传到服务器应该在10秒内开始。 上传完成后,其他连接的计算机应立即开始下载。 如果软件支持locking有问题的文件,那就太好了。 2)它应该支持客户端encryption。 因为第二点,Dropbox并不合适,Spideroak并不适合,因为第一个(有时我得到了非常令人失望的结果)。 你使用的是什么文件同步工具? 你能推荐什么? 编辑:电脑都运行Linux系统。 编辑2:我有4-5个网站的想法。 不幸的是,他们没有非常大的上传。 最差的(我的家庭办公室;-))只有一个80 kb / s的上传DSL连接。 把东西放在一起我自己不是一个select,因为我正在寻找一个适中的成本和可靠性的解决scheme;-)。 我在所有有问题的客户端都有root权限。

有一个快速的方法来获取大型TAR中的最后一个文件吗?

让我们假设我有几个千兆字节的tar文件,但是我也碰巧知道写入归档文件的最后一个文件是我需要的东西。 由于tar文件是按顺序附加的,有没有办法让tar从最后读取到档案中来find这个档案,而不是从头开始读取数千兆字节的无关数据?

PHP邮件()函数冻结

我有一个问题,其中/ var / lib / php / session的权限被覆盖,所以我不能再在PHP中创build会话variables。 我觉得我的邮件function也一样。 邮件function位于Linux服务器,以便我可以chmod它在哪里? 编辑 一些额外的信息: $ "This is a test" | mail -s "Testing 123" [email protected] -bash: This is a test: command not found Null message body; hope that's ok postdrop: warning: mail_queue_enter: create file maildrop/111989.3781: Permission denied postdrop: warning: mail_queue_enter: create file maildrop/112524.3781: Permission denied postdrop: warning: […]

OpenSolaris和Linux的主要实际区别是什么?

我目前在我的服务器上使用CentOS,我一直在试图找出Linux和OpernSolaris之间的实际差异。 我不是一个linux高手,我只是知道我的系统,通常可以安装的东西,如果我需要(虽然我不会说谎,我有时会被绊倒)。 如果我切换到OpenSolaris,会不会有重大的事情,我现在无法做到或者至less不会以同样的方式工作? 我的堆栈主要由PHP / MySQL或Node.js / MongoDB组成。

如何读取maildir中的单个文件?

在我的Linux开发系统中,我使用fakemail将邮件写入目录而不是发送邮件。 邮件文件包含标题和邮件文本,以UTF-8中的quoted-printable,text / plain格式显示。 我怎样才能读取一个邮件文件和“解码”quoted-printable所以换行符和特殊字符显示正确? 这里是一个带有换行符和特殊字符的德国邮件文件的例子: Message-ID: <[email protected]> Date: Fri, 07 Oct 2011 10:53:26 +0200 Subject: Registrierung From: [email protected] To: [email protected] MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hallo, Sie haben sich auf Meinserver.de als Benutzer regist= riert. Um Ihre Registrierung abzuschlie=C3=9Fen, klicken Sie auf folg= enden Link: http://meinserver.de/benutzer/bestaetigen/3lk6lp= ga1kcgcg484kc8ksg 我想把特殊字符replace为正确的对应字符,并且删除引用可打印的编码(末尾带有“=”的编码)插入的换行符。

用于logging脚本输出的init脚本

如何才能做到这一点? 我知道这非常简单,并且包括将&或&>等附加到启动init脚本的实际命令。 但是,什么是最好的方法,以及如何确保init脚本自行分离,假设日志文件是/var/log/customDaemon.log? 这是我的初始化脚本。 我也不确定脚本中的方法是否整齐或只是一个讨厌的黑客。 #!/bin/bash # # /etc/rc.d/init.d/customDaemon # # description: "The Daemon" # processname: customDaemon # pidfile: "/var/run/customDaemon.pid" # Source function library. . /etc/rc.d/init.d/functions start() { echo "Starting customDaemon" /var/customDaemon &> /dev/null & return 1 } stop() { echo "Stopping tweriod" prockill customDaemon return 2 } case "$1" in start) start ;; stop) […]

Linux – 有没有办法伪造最高的目录?

/是Linux中的最高目录。 有没有办法伪造别的说/opt/rpmbuild/BUILDROOT ? 这是我的问题空间。 我正在尝试将COTS重新打包为RPM格式。 COTS是以二进制forms出现的,我需要在将它打包到RPM之前安装它。 安装程序将其安装到/opt/app目录中,我希望它将其安装到/opt/rpmbuild/BUILDROOT/opt/app但是我无法强制执行该操作。