Overview RabbitMQ is messaging service that allows you to queue and spread your data processing tasks to backend servers. For instance, this allows you to build a server cluster solely responsible for processing photo uploads (resizing, adding filters, saving to storage, etc). Each server in that cluster contacts the RabbitMQ cluster for new, unprocessed messages. […]
Operations teams and system administrators are always love having the ability to check the status of their servers. Apache allows us to easily peak under the covers by way of a virtual directory called, as you may have guessed, /server-status.
Content rot has a tendency to creep up on you as a website or application ages. The last thing your visitors want when they reach your site after clicking a link is to be face planted with a 404 error. To make matters worse, too many 404s will have an impact on your search engine site rankings.
We can battle 404s with redirect rules written in our Nginx configurations. The rules can either suggest to the web browser, search engine and anything that the content has permanently moved, or we suggest the content has only moved temporarily. Either way, you have chance to guide the user to the new location of your content in transparent manner.
It’s always important to keep your server logs around for as long as it makes business sense. You’ll need them for auditing system access, discovering abuses, or to identify root causes to problems, among other reasons. The challenge, though, is that depending on the service being provided and the amount of traffic received, your logs are capable of growing to gargantuan sizes, consuming every last bit of disk space available.
Logrotate allows us to better manage our logs to prevent from consuming too much disk space. Depending on the schedule you decide on, your logs can be rotated every day, week, or month. Each rotation renames your existing log file, usually by appending a ‘.’ and number to the end, and then creates a new file. To preserve storage the logs that have been rotated can be compressed using Gzip.
Unlike relation database servers, scaling NoSQL databases to meet increased demand on your application is fairly simple – you drop in a new server, make a couple of config changes, and it connects to your existing servers, enlarging the cluster. All existing databases and collections are automatically replicated and synced with the other member nodes.
A replication cluster works well when the entire data volume of your database(s) is able to fit onto a single server. Each server in your replication cluster will host a full copy of your databases.
Improve application performance and availability by learning how to create a MySQL Master\Slave cluster on Ubuntu 14
MongoDB is one of the most popular open source NoSQL database solutions available. Unlike relational databases that store rows of data, document oriented databases like this one store data as, you guessed it, documents. These types of databases are not constricted by rigid schemas. They also scale much easier and more efficiently than relational databases, meaning it is a lot easier to store once unthinkable amounts of application data.
MongoDB is able to achieve and maintain high performance – much greater than any relational database, such as Microsoft SQL – even while storing petabytes of data by offloading a lot of logic to your application. A relational database it is not, but this trade off gives are developers the flexibility they need to work with data in today’s high volume, big data world.
The tutorial will guide you through the installation through to managing your databases.
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.
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.