Articles of apache 2.2

Linux内核和Apache 2.2性能问题在两个不同的Web服务器上

我有一个2负载均衡器后面的mod_php web服务器,这些操作系统是CentOS 6.x. 他们应该是相同的。 他们应该使用循环法收到相同的请求。 其中一个比另一个performance糟糕。 我认为这是因为某些原因收到更多的请求: 事实并非如此。 这些请求大概是同一个URL,并且几乎同时有相同数量的请求。 性能仍然糟糕。 那么我决定帮助服务器,而我find了解决scheme。 所以我重新configuration负载平衡器。 负载平衡器的configuration更改是将请求发送到服务器,并打开较less的连接。 在此之后,服务器开始比第二台服务器接收更less的请求,性能仍然比其他服务器差。 只是为了强调差异,此时请求分配约35至65%。 一般来说,关于相同的URL请求比率。 现在,我认为我们有两个服务器之间的其他用户软件水平差异。 事实并非如此。 我们自动pipe理configuration和代码。 PHP有相同的模块加载,Apache也。 代码没有区别。 硬件是一样的。 作为额外的信息,我们不会有粘滞的会议。 请求被随机定向到两个服务器。 我们也testing了这一点。 configuration更改后的差异是具有该问题的服务器接收的请求less得多。 服务器在处理请求或连接到其他组件(如数据库)时没有任何有意义的时间差异。 鉴于此背景检查当前的CPU图像。 带有问题的服务器: web1 image CPU性能通知RED表示系统CPU时间不是用户,apache是​​用户空间。 还请注意,这些图像是从更改后得到更less的请求到web1(有问题)。 在我们有严重的CPU和负载平均问题之前,那么这里是另一台服务器。 Web2镜像CPU性能 。 没有检测到IO,RAM或其他硬件问题。 这让我怀疑内核问题。 top似乎也是这样说的。 顶级Web1与Web2图像性能 然后我注意到内核因为某种原因加载了不同的模块。 因为我找不到其他的区别。 由于服务器应该是相同的,我实际上已经足够了。 BOSS希望能够在删除内核模块之前将其链接到实际问题。 我尝试了一些东西,包括perf,但没有pipe理。 Perf( perf record -F 99 -a -g — sleep 30 […]

.htaccess mod_deflate不适用于dynamicurl

我有一个URL如下www.example.com/fr_FR curl返回types如下: HTTP/1.1 200 OK Date: Mon, 16 Oct 2017 10:35:19 GMT Server: Apache Set-Cookie: PHPSESSID=img4385scm6ldm6vngtntsrou1; path=/; HttpOnly Cache-Control: no-cache Set-Cookie: FirstVisit=1; expires=Wed, 18-Oct-2017 10:35:20 GMT; Max-Age=172800; path=/; httponly Cache-Control: no-cache Content-Type: text/html; charset=UTF-8 我的.htaccess包含以下指令: <IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/x-javascript application/javascript application/rss+xml application/xml application/xhtml+xml application/x-font-ttf application/x-font-opentype image/svg+xml </IfModule> 问题是,特定的URL没有被gzip,但是,如果我访问.html文件,或者如果我直接在我的apache虚拟主机添加AddOutputFilterByType DEFLATE text/html […]

在debian 9上用apache2安装PHP7.1时出错

你好我安装了debian的9安装的Apache。 然后安装php7.0与apt-get,但我需要安装php7.1,起初我做的 $ su $ apt-get purge php7.0 所以我从http://php.net/downloads.php下载了php 7.1.10并做出了这个 $ ./configure –with-mcrypt $ make $ make install 但phpinfo()得到的php7.0,所以我做 $ su $ apt-get purge php7.0 $ apt-get autoremove php7.0 并知道phpinfo()不工作。 我认为,现在的PHP没有安装。 然后从http://php.net/downloads.php下载php 7.1.11(今天新增)和里面 $ tar jxvf php-7.1.11.tar.bz2 $ apt-get install build-essential $ apt-get install libxml2-dev libmcrypt-dev libjpeg-dev $ cd php-7.1.11 $ ./configure –with-mcrypt –with-pdo-pgsql=/etc/postgresql/9.6/main –with-openssl=/usr/bin/openssl […]

为多个用户设置Tom Cat和Apache的步骤

我的目标是使用mod_userdir来单独允许用户将java webapps放入其用户的public_html文件夹中。 我有Apache,mod_userdir和Tomcat安装和工作。 我有mod_jk安装,但不认为它的工作。 现在,如果我去的url,我需要到Apache的成功页面,如果我去[url] /〜[用户名]加载任何在用户的目录,如果我去[url]:8080它给tomcat页面,并执行java。 有人可以概述我需要采取的步骤才能使这个工作? 给可能的陷阱? 或者提供让我实现我的目标的另一种想法?

有没有可能使用yum将mod_ssl添加到现有的Apache服务器?

我有一个运行在Red Hat Enterprise中的现有Apache 2.2.3服务器。 不幸的是,我现在需要使用https,而mod_ssl没有安装。 我希望我可以在yum做这个,避免重新编译Apache。 但是当我这样做: yum安装mod_ssl 我得到一个依赖错误: 缺less相关性:软件包1需要httpd = 2.2.3-22.el5_3.1:mod_ssl-2.2.3-22.el5_3.1.i386(rhel-i386-server-5) 我想我不知道如何让Apache识别该版本号。 “yum升级httpd”找不到任何升级。 “yum干净所有”没有帮助。 有人有主意吗? 如果我在重新编译httpd时遇到困难,那么确保我不在服务器中执行操作的最佳方法是什么?

apache <Location / test>排除几个IP地址

我有以下configuration(在ReverseProxy条目旁边)来强制客户端提供客户端证书: <Location /SSLTest/> SSLVerifyClient require SSLVerifyDepth 2 SSLRequireSSL SSLOptions +OptRenegotiate SSLCipherSuite HIGH SSLRequire %{SSL_CLIENT_S_DN_OU} eq "MyClientX" </Location> 我如何禁用这个要求几个IP。 我用SetEnvIf来尝试不同的变体 SetEnvIf Remote_addr 192.168.1.46 is_internal 并添加了一个<IfDefine !is_internal> 在位置周围,但是这似乎只在apache启动时被parsing。 有重写规则的方法吗? 我在Linux上使用Apache 2.2。 Thx提前

ApacheBench:请求时间进入以太网

我有一个Apache服务器,通过mod_jk代理到Tomcat。 我已经在Apache中设置了一个自定义日志来logging访问时间: LogFormat "%h %l %u %t \"%r\" %>s %b %D" transfertimes CustomLog /path/to/transfer-times.log transfertimes 我正在Web服务器上运行ApacheBench。 我注意到,随着并发的增加,我的第99个百分点的请求时间似乎呈指数级增长,尽pipe第50百分位保持相对稳定。 作为一个例子,ApacheBench会说大约10个1000的请求需要1秒以上的并发级别100来响应。 但是,当我查看transfer-times.log时,根据LogFormat中的%D,没有请求显示为大于1秒。 我试图找出什么会导致Apache日志和ApacheBench报告的访问时间之间的差距。 通常我可以将它归因于networking延迟,但是我在一台主机上运行。 我认为必须有一些古怪的Linux TCP参数或文件描述符,我需要调整,但我不知道从哪里开始。

mount /和/或apache – php的权限:我应该在哪里看?

这里是configuration: 目录: /var/www/mount_ImpExp/ImpExp/ 是来自IP地址为192.168.1.12的PC的共享目录(Linux) 我的电脑IP地址是192.168.1.11 我使用以下命令挂载了共享目录: mount -t cifs -o auto,username=myusername,password=mypass //192.168.0.12/LINUX_U /var/www/mount_ImpExp 如果我尝试手动启动rsync: rsync -t /var/www/mount_ImpExp/ImpExp/compteur_assur /usr/bin/ 这工作: ls -al / usr / bin / compteur_assur -rwxr-xr-x 1 zobz zobz 2501 2009-06-09 15:44 / usr / bin / compteur_assur 现在我在我的网站上创build一个exec.php文件:path是: /var/www/html/Internet/mywebsite 来源是: 回声date('d / m / YH:i:s'); 回声“<br />”; 的var_dump( 系统(“rsync -t / var […]

Apache Tomcat Servlet 404故障排除

我维护一个使用3个Java servlet进行文件下载/上传和数据传输的GWT Web应用程序。 我有我的servlet映射的罪恶地方,并没有在几个月内触及他们,就在几天前,当我试图访问我的servlets时,我开始收到404错误。 我似乎甚至无法通过从WEB-INF / classes目录(即/ servlet / com / company / project / servletname)input完整path来访问servlet。 不幸的是,这些都是从一个共享的托pipe计划中运行的,我没有权限访问tomcat或者其他任何东西。 在我向托pipe服务提供者发出问题单之前,我只想检查一下我的关于servlet的假设是否正确,并查看是否有任何应对这种情况的步骤。 是否需要重新启动tomcat才能使用新的servlet上传到“WEB-INF / classes”目录? 是否需要重新启动tomcat才能读取对“WEB-INF”目录中web.xml的更改? 如果我把一个.class文件放在/WEB-INF/classes/foo/bar.class,我应该可以通过“ http://www.mydomain.com/servlet/foo/bar ”直接访问它,或者我需要不等待tomcat识别这个新的类文件? 还是必须将其包含在现有的web.xml servlet映射文件中? 谢谢你的帮助

访问虚拟PC上的Apache

我正在使用虚拟电脑来testing我的网站。 我可以访问虚拟PC上的所有网页。 但是,图像无法正确加载。 我可以浏览到我的图像文件夹,并查看他们所有的。 但是,如果我点击一个图像,它不会加载,并且apache日志显示虚拟pc的IP试图查看图像: 192.168.0.55 – – [25 / Jun / 2009:20:10:41 -0400]“GET /images/pic.png HTTP / 1.1”302 220 现在,如果我刷新页面加载。 192.168.0.55 – – [25 / Jun / 2009:20:10:51 -0400]“GET /images/bg.png HTTP / 1.1”200 214 此外,图像不会加载在HTML或CSS。 这似乎是一个redirect问题或什么,但我不知道如何解决它。 感谢您的任何build议