Articles of apache 2.2

优化VPS服务器内存

我在做什么 服务器资源限制有时会紧张; 为了防止内存耗尽,我不得不限制服务器进程。 我需要一个小小的专家帮助来了解我是否在正确的轨道上,并且可能会发现任何明显的设置更改,这将有助于系统运行更稳定。 历史 最近我的公司升级到VPS,从共享主机。 基本上我们超过了我们的共享主机,并且由于主机暂停我们的网站而开始有问题,因为周末CPU使用率过高。 我们的网站用户每星期五和星期六往往会翻一番或三倍,这在我们的例子中并不出乎意料。 (每周约有5000次访问(约2500人次),周末大约有9500次访问(约4500次)) 现在我们正在使用VPS,我们没有CPU问题。 (事实上​​,CentOS WHM控制面板说我们处在“.000201%的CPU负载”)。但是,我们有内存不足的问题,导致崩溃。 问题摘要 我们的网站是基于WordPress的。 但是,除了评论之外,很less有“写作”活动。 大多数用户只是看到我们创build的相当静态的页面。 当我们几个月前第一次升级到VPS时,在2012年10月,这个网站在一周内运行良好,但每个周末都记忆犹新。 通常会在周五晚上反复地(24小时内,偶尔会有5-20次)崩溃,并持续到周六下午。 在本周内,服务器的内存使用率一直保持在65-90%,周末则会达到100%,导致崩溃。 采取的步骤正确的IT 由于我是VPS的新手,我开始使用所有的默认设置。 我后来开始调整,听取了关于解决这个网站和其他网站上的记忆问题的build议。 我已经对MySQL,PHP和Apache进行了调整,总结如下“当前configuration”。 我也重新编译Apache和PHP来删除不需要的模块。 我为WordPress(W3T)安装了一个更好的caching插件,并添加了APC操作码caching。 我也开始使用gz压缩,并将很多静态文件移动到一个单独的子域。 我写了一个漂亮的小脚本按计划检查服务器状态,并根据需要重新启动它,并且还向我发送服务器错误日志的副本,以帮助排除故障。 (我知道,如果是这样的话,这只是一个创可贴,但是让网站保持在线是很重要的,因为周末没有人想坐下来监视它。) 就在最近的一周前(2013年1月),我将服务器RAM从1 GB(2 GB可突发性)升级到2 GB(3 GB可突发性)。 这似乎已经解决了大部分的问题,但我仍然偶尔会注意到(服务器一个星期左右),以及“无法应用进程槽”的PHP错误。 目前的configuration 这是一个运行CentOS 6,Apache 2(Worker MPM),PHP 5.3.20(FastCGI / fcgi)和MySQL 5.5.28的Apache服务器。 2 GB RAM(3 GB突发),24个CPU。 目前MySQL使用约618 MB,大约20.1%的RAM。 PHP每个进程最多使用89 MB。 Apache每个进程最多使用14 MB。 典型的周日top产出: top […]

允许使用Apache的子目录

我觉得这是一个相当简单的解决方法,并且在search时遇到了类似的问题,但无法用这些解决scheme修复它。 基本上问题是我无法访问我的networking服务器上的任何子目录。 去localhost提出的指数罚款。 但是去localhost / test会出现403 Forbidden错误。 我正在运行CentOS。 我已经尝试编辑/etc/httpd/conf/httpd.conf文件,但没有运气。 DocumentRoot位于/ var / www / html。 目前我有: <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory "/var/www/html"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> 我已经尝试添加以下内容: <Directory "/var/www/html/test"> Order allow,deny Allow from all </Directory> 但它仍然给我403禁止的错误。

为什么我的Apache在无限redirect循环中?

我们目前在IT部门设立了一个内部网站it.example.com ,它托pipe着一个Redmine网站。 我想设置Apache,以便如果用户转到kb.example.com它将它们redirect到http://it.example.com/some/path/to/knowledge-base作为快捷方式。 我在httpd.conf末尾添加了一个<VirtualHost> ,现在每当我尝试点击主站点(it.example.com)时,浏览器都会进入无限redirect循环: http://it.example.com/projects/knowledge-baseprojects/knowledge-baseprojects/knowledge-baseprojects/knowledge-baseprojects/knowledge-baseprojects/knowledge-baseprojects/knowledge-baseprojects/knowledge-baseprojects/knowledge-baseprojects/knowledge- baseprojects /知识baseprojects /知识baseprojects /知识baseprojects /知识baseprojects /知识baseprojects /知识baseprojects /知识baseprojects /知识baseprojects /知识baseprojects /知识库 这是我的httpd.conf : LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-4.0.37/buildout/apache2/mod_passenger.so <IfModule mod_passenger.c> PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-4.0.37 PassengerDefaultRuby /usr/bin/ruby </IfModule> ServerName it.example.com ServerAdmin [email protected] DocumentRoot /var/www/redmine-2.4.3/public ErrorLog logs/redmine_error_log SetEnv RAILS_ENV production SetEnv RailsEnv production #If you are using mod_fcgid and are going to upload files larger […]

如果来自本地主机,请勿使用htpasswd

我有一个开发网站,为了保持一个额外的一层保护眼睛,我有一个htpasswd文件。 但是,当我在服务器上运行testing时,我厌倦了input用户名和密码。 所以我想如果我能检查REMOTE_ADDR =服务器的IP是否很酷,跳过htaccess文件中的这些行,做以下 RewriteEngine on RewriteCond %{REMOTE_ADDR} ^127.0.0.1 [OR] RewriteCond %{REMOTE_ADDR} ^192.168.1.25 RewriteRule ^(.*)$ – [S=5] AuthName "Protected Folder" AuthType Basic AuthUserFile /var/www/html/develSite/.htpasswd Require valid-user 然而,它并没有跳过线路,从而促使我仍然。 我希望有人可能会引导我失去什么。

是否仍然有必要closures所有MSIE的Apache中的SSL Keepalive等?

Apache的默认configuration在ssl.conf包含这样的内容: SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0 做新的IE仍然需要所有这些解决方法吗?

Apache负载均衡器通过AJP限制Tomcat

我有Apache作为3个Tomcat服务器前面的负载平衡器。 偶尔,Apache返回503个响应,我想完全删除。 所有4个服务器在CPU,内存或磁盘方面都没有大的负载,所以我有点不确定是什么限制或为什么。 当所有工人都处于错误状态时,503就会退回 – 无论如何。 以下是详细信息: Apacheconfiguration: <IfModule mpm_prefork_module> StartServers 30 MinSpareServers 30 MaxSpareServers 60 MaxClients 200 MaxRequestsPerChild 1000 </IfModule> … <Proxy *> AddDefaultCharset Off Order deny,allow Allow from all </Proxy> # Tomcat HA cluster <Proxy balancer://mycluster> BalancerMember ajp://10.176.201.9:8009 keepalive=On retry=1 timeout=1 ping=1 BalancerMember ajp://10.176.201.10:8009 keepalive=On retry=1 timeout=1 ping=1 BalancerMember ajp://10.176.219.168:8009 keepalive=On retry=1 timeout=1 […]

CDN vs自己的Apache服务器?

我知道CDN只是用于静态内容。 但是,我仍然需要通过Apache服务器分布到世界各个angular落? 所以当我这样做,为什么不build立一些专门的Apache服务器,就像CDN只提供静态内容? 与那种情况相比,仍然使用CDN有真正的好处吗?

允许Apache以不同的用户身份运行命令

我有一个脚本,在用户的主目录中执行几个命令。 这些文件由用户拥有,Apache( www-data组)只具有对其的读取权限。 该脚本需要通过exec()由PHP按需exec() ,并执行一些文件的删除/解压操作,由于Apache没有对目录的写权限,因此失败了。 我试过编辑这样的sudoers文件: www-data ALL=(user) NOPASSWD: /bin/su user -c /home/user/bin/script.sh 但它会提示我input用户的密码 我也试过了 www-data ALL=(root) NOPASSWD: /usr/bin/sudo su user -c /home/user/bin/script.sh 但是提示inputwww-data的sudo密码 如何让这个工作没有密码?

加快Apache和PHP

什么是一些好的caching模块或系统,我可以使用它来减less运行PHP的EC2服务器上的Apache负载,为什么要select它们?

Apache config:返回单个<Location>的404

是否可以让Apache自动使用Location标签为单个URL返回一个404页面? <Location "/some/url"> # ??? </Location> 没有mod_rewrite或其他模块的首选解决scheme。