我最近使用apacheconfiguration加速器和fastcgi: http : //secure-ubuntu-server.blogspot.com/2009/07/howto-performance-tuning-of-lamp-and.html 现在我的Apache从不开始。 日志显示: Mon Jul 20 16:12:24 2009] [notice] ModSecurity for Apache/2.5.6 (http://www.modsecurity.org/) configured. [Mon Jul 20 16:12:25 2009] [notice] FastCGI: process manager initialized (pid 10919) [Mon Jul 20 16:12:25 2009] [alert] FastCGI: read() from pipe failed (0) [Mon Jul 20 16:12:25 2009] [alert] FastCGI: the PM is shutting down, Apache seems […]
我在Windows Server 2008r2上使用IIS7。 我最近安装了PHP和IIS。 我试图浏览到index.php,但它返回一个空白页面。 它加载我的网页的图标和标题。 当我加载一个info.php文件它不是空白的。 如果我禁用匿名身份validation它相同的index.php返回IIS 7.5详细错误 – 401.2 – 未经授权 。 奇怪的是我安装了这个确切的代码到另一个新鲜的IIS安装我刚才做的,它加载罚款。 这两个目录的权限是相同的。
我正在运行一个Web服务的负载testing。 这是一个运行在php-fpm和nginx上的使用fastcgi的php应用程序。 MySQL后端仅用于小型读取。 我总是看到一种奇特的模式:性能稳定,随着stream量的增加,性能会有所增加,但在高峰时刻性能会变得不稳定:CPU使用率不断波动。 这里是我看到的performance模式(用nmon可视化): 这个下降总是与我的负载testing工具locust.io在完成升级到我为testing设置的最高级别时的短暂停顿相符。 我的假设 :在这短暂的时刻, php-fpm主人认为负载已经消失,开始杀死工人; 在一会儿的交通恢复之后,它的响应速度不够快。 我不太明白的是,为什么它永远无法摆脱它:我看到负载均衡器背后的所有4个应用程序服务器无限期的波动。 这是我的php-fpm池configuration: [www] user = www-data group = www-data listen = /var/run/php5-fpm.sock listen.group = www-data listen.mode = 0660 pm = dynamic pm.max_children = 100 pm.start_servers = 40 pm.min_spare_servers = 40 pm.max_spare_servers = 100 pm.max_requests = 10000 我已经证实,这不是数据库的问题 – 我看到MySQL读取从站的数量翻倍后,完全相同的行为。 这是什么原因造成的? 我怎么能阻止它? 编辑: 这是一个图表,展示了我所看到的。 请注意,失败率通常会在user_count达到峰值时出现峰值,然后逐渐下降。
我的PHP-CGI开始空白页面没有明显的原因,直到我重新启动的过程。 我想知道为什么。 不幸的是,PHP的“生产”configuration文件默认没有error_log。 我的Nginx错误日志也没有显示与PHP相关的错误。 这可能是一个无望的情况,但我只是为了以防万一。 这是我的设置 Nginx 0.8.2 PHP 5.2.6-3ubuntu4.1与Suhosin-Patch 0.9.6.2(cli)(内置:2009年4月23日14:37:14) PHP APC 3.0.19-2 spawn-fcgi v1.6.2(ipv6) – 来自lighttpd的fastcgi包装 任何想法可能会导致错误? 更新 我想我已经隔离了这个问题。 我一直在使用Monit来自动重新启动PHP,当它开始消隐。 我的PHP错误日志是空白的。 但是我发现如果我禁用了一个名为WP-SuperCache的WordPress插件,我的PHP停止了每10个小时的重置。 到目前为止,我的PHP已连续运行了三天。 有没有人对此有任何build议?
我运行Nginx并通过FastCGI代理PHP请求到PHP-FPM进行处理。 我将随机收到502错误的网关错误页面 – 我可以通过点击我的PHP网站非常迅速/刷新页面一两分钟来重现此问题。 当我得到502错误页面时,我所要做的就是刷新浏览器并正确刷新页面。 这是我的设置: nginx / 0.7.64 PHP 5.3.2(fpm-fcgi)(内置:Apr 1 2010 06:42:04)Ubuntu 9.10(最新的2.6 Paravirt) 我使用这个./configure指令编译PHP-FPM ./configure –enable -fpm –sysconfdir = / etc / php5 / conf.d –with-config-file-path = / etc / php5 / conf.d / php.ini –with-zlib –with -openssl –enable-zip –enable-exif –enable-ftp –enable-mbstring –enable-mbregex –enable-soap –enable-sockets –disable-cgi –with-curl –with -curlwrappers –with-gd –with-mcrypt –enable-memcache […]
PHP有几个会话设置,控制垃圾收集(即删除已到期的会话)的概率。 我的问题是:这个概率是否适用于在任何给定的Apache服务器上的所有虚拟主机上运行的所有Apache线程? 例如: 如果概率设置为1/100,是否意味着任何运行PHP进程的Apache线程都进入可能运行gc的进程池中? 或者,这是否只适用于为任何给定的VirtualHost运行的线程? 还是其他的分区? 最后,如果一个触发gc的PHP进程,它是否在所有PHP会话上执行gc? 或者只是该虚拟主机的会话? 还是其他types的分配? 我试图衡量,我需要调整给定的VirtualHost,整个服务器,或什么的gc_probability设置。
我在专用服务器上运行带有MPM prefork的Apache 2.2.21。 更多细节: Server Version: Apache/2.2.21 (Unix) mod_ssl/2.2.21 OpenSSL/1.0.0-fips DAV/2 SVN/1.7.0 mod_python/3.3.1 Python/2.6.5 mod_bwlimited/1.4 PHP/5.3.6 stream量通常在10-30个请求/秒之间,有12GB的RAM,我们已经相当保守地调整了MaxClients(250)。 我们确实看到各种原因使用的峰值(在一个旧的服务器上,我们在这些峰值期间几次打我们的MaxClients)。 无论如何,这是一个新的服务器。 运行一段时间后,我们的Apache状态开始如下所示: GGG_._._RC_.G..C.G_G.C_G..C_.CG_._._G__W____..R.WCR_.W..G_…… G的(“优雅地完成”)正在卡住。 如果我重新启动Apache,它们只会消失。 这肯定会导致我们在没有定期监控/修复的情况下达到我们的MaxClients限制。 我在互联网上阅读,似乎有一个类似于这个Apache的错误,但发生在不同的条件下。 它在2.2.14版中也显然是固定的。 我包含了一个挂起的过程的堆栈跟踪您的检查。 #0 0x000000350c6f119e in __lll_lock_wait_private () from /lib64/libc.so.6 #1 0x000000350c67c138 in _L_lock_9164 () from /lib64/libc.so.6 #2 0x000000350c679a32 in malloc () from /lib64/libc.so.6 #3 0x000000350c66fcfb in __libc_message () from /lib64/libc.so.6 […]
服务器设置 问题 诊断信息 我试过了 需要特定的帮助 1.我有以下服务器设置: (使用Hyper-V在VM中运行) Debian挤压 Linux 2.6.32-5-amd64 Apache2-mpm-prefork 2.2.16-6 + squeeze10 PHP 5.3.3-7 + squeeze14 该服务器使用Suhosin Patch 0.9.9.1进行保护 每个孩子的最大请求数:0 – 保持活动:开 – 每个连接的最大数量:100 超时连线:300 – Keep-Alive:15 加载模块核心mod_log_config mod_logio prefork http_core mod_so mod_alias mod_auth_basic mod_auth_digest mod_authn_file mod_authz_default mod_authz_groupfile mod_authz_host mod_authz_user mod_cgi mod_deflate mod_dir mod_env mod_mime mod_negotiation mod_php5 mod_reqtimeout mod_rewrite mod_setenvif mod_ssl mod_status WordPress的3.4.2(即将升级到3.5) […]
我有这样的设置:使用php-fpm和http://blueimp.github.io/jQuery-File-Upload/的Nginx服务器 当我尝试上传约10MB后的文件失败。 SPDY激活时会发生这种情况。 当SPDYclosures时,上传工作正常。 有谁知道这个问题的解决方法/修复?
Alias /students /var/www/students <Location /students> KrbServiceName HTTP KrbMethodNegotiate On KrbMethodK5Passwd On KrbSaveCredentials off KrbAuthRealms DOMAIN.LOCAL Krb5KeyTab /etc/httpd/keytab KrbAuthoritative off AuthType Kerberos AuthName "Please Login" AuthBasicProvider ldap AuthzLDAPAuthoritative on AuthLDAPURL "ldap://dc.domain.local:389/OU=Domain Users,DC=domain,DC=local?userPrincipalName?sub?(objectClass=*)" AuthLDAPBindDN "CN=ldapsearchuser,CN=Users,DC=domain,DC=local" AuthLDAPBindPassword ldapsearchuserpass require ldap-group CN=Students,CN=Users,DC=domain,DC=local require ldap-group CN=Staff,CN=Users,DC=domain,DC=local </Location> 这允许所有属于学生/职员AD组的成员的用户访问http:// intranetsite / students后面的页面,而不必指定login凭证,只要他们的IE / Firefoxconfiguration正确。 使用userPrincipalName而不是sAMAccountName,因为kerberos模块正在将用户名@ REALM传递给ldap模块。 现在我遇到了这样的问题,如果有人没有被授权,他们会得到: 需要授权此服务器无法validation您是否有权访问请求的文档。 要么提供了错误的凭据(例如错误的密码),要么您的浏览器不知道如何提供所需的凭据。 有谁知道如何让它popup一个用户名/密码对话框,以便他们可以尝试备用凭据? 获得授权失败后,我可以要求凭据的唯一方法是清除我的caching。 […]