Articles of apache 2.4

无法诊断Apache和mod_wsgi的停机/内存问题

我有一个运行在Apache上的mod_wsgi的Ubuntu EC2实例(t1.micro,内存为600mb),可以为Django应用程序提供服务。 这都是负载均衡器的后面。 我一直遇到的问题是,我似乎只能得到几天的正常运行时间,在我的网站停止前,我开始获得503状态。 我的logging是大约4周,没有停机。 重新启动apache没有帮助,我通常必须完全停止并重新启动EC2实例。 我已经尝试使用Dowser来诊断内存泄漏,但没有什么突出的。 我试过调整mpm_prefork设置。 我没有使用任何C扩展模块,任何外部API调用都有超时设置,我只有两个cron作业每天运行一次。 我的访问日志没有显示任何不寻常的东西,可能会显示DDOSing。 我完全不知道是什么导致服务器不断下降。 以下是停机时间段中apachectl状态的输出: 这里是htop的输出: 这些是我的prefork设置: <IfModule mpm_prefork_module> StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxRequestWorkers 40 MaxConnectionsPerChild 0 </IfModule> 我应该升级到更大的EC2实例吗? 或者升级mod_wsgi(因为我在旧版本)? 我试过从Djangoangular度的一切,所以我开始认为我只是mod_wsgiconfiguration不正确…

简单的bug在Apache 2.4或CentOS上

我正在处理这个问题的日子,碰巧我得出结论,它必须是一个错误…不幸的是。 我希望借助您的专业知识,我可以肯定地知道这是Apache,CentOS 7还是其他的问题。 我用LAMP有一个新的最小的CentOS 7安装。 Apache的最新版本是2.4,prefork是MPM。 我可以重现“错误”的服务器有2 GB的RAM和256 MB的交换分区,并运行2个vCPU。 CentOS 6没有发生这个bug,所以我觉得这个bug有一些CentOS + Apache的组合,不知道哪一个是有罪的。 这就是问题所在:当我启动Apache时,一切正常,几秒钟后, httpd进程就无缘无故地开始使用交换内存 – 稍后我会告诉你我是如何知道的。 我的第一个想法是,我在RAM上运行低。 所以我执行free ,令我惊讶的是我所看到的: 你是对的,1.8 GB的可用内存和我的服务器,由于一些奇怪的原因,交换。 所以我执行了top – > F – >添加了SWAP字段。 这是我得到的: 是的,Apache是​​唯一交换。 所以我检查了我的httpd.conf ,并将默认值更改为下面的内容,这有助于减less交换使用情况: KeepAlive Off <IfModule prefork.c> StartServers 8 MinSpareServers 5 MaxSpareServers 20 ServerLimit 60 MaxRequestWorkers 60 MaxConnectionsPerChild 4000 </IfModule> 使用上面的configuration,一切都应该工作正常运行与大量的可用内存的networking服务器。 这是一个非常容易的“错误”重现,我认为很多人应该面对它…不仅仅是我…所以为什么在所有的论坛search没有人发布这样的事情呢? 是的,当然,有很多的教程告诉你如何调整Apache,服务器上的其他东西可能会导致这个交换…是啊,悲伤…但上面的情况是非常清楚,没有什么幻想,可能是一堆周围的好伙计正在旋转,不知道什么是造成他们的服务器交换。 一个好的方面是,这个服务器在重现这个bug的时候不是“闲置”的,我每分钟收到几百个请求,所以我可以检查这个bug。 说这些请求总是非常“轻”,服务器总是有1.8 GB的可用RAM是很重要的。

客户端被服务器configuration拒绝 – 列出的IP是服务器自己的IP

我的服务器上发生了一些奇怪的事情。 Apache日志显示来自服务器自己的IP地址的大量请求。 我不怀疑服务器是受到威胁的。 我怀疑一些PHP代码有问题,但我不知道如何跟踪它。 我不得不在htaccess中阻止自己的服务器,因为太多的会话正在生成,但请求仍在发生,导致访问被拒绝的错误。 我需要找出什么是产生的请求。 下面我粘贴了Apache错误日志中的4行, 所有这些都是在同一秒钟内生成的(在那一秒生成的总共24行!)。 我怀疑在PHP脚本的某个地方有这样的事情。 我怎样才能找出这些请求的来源? 请注意,显示的IP不是本地主机IP,而是服务器的外部IP。 这可能是重要的。 [Mon Sep 21 17:35:21.056244 2015] [access_compat:error] [pid 13385] [client 64.123.123.123:44407] AH01797: client denied by server configuration: /home/user1/public_html/403.shtml [Mon Sep 21 17:35:21.065225 2015] [access_compat:error] [pid 13406] [client 64.123.123.123:44408] AH01797: client denied by server configuration: /home/user1/public_html/image/catalog/somepath/ABC-1234XYZ.jpg [Mon Sep 21 17:35:21.065270 2015] [access_compat:error] [pid 13406] [client […]

Apache2 / Ubuntu 14.04 error.log通过SNI提供的主机名和通过HTTP提供的主机名是不同的

在我的apache2 error.log中,我每隔几分钟就会看到一条错误消息:“通过SNI提供的Hostname …和通过HTTP提供的hostname www.google.com.hk提供的是不同的”。 在access.log中,每个错误通常可以连接到一个HEAD请求。 我们在多个Google Cloud实例上有这些错误。 所有Ubuntu 14.04与Apache2.4。 在一些错误下面join了访问日志信息。 任何想法如何我们可以防止这样的错误与我们的服务器configuration? 还是那些客户端错误,这是好的Apache的日志呢? 或者我们可以过滤这些错误,使他们不会被添加到error.log文件? 问候,埃里克 [tue Sep 22 00:05:05.427193 2015] [ssl:error] [pid 30172] AH02032:通过SNI提供的主机名?18880和通过HTTP提供的主机名www.google.com.hk不同171.118.181.162 – [22 / Sep / 2015:00:05:05 +0200]“HEAD / search?q = g HTTP / 1.1”400 5568“ – ”“ – [tue Sep 22 00:23:28.422609 2015] [ssl:error] [pid 31700] AH02032:通过SNI提供的主机名?20939和通过HTTP提供的主机名www.google.com.hk不同183.15.28.236 – – [22 / Sep […]

Drupal多站点,虚拟主机和CloudFlare

我希望有一些有CloudFlare经验的人可以借我一些指导。 背景 Drupal 多站点托pipe200多个站点,定期推出新站点。 所有站点的单一IP ,在Ubuntu VPS上使用Apache 虚拟主机 。 通过Aegirpipe理的网站。 每个网站由我们协会的成员组织拥有。 我们的主要领域是www.association.com 。 我们组织的成员收到一个子域用于开发目的(见下一个项目符号)。 会员最初是通过member_name.association.com访问网站的。 当他们的网站准备推出时,他们将其域名指向我们的IP。 Apache虚拟主机负责名称parsing。 示例场景 比方说一个属于我们协会的ABC Corp成员,和我们一起开辟了一个新的网站。 他们最初将通过ABC_corp.association.com访问他们的网站。 一旦他们的网站准备推出,他们更新他们的DNSlogging与他们的注册商指出他们的域名www.abc_corp.com到我们的IP。 问题 我们有兴趣使用CloudFlare来改善我们网站的性能,安全性和正常运行时间。 CloudFlare的文档表明: “[在注册时] …我们已经指定了两个CloudFlare域名服务器作为您域名的权威域名服务器(例如,bob.ns.cloudflare.com和sara.ns.cloudflare.com),您可以通过注册服务商从那里你买了你的域名(例如,GoDaddy,networking解决scheme,Register.com等)“。 所以,我的问题的部分是: CloudFlare会使用这个configuration吗? 我们协会的每个成员是否必须为其网站的域名注册商进行DNS更新?或者我们是否可以通过我们的域名注册商( www.association.com )更新一次? 根据你的经验,还有什么我应该知道关于使用CloudFlare这个configuration? 你的时间和专业知识,赞赏。 谢谢!

从IIS7 / PHP5.3到Apache 2.4 / PHP5.6.13的Joomla网站迁移:MySQL适配器“mysql”不可用

已经2天了,我不知道为什么我无法连接到我的Apache网站的MySQL。 我有一个Windows 2008 R2服务器,在IIS7上托pipe公司网站,Joomla 1.5.3和PHP 5.3(安装在c:\ program files(x86)\ php \ v5.3)。 它(仍然)运行顺畅,没有问题。 我们需要将它迁移到Apache 2.4(x64,安装在c:\ Apache24),obviusius保存Joomla它是:-) 安装PHP5.6.13 x64(在c:\ PHP_5.6.13) 我设法启动并运行Apache和PHP,但现在当我尝试连接到Apache网站(本地主机:8081 /网站),我得到以下错误 数据库连接错误(1):MySQL适配器'mysql'不可用。 我被卡住了。 我已经在php.ini中启用了mysql和msqli扩展我已经在php.ini中设置了mysql默认主机将Joomlaconfiguration中的$ dbtype更改为“mysql”或“mysqli”只有改变在错误消息中找不到的适配器:-) 任何想法? 提前致谢! 编辑:运行phpinfo()显示我,他们期待在c:\ windows中的php.ini。 由于我不想移动该文件,因此我创build了指向c:\ PHP5.6.13的PHPRC环境variables,但是为了实现更改,我需要重新启动服务器。 由于这是一个生产服务器,我今天晚上将重新启动:-)我会发布结果…. 编辑(和结论):问题是,除了复制php.ini在c:\ windows(环境variables没有这样做),我设置错误的path为PHP扩展和Apache正在寻找C:\ Apache24 \ ext而不是c:\ PHP5.6.13 \ ext …它在事件查看器中清楚地报告过…. 只是为了完整性,最后我放弃了(现在)的迁移,因为我发现这个连接器从IIS到Tomcat,让我在5分钟内设置redirect。 (与Apache我有一些东西搞乱了path的问题,所以一个虚拟的网站被引用为服务器的根,另一个没有回应)…我想在Joomla错误的configuration,但没有时间serach和修理它)

使用sshfs与OwnCloud一起使用是否安全?

我目前有一个虚拟专用服务器(VPS)公司的帐户 – https://www.ovh.com/us/ 。 在我租用的虚拟服务器上,我运行了安装了OwnCloud和Apache的Debian Linux。 我用sshfs在/mnt/RemoteServer使用sshfs user@My_IP_ddress:/mnt/HDD /mnt/RemoteServer/ -p 22 -o gid=33 -o uid=33 -o allow_other来挂载远程文件系统。 将UID和GID设置为与www-data用户相同,以便apache能够对该目录进行读/写访问。 在我的owncloud/config.phpconfiguration中, owncloud/config.php ,我指定了我的数据目录,如下所示: 'datadirectory' => '/mnt/RemoteServer/owncloud' 。 基本上,我所做的就是使用OVH装载网站前端,并通过sshfs隧道将数据后端重新路由到另一个位置进行存储。 我用一个签名的SSL证书来保护我的网站。 到目前为止,这经受住了时间的考验。 sshfs是持久的,允许我连接到我的Owncloud网站并上传文件。 但是,我担心我的执行的完整性。 我的设置有天生的不安全感吗? 特别是使用sshfs来安装远程文件系统。 有没有人有任何资源,你可以通过努力进一步理解这些types的实现? 最后,鉴于我希望保留使用ssh隧道或类似的解决scheme,是否有更好的替代scheme可以更安全地执行。 提前感谢您的贡献!

nginx,php-fpm错误,而Apache没有错误

我有一个与nginx,fastcgi部署的opencart应用程序。 我使用RDS作为Mysql服务器。 最近,我一直在我的日志中有这个错误,我运行负载testing围攻400并发用户。我得到这个错误 FastCGI sent in stderr: "PHP message: PHP Warning: mysqli::mysqli 同时使用apache作为服务器运行相同的负载testing。testing产生积极的结果 这些是用nginx围攻的结果 Transactions: 3246 hits Availability: 77.80 % Elapsed time: 146.43 secs Data transferred: 35.27 MB Response time: 6.86 secs Transaction rate: 22.17 trans/sec Throughput: 0.24 MB/sec Concurrency: 152.01 Successful transactions: 1049 Failed transactions: 926 Longest transaction: 36.83 Shortest transaction: 0.65 并与Apache Transactions: […]

mod_fcgid:ap_pass_brigade在handle_request_ipc函数中失败

我一直在努力挣扎几个星期,这个错误: (32)Broken pipe: mod_fcgid: ap_pass_brigade failed in handle_request_ipc function 有时跟着这个错误: (104)Connection reset by peer: mod_fcgid: ap_pass_brigade failed in handle_request_ipc function 我不得不说,我不熟悉FastCGI,所以我到处search,尝试了所有可能的解决scheme,但都没有成功。 即像设置FcgidMaxRequestsPerProcess为500 任何人都可以请向我解释这个错误究竟意味着什么? 也许有什么build议。 我正在虚拟机上运行,​​使用PHP 5.6和Apache 2.4的Debian Jessie

当使用nginx代理到apache时,保留多个斜线和所有的斜线

所以有一点背景。 我正在将网站从使用Apache的旧服务器迁移到使用NGINX代理到Apache的新Ubuntu服务器。 将有一个过渡期,网站代码库将在新老服务器上运行。 该网站的searchurl与filter是斜杠分开,往往是可选的,例如 www.example.com/search/deals/q1/q2/q3/q4/q5/q6/ 它映射到以下apache.conf重写规则: RewriteRule ^/search/deals/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/ /results.php?q1=$1&q2=$2&q3=$3&q4=$4&q5=$5&q6=$6 [L,QSA] 有像下面的url是不寻常的 www.example.com/search/deals/q1////q5/q6/ www.example.com/search/deals/q1/q2/q3///q6/ www.example.com/search/deals/q1/q2/q3/q4/// 在新服务器上,我configuration了NGINX,如下所示:两个站点启用了默认的服务器apache文件和example.com文件 /etc/nginx/sites-enabled/apache -> ../sites-available/apache /etc/nginx/sites-enabled/example.com -> ../sites-available/example.com Apache看起来像这样(真正的IP由10.10.10.10取代): server { listen 10.10.10.10:80 default_server; merge_slashes off; #have tried with/without location / { proxy_redirect off; #have tried with/without port_in_redirect off; #have tried with/without proxy_pass http://10.10.10.10:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Proto […]