Installing Squid on Ubuntu 14.04 as Caching Proxy Server

Learn how to install and use Squid on Ubuntu 14 to improve your web server’s performance. Squid caches requested content to lessen the load on your servers.

Architect Web Infrastructures on Ubuntu 14, Part 1

You may have experience deploying web applications on a LAMP server, which is running both the web server and database server. Hosting your entire web application infrastructure stack on a single server works well for development and light traffic sites. Eventually, you are going to start seeing an increase in user traffic and that will put a lot of stress on your once underutilized server. You are going to have to start researching how to scale to meet the demands of your web traffic.

Throughout this series of tutorials, we will build out the infrastructure to allow our application to handle high volumes of traffic. We’ll utilize web caching servers to reduce the processing work of your application, and load balancers to ensure traffic is balanced between our caching servers. The focus will be on Ubuntu 14.04, however, the concepts work on any Linux distribution.

How to Configure HAProxy Health Checks

Ensuring the backend servers HAProxy is forwarding your users’ requests to are healthy is important. How you check for health is based on the type of service hosted in the backend. Web applications need to be checked differently from database servers. In this tutorial I will show you different ways of doing HAProxy health checks so to help maintain a great user experience.

Installing Memcached to Improve Database Performance

SQL databases are very good at storing and retrieving data, and they can do so quickly. However, no matter how well you tune your database servers there will come a time during periods of high traffic that your database server becomes a large bottleneck. By utilizing technologies like Memcache, we can keep results of frequently used database queries in a cache stored in RAM. Using the cached results significantly decreases that amount of time and effort to retrieve data and present in our application.

Memcache is what’s known as an in-memory key-value store. The key is a unique identifier that is used to quickly search for cached strings or objects. The value is the data that has been cached. For the purpose of storing database query results, the key will typically be the query used on your database.

Monitoring HAProxy using HATOP

Overview As an administrator you know that monitoring a service is essential. With HAProxy, there are stats for which you will want to know that aren’t presented to you through TOP or in log files. To make these stats visible, HAProxy can create socket file that can then be accessed by a third-party application to […]

Compiling and Running HAProxy from Source on Ubuntu 14

Overview Although you can install and run HAProxy from the default package repository for Ubuntu, the version available is usually out of date. Now if you are more interested in stability than features this may be fine. For those who are looking to use new features only available in more recent versions, you will need […]

Protect Git Folders in Apache using DirectoryMatch

Overview Apache allows you to block certain files or directories under your document root from being accessed over the web. This is very beneficial if, for example, you have an application version controlled by Git. Odds are you do not want any of the files under .git to be accessed, for various security reasons. Ideally, […]

Removing SystemD from Ubuntu 15

Summary Not everyone wants their server to be managed by SystemD. The reasons why range from being too different to not being a mature enough solution. I don’t mind running it, but if you are one of those individuals that wish not to use it, Ubuntu allows you to boot into Upstart or, if you […]

Apache Web Server on Ubuntu 15

Summary Another release of Ubuntu means an updated tutorial for installing Apache. Although not much has changed on how the installation and configuration of Apache is done, if you haven’t updated in a while, there are a few major changes you will want to be aware of. One those changes is the introduction of SystemD. […]


© 2014 Shane Rainville