我在OSQA网站遇到问题。 这是Django / Apache / mod_wsgiconfiguration的网站。 每个小时,CPU对任务HTTPD的峰值达到164%(平均)。 10分钟后,它释放回来。 我已经查看了日志,cron表,做了许多configuration更改,但不能跟踪这个问题。 有人可以看看下面的信息,让我知道,如果这是一个configuration问题,或者是否有其他人遇到过这个问题。 运行TOP显示HTTPD使用165%的CPU VMware性能监视器也显示峰值。 这发生在每个小时10分钟。 我从服务器状态有以下信息 Server Version: Apache/2.2.15 (Unix) DAV/2 mod_wsgi/3.2 Python/2.6.6 Server Built: Feb 7 2012 09:50:15 Current Time: Sunday, 10-Jun-2012 21:44:29 EDT Restart Time: Sunday, 10-Jun-2012 19:44:51 EDT Parent Server Generation: 0 Server uptime: 1 hour 59 minutes 37 seconds Total accesses: 1088 – […]
最近,与某些服务器升级(虽然有各种各样的事情发生了变化)有些相似,但是Apache开始结束了一些处于“读取请求”状态的进程。 每个得到这个状态的PID占用100%的CPU,并且与它有很less的一致性,另一个卡住的进程(根据lsof) – 有些是开放的TCP / IP连接,有些是等待的,有些只是在www上进行监听。 模式如下: 重启apache 等一下(分钟) 得到僵尸“读取请求”的过程,CPU开始上升 更多的僵尸进来,所有不与任何明显的事情相吻合 根据我上次注意到的情况,CPU负载可以达到15-40 GOTO 1 这整个周期持续大约30分钟到4小时,这取决于我能否及时执行步骤1。 服务器状态给我: R_.__.K._K.._._…._……..W…………………………….. ………………………………………………………. ………………………………………………………. ………………………………………………………. Scoreboard Key: "_" Waiting for Connection, "S" Starting up, "R" Reading Request, "W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup, "C" Closing connection, "L" Logging, "G" Gracefully finishing, "I" Idle cleanup of worker, "." […]
IfModule上的Apache文档声明 模块名称参数是模块在编译时的文件名。 例如, mod_rewrite.c 。 … 但是,Apache 2.2似乎也接受了模块ID。 所以,这两个工作: <IfModule mod_filter.c> 和 <IfModule filter_module> 所有的Apache版本都是这样吗? 第一个版本应该优先还是第二个产生任何好处? 我问,因为HTML5样板使用模块ID而不是文件名
我们使用apache2.2作为前端服务器,应用服务器作为Apache后面的反向代理服务器。 我们正在使用mod_cache的一些图像,并启用它是这样的: <IfModule mod_disk_cache.c> CacheEnable disk / CacheRoot /var/cache/apache2/mod_disk_cache CacheIgnoreCacheControl On CacheMaxFileSize 2500000 CacheIgnoreURLSessionIdentifiers jsessionid CacheIgnoreHeaders Set-Cookie </IfModule> 图片url完全不同,没有共同的开始模式,但都以“.png”结尾。 这就是为什么我们使用CacheEnable / 如果没有从caching中提供,则通过反向代理将请求转发到应用服务器。 目前为止,caching工作正常。 但我真的只需要caching以“.png”结尾的所有图像请求。 我的上面的configuration仍然工作,因为我的应用程序服务器发送一个适当的caching控制:no-cache标题的方式返回到Apache。 所以大多数页面都会发送一个no-cache头文件,并且根本不会被caching。 我的“.png”响应不会发送Cache-Control标头,所以apache只会用“.png”来caching所有的url。 精细。 但是,当一个新的请求进入apache,apache不知道只应该考虑.png请求,所以每个请求都检查磁盘上的文件(用strace -e trace=file -p pid ): [pid 19063] open("/var/cache/apache2/mod_disk_cache/zK/q8/Kd/g6OIv@woJRC_ba_A.header", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 我不希望有apache去磁盘每个请求,因为大部分请求都没有被caching。 在高峰时间我们有高达10.000个请求。 有时我们读IO等待峰值。 它不是很慢,但我们试图调整它以获得更好的性能。 在Apache 2.4中,你可以说: <LocationMatch .png$> CacheEnable […]
我遵循博文“资产pipe道”中描述的步骤,从开发到生产,并将其调整到我的环境中。 这两个重要的文件是: /etc/apache/site-available/example.com <VirtualHost *:80> ServerName example.com ServerAlias www.example.com DocumentRoot "/var/www/sites/example.com/current/public" ErrorLog "/var/log/apache2/example.com-error_log" CustomLog "/var/log/apache2/example.com-access_log" common <Directory "/var/www/sites/example.com/current/public"> Options All AllowOverride All Order allow,deny Allow from all </Directory> <Directory "/var/www/sites/example.com/current/public/assets"> AllowOverride All </Directory> <LocationMatch "^/assets/.*$"> Header unset Last-Modified Header unset ETag FileETag none ExpiresActive On ExpiresDefault "access plus 1 year" </LocationMatch> RewriteEngine On # Remove […]
我在Ubuntu 12.04上安装了一个相对全新的LAMP(使用tasksel安装)。 我有一个虚拟主机指向我的主目录中的开发项目,其中包含简单的Hello World index.html。 Apache正在显示目录索引,而不是显示index.html。 这里的PDF (第190页)说,默认的DirectoryIndex位于/etc/apache2/mods-available/dir.conf中,我已经确认,并且mod_dir已经启用。 DirectoryIndex在项目根目录下的.htaccess中工作,但是我想让它在服务器范围内设置。 我可能错过了一些简单的东西。
我试图将用户redirect到server2一个子域名,如果他们向server2发出https请求。 我只有一个证书,并安装在server2 。 例如,从(server1) https://www.example.com到(server2) https://ssl.example.com 我最好的猜测是,我将需要https://www.example.com的证书,因为主机名是在HTTP标头内部encryption的,所以我的服务器在解密之前不会知道redirect。 但是,我很好奇,如果没有两个证书这是可能的?
我需要帮助去除已经安装在我的Linux机器上的二进制包。 我有这样的情况是这样的: 我已经安装了最新的Apache,通过Unix二进制包(tar.gz)从网站(httpd.apache.org) 成功安装程序后,完美的Apache服务器网站没有任何问题。 但后来我有一个想法,如果将来有另一个最新版本的Apache,那么我需要确保我可以升级当前的Apache或重新安装新版本的Apache。 所以我的问题是,我如何确保我已经删除旧的Apache及其所有的依赖关系,以便它不会在安装新的Apache时发生冲突(可能)。 现在我唯一能想到的就是手动删除所有的apache文件夹: rm -rf /apache2 希望对此有所了解,谢谢。
我不能让我的服务器服从php.ini的设置(我试图改变memory_limit和upload_max_filesize )。 据我所知,我正在编辑正确的文件。 phpinfo()给出: Loaded Configuration File /etc/php.ini 文件权限是644 。 /etc/php.d还有一些额外的.ini文件,但是没有包含任何我想改变的密钥。 无论我做什么, phpinfo都会在“本地”和“主”列中报告默认值。 我也扫描了我的Apacheconfiguration文件,但没有发现任何与PHP相关的内容(除了加载PHP模块)。 我能够改变这些设置的唯一方法是通过添加一些php_value行到我的.htaccess 。 有什么明显的我失踪? 这是一个虚拟服务器,我可以用sudo执行root命令。 我正在运行Apache 2.1.3和PHP 5.3.3。 系统信息(来自uname -a )是: Linux sesctbapp01 2.6.18-308.1.1.el5 #1 SMP Wed Mar 7 04:16:51 EST 2012 x86_64
我们正面临一个问题,即使apache尚未达到max_client设置,也不处理新的请求。 Max_client被设置为800 max_spare服务器是36 min_spare服务器是35 超时300 保持活跃 保持活动超时10 Max_keep_alive_requests 100 为什么Apache不处理新的请求,并发送超时,即使它没有达到其max_client值。 一个strace透露约有80多个apache儿童处于空闲状态,即输出为0.0000秒。 为什么这么多孩子都处于闲置状态,还在生孩子,还没有处理请求和发送超时。 我们使用Php5,Apache 2和mpm-prefork,Mysql 5,在Ubuntu 11.04上运行CSF防火墙。 所有的请求都是从单一的IP(我们的IP地址)。 单个IP的太多请求会导致任何TCP / IP或Apache限制连接,导致拒绝新的请求?