Development, WordPress

Free Cloud Hosting with Amazon (AWS) Free Tier

Amazon Web Services Free Tier Hosting

Besides leaving packages at our front door, Amazon runs a massive cloud computing operation branded as Amazon Web Services (AWS). Many companies, e.g., Amazon’s store, Netflix, Reddit, Pinterest, etc., use AWS to back their systems. Even some federal US government agencies employ AWS: NASA and the CIA.

As an incentive to new users, AWS offers a free tier of a selection of their products for the first year. The free tier includes a t2.micro instance web server:

This is great for designers/developers to power their WordPress website free of charge! The free tier would also be adequate for small businesses with low to medium net traffic. Since AWS is designed to be highly scalable, it is easy to scale the services as your demands increase.

Setting up the AWS server

This guide will walk you through the steps of creating your free AWS server.
Warning
The free tier has usage limits–you will be charged when these are exceeded.

Step 1: Setup your AWS account

  • Navigate to http://aws.amazon.com
  • Set up your new AWS account

Step 2: Fire up an Ubuntu Linux instance

Amazon provides a very detail guide on the proper way to set up an EC2 instance: Read the documentation.

Step 3: Install the the software prerequisites for WordPress

Once the server is up and running, we can being to install applications on our brand new Ubuntu server. To be able to run a WordPress server, we need to have a server (NGINX), a database (MySQL), and PHP.

Digital Ocean provides a fantastic guide on setting up the LEMP stack. Read the documentation.

Step 4: Obtain WordPress

This step will retrieve the latest installation of WordPress and put it on our server.

Step 5: Set up the database

We need to set up a database for our WordPress installation to store its data. The following instructions is for the command line–an alternative would be using PHPMyAdmin.

Step 6: Provide the proper database credentials for the WordPress installation

This step enables the communication between WordPress and our database.

Step 7: Configure Nginx hosting options

Nginx handles the requests coming into the server.

Step 8: Test our server

Restart nginx/php5-fpm

Point your browser to your domain or IP address and you will be greeted with the WordPress screen!