Compile NGINX with ngx_pagespeed on CentOS 7. Automate setup with init script. Configure NGINX for ngx_pagespeed to enhance performance.

NGINX & ngx_pagespeed on CentOS 7

I wanted to have a quick play with Googles Pagespeed module, as I use NGINX and not Apache I needed to compile NGINX from source to enable the ngx_pagespeed module. The following assumes you are have a clean CentOS 7 installation. First off you need to install the packages which enable you to compile NGINX with ngx_pagespeed from source. NGINX & ngx_pagespeed on CentOS 7 1/8 yum install -y gcc-c++ pcre-dev pcre-devel zlib-devel make unzip openssl-devel Now create a NGINX user and make so the user doesn’t have a shell. ...

February 14, 2015 · 3 min · Russ Mckendrick
Secure backups for WordPress with VaultPress and DigitalOcean.

Backups

In my line of work one of the things you learn quickly is that there is no such thing as too many backups. Call me paranoid, but I would rather be spoilt for choice should the worst happen. So what backups do I have in place? Website While this website is nothing more than a place for me to dump my thoughts and various tech ramblings it does generate a small amount of traffic. I hate to think how much time I spent messing about with it over the last year and half, so while it is not the end of the world if it was to disappear it would be hours of work gone. ...

February 8, 2015 · 2 min · Russ Mckendrick
Automate AWS instance setup with Packer. Ensure rapid scalability with pre-configured images. Explore Packer's versatility across platforms.

Production Ready Images with Packer

I have watched numerous videos and seen quite a few slide decks which cover tools such as Puppet, Chef & Ansible. I have witnessed an entire rack of servers PXE boot, installing their base operating systems, configuring their services and then finally checking out a copy of a production ready codebase. Even after seeing this several times the old school sysadmin in me still thinks this is witchcraft. In the world of dedicated servers or virtual machines this is great, however when it comes launching an auto-scaling instance in a service such as Amazon Web Services using orchestration tools in real-time could be the difference in your application staying online or failing. ...

February 2, 2015 · 2 min · Russ Mckendrick
Deciphering the complexities of 'Cloud' in computing, from VMs to SaaS. Embrace clarity by avoiding catch-all terms, following Dilbert's lead.

Blah Blah Blah Cloud

As someone who deals with the word “Cloud” as part of their day job it can get very confusing. When a client or colleague says “I want cloud” or “what about hosting it in the cloud” what does it mean? Well, in my line of work it could mean any of the following …. Virtual Machines hosted on a highly available hardware platform Instances hosted in a an auto-scaling available configuration Using Content Delivery Networks (CDN) for content Uploading static content Distributed Object Storage Software as a Service (SaaS) Platform as a Service (PaaS) Thats only a small list of what services which the word “Cloud” is used for. What makes things even more confusing is when I try and explain to friends and family what actually I do their only points of reference for “Cloud” are advertisements like this one from IBM …. ...

February 1, 2015 · 2 min · Russ Mckendrick
Explore Ansible for AWS automation, transitioning from manual scripting. Initiate playbook for VPC and ELB deployment.

First Steps with Ansible

All of the posts on orchestration on here have been about Puppet on CentOS however last week I had need to script an AWS architecture and then launch instances built with Packer↗ into it. After much swearing I managed to hack together a python script which used Boto↗ to create a launch configuration and register it with an auto-scaling group, I then used a second script which re-cycled instances behind the Elastic Load Balancer which were launched with the previous launch configuration. ...

December 14, 2014 · 3 min · Russ Mckendrick
Streamlined my Grunt configuration by combining tasks, now I can concatenate JS files, compress them with Uglify, and minify CSS files in one go!

More Grunt & Jekyll

At the end of my last post about Grunt I mentioned that I will be adding code to concatenate the javascript, compress the images and also tidy the code up abit. I have now done this …. Javascript I moved all of the javascript to a folder called _js and then set up the following …. More Grunt & Jekyll 1/7 js: { src: [ ‘_js/jquery.min.js’, ‘_js/jquery.plugin.min.js’, ‘js/bootstrap.min.js’, ‘_js/jquery.flexslider-min.js’, ‘_js/smooth-scroll.min.js’,’ _js/skrollr.min.js’, ‘_js/twitterFetcher_v10_min.js’, ‘_js/spectragram.min.js’, ‘_js/scrollReveal.min.js’, ‘_js/isotope.min.js’, ‘_js/lightbox.min.js’, ‘_js/jquery.countdown.min.js’, ‘_js/scripts.js’ ], dest: ‘js/main.js’ } As you can see I am having to merge the javascript in a certain order, I tried using src: [‘_js/*’] but this broke a lot of the site. ...

December 6, 2014 · 4 min · Russ Mckendrick
Revealing my top 10 albums of 2014 with a mix of genres and artists, plus additional favorites that almost made the cut, all available on Spotify.

2014’s Top 20 Albums

It’s that time of year again, here’s my top 10 albums of 2014…. The War On Drugs — Lost in the Dream↗ The Smashing Pumpkins — Monuments to an Elegy↗ Neil Finn — Dizzy Heights↗ Mogwai — Rave Tapes↗ Amplifier — Mystoria↗ Devin Townsend — Z2↗ The Pixies — Indie Cindy↗ Pink Floyd — The Endless River↗ St. Paul & The Broken Bones — Half the City↗ Mastodon — Once More ‘Round The Sun↗ I know number 2 has only just come out, but, they have been releasing tracks for the last month so I am putting it in. ...

December 3, 2014 · 1 min · Russ Mckendrick
Revamped my website with a new design, integrating LESS with Jekyll via Grunt for a more efficient and automated workflow.

Grunt + Jekyll + LESS

As you may have noticed, the website looks different to how it was previously. I decided it was time for a refresh and I wanted to make the design a little more interesting. While Jekyll↗ & Github↗ pages use SASS↗ the Bootstrap theme I settled for uses LESS↗ . This meant that I needed to compile all of my CSS outside of Jekyll. Most of the articles I found say use either Gulp↗ or Grunt↗ , looking at the syntax of the two I preferred Grunt as it didn’t look like code. ...

December 2, 2014 · 3 min · Russ Mckendrick