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:
- 1 vCPU @2.5GHz (Burstable to 3.3GHz)
- 1 GB of RAM
- 30 GB of SSD storage
- Full features list.
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.
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
Point your browser to your domain or IP address and you will be greeted with the WordPress screen!