现在,我几乎每天都在pipe理一个Web服务器上的平均负载峰值,下面是服务器规格: 6 x 2.4 GHz专用CPU 3GB内存 这是一个运行debian 6的VPS,我通过apt安装了apache,php和mysql。 我不确定是否有错误的configuration。 今天的负载平均达到高峰,服务器无法为Web应用程序提供服务(WordPress)。 以下截图显示了我们的服务器监控系统。 您会注意到高负载平均值与高apache繁忙工作者数量相关,随后内存也最大。 在强制重新启动服务器之后,尽pipeCPU使用率较低,但我的平均负载仍然高于平时。 以下屏幕截图显示了htop ,然后是iotop 。 现在平均负载> 6,这是apache服务器的状态: 我真的很苦恼如何调查这一点。 任何人都可以协助找出这一个。 更新1 我已经search了Apache的错误日志,并没有任何事情的最大执行时间的话。 但是,我确实得到了很多以下内容:从服务器开始加载时开始: ::1 – – [24/Feb/2014:15:03:31 +0000] "OPTIONS * HTTP/1.0" 200 152 "-" "Apache/2.2.16 (Debian) (internal dummy connection)" ::1 – – [24/Feb/2014:15:03:32 +0000] "OPTIONS * HTTP/1.0" 200 152 "-" "Apache/2.2.16 (Debian) (internal dummy connection)" […]
该指令的文档声明如下: 这个目录中的文件必须是PEM编码的,并通过哈希文件名来访问。 所以通常你不能把证书文件放在那里:你还必须创build名为hash-value.N的符号链接。 你应该确保这个目录包含适当的符号链接。 我有两个问题: 实用:文件名中的.N部分是什么意思? 我如何决定给它什么价值? 概念:Apache为什么不只是扫描证书文件的指定目录? 我是否缺less一些计算和记住证书散列的属性?
我有一个networking服务器,完全用基本身份validationlocking <Location /> AuthType Basic # […] rest of basic auth stuff require valid-user order deny,allow deny from all Satisfy any </Location> 一个子目录无需授权即可访问: <Location /public> allow from all Satisfy any </Location> 这工作正常。 现在我想允许访问而不login一些使用mod_rewrite访问的脚本: RewriteRule ^phonebook/show/(.+)$ /quicksearchShow.php?uid=$1 [NC] RewriteRule ^phonebook/(.+)$ /quicksearch.php?s=$1 [NC] RewriteRule ^phonebook$ /quicksearch.php [NC] 我尝试了一些方法: <Location ~ "/phonebook*"> Allow from all Satisfy Any </Location> […]
目标:使用Apache / mod_auth_kerb使用自定义的krb5.conf文件,而不是系统标准/etc/krb5.conf 。 问题:我有一个强大的治理环境,我们的应用程序所有者能够在其分配的目录中configurationapache实例,但基线configuration(OS和Apache核心)由一个单独的组维护。 因此,我对核心configuration(如/etc/krb5.conf进行的任何更改都意味着要将更改复制到数千个服务器(风险+)或为此服务器(risk +,$ +)编写自定义系统configuration的脚本。 成功模式:为了调用kinit来testing或者ktutil在这个环境中生成供Apache使用的keytab文件,重载KRB5_CONFIG环境variables(在StackOverflow中讨论:通过kinit定制一个krb5.conf文件 ) 问题:无论如何要为Apache指定KRB5_CONFIG环境variables或强制mod_auth_kerb使用其他configuration? 失败的尝试:我已经尝试在apachectl重新启动时运行相同的env命令。 Apache指令SetEnv被忽视,因为它适用于基于用户请求的脚本执行,而不是Apache的“后台”function。
我目前正在运行托pipe我的networking和gitlab服务器的CentOS以及托pipe一个亚音速服务器的Windows机器。 目前,我的IP指向CentOS,但没有正确redirect。 我能够访问/但无法访问任何其他网站的子域,尽pipe我已经做了设置,所以我想知道我要去哪里错了,如何纠正这个问题。 当人们inputhttp://git.example.com ,是否也可能自动将其redirect到https://git.example.com ? 提前致谢! NameVirtualHost *:80 #This should lead to subsonic server <VirtualHost *> ServerName music.company.com ServerAlias www.music.company.com ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyErrorOverride On ProxyPass / http://192.168.1.14:6060/ ProxyPassReverse / http://192.168.1.14:6060/ <Location /> Order allow,deny Allow from all </Location> </VirtualHost> Gitlab.conf LoadModule ssl_module modules/mod_ssl.so SSLSessionCache "shmcb:logs/ssl_scache(512000)" <VirtualHost […]
背景: Web服务器运行LAMP堆栈 Web服务器在总部有通往ADnetworking的VPN通道 遍布全球的多个ADnetworking具有到总部networking的VPN隧道和信任关系 在web服务器上configurationKerberos身份validation,并使用keytab文件工作于所有networking 我是networkingpipe理员,但无法访问任何ADnetworkingconfiguration 当用于访问我们的networking服务器的PC绑定到有问题的AD时,我们遇到了一个只有IE或Chrome才能显示的ADnetworking的问题。 没有令牌被传递,并且在与令牌协商相关的服务器日志中没有条目。 如果我们使用Firefox并启用network.negotiate-auth选项,则用户可以毫无问题地login,但是当使用IE时,他们会得到授权所需的错误。 该网站位于Intranet区域,IWA被检查(由GPO控制) 如果用户尝试使用IE或Chrome从AD以外访问该站点,则会出现预期的身份validationlogin提示,然后会正确发送令牌。 我已经和networkingpipe理员说过了,他们确信AD没有特殊的configuration来确保Kerberos身份validation的正常工作,但是我不明白为什么身份validation可以用于其他六个ADnetworking,并且如果不是这样, ADconfiguration本身。 我错过了什么吗? 什么可以解释谈判令牌的失败? [注意 – 这不是紧急的,而我现在离开办公室的时候,将会在星期一回答任何关于更多细节的请求]
我想在单台机器上有两个虚拟主机(2个项目),并希望具有独立于此机器/ IP分配给域名的configuration 比如我有 域名testDomainName.com并期望它被部署到example.com或whatever.com , 2个项目project1和project2 。 我想configurationproject1.testDomainName.com和project2.testDomainName.com ,不关心它是否会在将来更改为example.com或whatever.com 。 换句话说, 我怎样才能分配“project1”和“project2”作为名称,并让Apache自动将其parsing为project1.whatever.com和project2.whatever.com
我试图启动apache2服务器,但它抱怨在phpmyadmin.conf 文件phpmyadmin.conf看起来如此: 它对我来说看起来不错,但也许我想念一些东西。 这个错误出现后,我试图改变网站的默认位置做命令为a2dissite,a2ensite。 我的apache.conf文件看起来如此http://paste.org.ru/?ingbp6 帮帮我! 谢谢。
我通过yum安装了httpd v2.2.15和php v5.5.13 。 当我尝试访问我的网站时,我首先注意到了这个问题,并显示了PHP代码。 然后我发现/etc/httpd/modules没有php模块,所以LoadModule失败。 我怎样才能将php模块添加到Apache? PHP的网站是指从源头上构build它。 不过,我需要通过RPMpipe理这个。 有没有其他方法可以做到这一点? 这里是我安装的httpd RPMs: httpd-tools-2.2.15-30.el6.centos.x86_64 httpd-2.2.15-30.el6.centos.x86_64 httpd-devel-2.2.15-30.el6.centos.x86_64 这里是我安装的PHP RPMs: php-xml-5.5.13-2.el6.remi.x86_64 php-pecl-jsonc-1.3.5-1.el6.remi.5.5.x86_64 php-gd-5.5.13-2.el6.remi.x86_64 php-pecl-memcached-2.2.0-2.el6.remi.5.5.x86_64 php-mbstring-5.5.13-2.el6.remi.x86_64 php-process-5.5.13-2.el6.remi.x86_64 php-cli-5.5.13-2.el6.remi.x86_64 php-common-5.5.13-2.el6.remi.x86_64 php-pecl-zip-1.12.4-1.el6.remi.5.5.x86_64 php-pecl-msgpack-0.5.5-4.el6.remi.1.x86_64 php-pgsql-5.5.13-2.el6.remi.x86_64 php-pecl-sqlite-2.0.0-0.4.svn332053.el6.remi.5.5.x86_64 php-mysqlnd-5.5.13-2.el6.remi.x86_64 php-pecl-apcu-4.0.4-1.el6.remi.5.5.x86_64 php-pecl-memcache-3.0.8-2.el6.remi.5.5.x86_64 php-pear-1.9.4-27.el6.remi.noarch php-pdo-5.5.13-2.el6.remi.x86_64 php-pecl-igbinary-1.1.2-0.5.git3b8ab7e.el6.remi.1.x86_64 php-mcrypt-5.5.13-2.el6.remi.x86_64 php-pecl-mongo-1.5.2-1.el6.remi.5.5.x86_64
编辑:[解决]最后在文档中find解决scheme; 张贴了一个答案。 简而言之: DPI标志。 编辑:在底部,增加了一个简单的方法来重现在线问题。 我花了几个小时debugging一些重写。 一切都很好,只有一种行为让我感到困惑。 不知何故,当一个URL有两个或更多的子目录时,mod_rewrite自动将所有的子目录(除了第一个)附加到重写的url。 这是我可以减less的最简单的例子。 这是在DOCUMENT_ROOT的htaccess。 url: http://localhost/stripthis/stripthat RewriteRule ^ RewriteWasHere_ 输出: RewriteWasHere_/stripthat 那条stripthat从哪里来的? 上游有一些select可能导致这种情况吗 我试图用各种规则剥离子文件夹。 例如: url: http://localhost/stripthis/stripthat RewriteRule ^/?([^/]+) RewriteWasHere_$1 输出: RewriteWasHere_stripthis/stripthat 奇怪的是,这发生在本地xampp x Apache 2.4.7和远程CentOS x Apache 2.2上。 我一直在通过将它们输出到脚本来检查重写的URL,但是这里有一个方法来在线重现这个问题。 如何重现此在线 去这个在线htaccesstesting 对于该url,请inputhttp://example.com/a/123/b 对于规则,粘贴这个: # the `(?!)` negative lookaheads are just to make triple sure # we're not running […]