When deciding upon server architecture, most businesses start out with a single server architecture and then build up as needs present themselves. With this tutorial we are going to give you a quick run through of taking your server environment to a position where you have a lot more redundancy at a low cost. This tutorial is all based on the cheapest possible setup with Digital Ocean. In order to be able to follow this tutorial you are going to need a basic knowledge of how to connect to servers via SSH and how to get setup your application or database on these servers. We also generally use Ubuntu as our server of choice, however this tutorial will be vaguely the same across most versions of Linux.
At Zodiac Media we are big fans of NGINX and Apache2. Personally I swing more towards NGINX, as the configuration is super simple and very transparent. Like all web servers, it needs to be tuned to get the best possible performance out of it. NGINX was designed to deal with the C10k problem, this refers to the optimization connections so that they can handle client connections in the range of ten thousand (and over) simultaneously. This can be fairly complicated if you are not used to using the command line. If this is not the case, then get in touch, this is our bread and butter. These configuration settings should allow you to get every bit of performance out of your NGINX setup.