How to set the Expires header correctly in Varnish
This post provides the required VCL code and describes how to dynamically set the Expires header whenever an object that has been cached by Varnish is requested.
This post provides the required VCL code and describes how to dynamically set the Expires header whenever an object that has been cached by Varnish is requested.
There are several ways to improve the performance of a web site. One of them is HTTP compression. Moreover, compressing the web server responses can save tons of bandwidth without adding any significant amount of extra CPU load on the server. Two of the most common compression algorithms used in HTTP are gzip and deflate.…
It is widely known that, if virtual hosts in Apache (httpd) are configured to permit vhost administrators override specific configuration options at the directory level using htaccess files, the web server consumes valuable time in order to check whether an htaccess file exists in every directory included in the requested path and parse it. On…
It’s been a long time since the last time I checked the available software for managing long running processes. Software in this particular area has evolved and, after some research and testing on a virtual machine, I tried to install supervisord in a CentOS 5.6 box. Unfortunately, no RPM package exists for the latest 3.X…
This tutorial contains information about the preparation of the system in order to run dnsmasq and also detailed instructions about how to configure it as a caching DNS server. A full configuration file is also provided as a drop-in replacement for the default dnsmasq.conf.
This is a quick note that mod_wsgi daemon processes are now incompatible with mod_python. Upgraded mod_wsgi earlier today in CentOS and saw the following note. I guess this limitation has been around for a while before affecting CentOS/RHEL:
The last incident with the php-cgi errors as a result of a bad PHP script made me re-evaluate the daily reports I receive from the server. I realized that a report about the httpd errors that have occured during the previous day, including all virtualhosts, is more important than I had initially thought. Such a…
mod_dav_svn lets you serve subversion repositories through the Apache HTTP Server. mod_dav.so is a requirement for mod_dav_svn.so. If while setting up mod_dav_svn you see the error “undefined symbol: dav_register_provider“, make sure you check the order that the aforementioned modules are loaded. mod_dav must precede mod_dav_svn: LoadModule dav_module modules/mod_dav.so LoadModule dav_svn_module modules/mod_dav_svn.so This will resolve the…
I’ve been using the mod_dav_svn module for Apache, part of the subversion distribution package, in order to make several SVN repositories available over the HTTP protocol for quite some time now. More specifically, I use a multi-repository setup under the same virtualhost by using the SVNParentPath directive of mod_dav_svn. Also, the authorization policy is enforced…
I’ve used the phrase “writable by the webserver” numerous times throughout this blog, without ever bothering to explain in detail what this means. Yesterday, I received an email asking me exactly that, so I decided to finally write a post about it and use it as a reference whenever I use the aforementioned phrase. I’ll…