Articles of apache 2.4

Apache每周定期closures一次

我使用Apache(与mod_wsgi和Django的),一切工作正常,除了奇怪的是每周一次Apache似乎closures,我必须login到服务器重新启动它,以使我的网站备份。 每个星期都会在06:30-06:45左右或周一早上发生。 给定网站的apache错误日志只显示: #/var/log/apache2/error.log [Mon Aug 18 06:30:01.564916 2014] [mpm_event:notice] [pid 5576:tid 140263321876352] AH00493: SIGUSR1 received. Doing graceful restart [Mon Aug 18 06:30:02.473446 2014] [core:notice] [pid 5576] AH00060: seg fault or similar nasty error detected in the parent process 和 #/srv/apache/log/error-ssl.log (site specific `ErrorLog` set in vhost) [Sun Jul 27 06:42:47.610600 2014] [:info] [pid 3712:tid […]

网站在其NPN扩展spdy中不通告HTTP

我用SPDY(和PHP-FPM)configurationApache。 一切工作正常。 但是,spdycheck.org显示我以下错误: HTTP不支持SSL 本网站仅支持SSL上的SPDY,并且不在其NPN扩展中通告HTTP。 没有SPDY支持的Web浏览器可能无法访问此网站 请注意,我不希望支持HTTP。 但是,我确实需要在没有SPDY的情况下支持SSL。 我不知道要在conf文件中做什么改变。 任何指针将不胜感激?

ERR_INCOMPLETE_CHUNKED_ENCODING apache 2.4

我升级了我的Ubuntu服务器到14.04和Apache 2.4.7。 现在我的图像不加载和控制台产量net :: ERR_INCOMPLETE_CHUNKED_ENCODING。 此外,我有时可以看到一些图像加载一段时间(最大1秒),然后消失。 的.htaccess RewriteEngine On # Serve the favicon file from img folder RewriteCond %{REQUEST_URI} ^/favicon.ico$ RewriteRule ^(.*)$ /img/$1 [NC,L] # Redirect HTTP traffic to WWW subdomain RewriteCond %{HTTPS} off [NC] RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] # Redirect HTTPS traffic to WWW subdomain RewriteCond %{HTTPS} on [NC] RewriteCond […]

弹性负载平衡器和每个节点上的清漆

我们想在由Auto-Scaling Group和ELB处理的节点上安装Varnish。 目前这些服务器基于2-10个节点的负载进行增长和收缩。 由于成本影响,我们不希望有另一个“主”清漆服务器。 我们的最佳图表如下所示: ELB / | \ Node 1 – Node 2 – Node 3, etc. | | | Varnish Varnish Varnish | | | Apache Apache Apache | | | Centralized MySQL/File Servers 为了进一步理解,清漆将在每个节点上运行,就好像所有三个都是分开的。 我们如何保持所有Varnish的同步,特别是涉及caching事件(例如,有人在WordPress上更新了一个post,而WordPress则清除了其中一个Varnishcaching,而不是其他两个)。 我宁愿不添加另一个专门的清漆服务器来监督所有这一切。 你通常如何处理3个清漆实例彼此同步? 有没有我没有正确思考或替代configuration?

configurationmod_wsgi守护进程模式进程和线程

我打算使用mod_wsgi守护进程模式下的mpm_worker或mpm_event 。 如何configurationWSGIDaemonProcess指令的进程和线程,以获得最佳的apache 2.4.9性能

随机服务器负载峰值,任务数量加倍,CPU /内存一致

我们运行一个vBulletin论坛,每天有6,000名访问者在一个5GB RAM和24个CPU核心的SSD VPS上运行。 在典型的一天,我们在任何时候都会看到30-50个并发用户。 在忙碌的早上,它会上升到130.在这两个时期,该网站是闪电般迅速和响应(忙碌的早晨不影响速度)。 我们喜欢VPS,并优化了我们的许多查询,以保持网站快速运行。 不幸的是,每周2-3次,我们经历了一个突然的负载平均上升,减慢了网站,并使其无法使用3-6分钟。 每当我和我们的主人打开一个支持票,他们就把它归咎于高stream量,但是日志显示交通水平并没有比平常高。 事实上,尖峰通常会在当天晚些时候发生(周二和周四我已经注意到)事情更加安静。 在尖峰期间没有运行cron作业,或从vBulletin预定的任务。 那么他们就把它归咎于可能的开发问题和错误的查询,但是SQL过程列表又一次没有显示出exception,我认为开发问题会导致一致的性能问题,而不仅仅是每周两次。 这是我们的服务器在正常的日子里的样子(现在有40个人在线) total used free shared buffers cached Mem: 5120 3408 1711 0 0 2466 -/+ buffers/cache: 942 4177 Swap: 0 0 0 最佳 top – 10:56:51 up 8 days, 1:05, 1 user, load average: 0.80, 0.86, 1.00 Tasks: 75 total, 3 running, 72 sleeping, […]

如何通过mod_autoindex禁止重复检查mod_auth_basic?

在Apache 2.4中 ,当在一个目录上同时使用mod_autoindex和mod_auth_basic ,该目录的索引会导致mod_auth_basic执行密码哈希,并为目录中的每个文件/子目录从头开始查找一次。 如果使用像高成本的bcrypy这样的string密码存储哈希,这会造成巨大的延迟。 而且,这种行为是不必要的,因为所有文件都在相同的authentication设置下,所以用户和组只需要确认一次。 大幅度多次确认,人为地增加了强密码散列的本地代价,没有安全性,通过强制使用更低成本的algorithm大大降低了整体安全性。 我的问题是: 如何禁止这种行为? 我怎样才能让mod_autoindex只对密码authentication库进行一次调用? 这是一个有问题的例子: <VirtualHost *:443> SSLEngine on SSLCertificateFile /etc/apache2/ssl/mycert.crt SSLCertificateKeyFile /etc/apache2/ssl/mykey.key <Directory "/webdata/doc"> AuthType basic AuthName "Safe Documents" AuthBasicProvider file AuthUserFile passwd/docuemnts_users.passwd require valid-user Options +Indexes </Directory> </VirtualHost>

php htaccess环境variablesphp-fpm mod_proxy_fcgi apache 2.4

我的.htaccess: SetEnv tvar "my value" RewriteEngine on RewriteRule .* – [E=boostpath:normal] 我的虚拟主机设置: AllowOverride All Options FollowSymLinks Require all granted ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9001/home/dir/public_html/www.site.com/$1 我的PHP文件: <?php putenv("foo=bar"); echo "<br><br>env"; echo getenv("foo"); #works, outputs bar echo "<br><br>env2"; echo getenv("tvar"); #doesn't work, empty echo getenv("REDIRECT_tvar"); #doesn't work, empty echo "<br><br>"; echo "<br><br>env3"; echo getenv("boostpath"); #doesn't work, empty echo getenv("REDIRECT_boostpath"); […]

Apache VirtualDocumentRoot偏移超过10个字符

我正在使用mod_vhost_alias,并试图使用一个VirtualDocumentRoot偏移量超过10个字符,如下所示: VirtualDocumentRoot /var/www/qa/%-3.-12+/members 该url将是像namespace-members-qa.server.com 我期望上面插入/var/www/qa/namespace ,但它最终插入为/var/www/qa/a2+ ,因为它将-12+parsing为-1,然后parsing为2+。 有没有简单的方法让apache知道我的意思是-12而不是-1和2? 提前致谢。

正确的SSLconfigurationSSL – Apache2忽略DocumentRoot

所以这里是我目前的configuration: <VirtualHost *:443> DocumentRoot "/var/www/keypad" ServerName keypad.io SSLOptions +StrictRequire <Directory /> SSLRequireSSL </Directory> SSLProtocol -all +TLSv1 SSLEngine on SSLCertificateFile /cert/cert.crt SSLCertificateKeyFile /cert/key.key SSLCACertificateFile /cert/inter.crt </VirtualHost> <VirtualHost *:80> ServerName keypad.io ServerAlias www.keypad.io DocumentRoot /var/www/keypad Redirect permanent / https://keypad.io/ </VirtualHost> 其结果是能够访问该网站在http://和https:// 由于某种原因,我最终得到了一个无限的redirect循环,在地址栏中inputhttps://。 如果我完全删除*:80主机,http://退出工作,并且https://忽略DocumentRoot属性并给我apache欢迎页面。 无论我在*:443主机模块中做什么,我都会得到一个到欢迎页面的encryption连接。 我希望同时使用http://和https://将客户端指向我的站点的SSLencryption版本。 我的apache2.conf是默认的。 我没有做到这一点。 输出apache -version Server version: Apache/2.4.7 (Ubuntu) Server built: Jul 22 […]