Where my Jekyll site files are hosted
Because Jekyll outputs static html you can host Jekyll just about anywhere. I use Amazon S3 to host my Jekyll site files. If the site is mine it will live in one of my S3 buckets. If the site belongs to a client it will be hosted in their own S3 account, ideally.
If you so wished you could host your Jekyll site for free at GitHub, but there are some restrictions. I wanted to learn Jekyll with as few restrictions so my site files are hosting in an Amazon S3 bucket.
How my Jekyll websites are served
I use Amazon CloudFront to serve my websites because I want all of my sites to use SSL. If you want to host your Jekyll site on S3 using SSL you have to serve your site via CloudFront. That’s just the way it is. CloudFront pulls the site files from the S3 bucket where they live.
Where my DNS is hosted
I host the DNS for my Jekyll sites using the Amazon Route 53 service. Hosting the domains with Route 53 makes setting up the whole shebang a lot easier. If you buy your domains through Route 53 things get even easier still. Remember, if you need to send or receive emails using your domain you’ll need to either create an MX record redirecting the mail to a third party like Gmail or you’ll need to get to grips with the Amazon AWS email service (SES), and it’s a bit mind boggling.
Where my SSL certificates come from
I hate setting up SSL. I know we need it, but the apparent reluctance of the world to adopt it means that there’s not really any one way of setting up SSL like there is for other web related services. The good news is that if you have your DNS with Amazon Route 53 then getting a free SSL from Amazon themselves is really simple. Just go to Amazon AWS Certificate Manager and follow the instructions.
Jekyll hosting conclusion
As I mentioned earlier, there are many ways to host Jekyll sites. I’m not even going to claim that my set up is perfect. Having all eggs in one basket makes me a bit uneasy; it goes against redundancy theories that were drummed into me twenty years ago, but it makes set up a LOT easier.
The main reason I’m sharing my hosting config with you is that it might help you wrap your head around how relevant some of the troubleshooting information on this site is to your own set up.