This is actually my third attempt at making a personal website. My first time trying was in middle school, where I integrated a chat client on a webpage and just left it at that. My second attempt was last year, where after realizing that this domain was available, I quickly mocked something up and hosted it on my parent's HostGator account.
This time around, I'm going to do things differently - no more taking shortcuts. This blog will be about how I built up a website from scratch, and document the steps in case anyone out there is interested.
In addition, this blog will cover the various projects I'll be working on, whether it be related to work, exploring Tensorflow, or just general things around the house I'm doing. Motivation is definitely something I lack at times - hopefully this medium will help inspire me to keep learning and try new things.
About This Site, as of Today...
To get started, I'd like to explain what I've already done.
This current layout is pretty much a generic Bootstrap Blog template. I'll be personalizing the website in the near future, though I'm pretty ok with the general layout of this template and don't mind sticking with it.
For my backend setup, I'm using Django (the latest version - 1.11.3) with nginx. I'm using AWS Lightsail to host my blog. As an aside, in my short experience with it, AWS is a wonderful and very easy to use service. At work, we are using Microsoft Azure, and it's a lot more difficult to use their UI and figure out how to make things work.
On Lightsail, I spun up an Ubuntu 16.04 instance, and using the following setup tutorials from Digital Ocean, I got my site up and running. Keep in mind the OS version is critical for some of these tutorials - I wasted a day debugging issues related to differences between Ubuntu 14.04 and 16.04.
Installing Nginx on Ubuntu 16.04
Setting Up Nginx Server Blocks on Ubuntu 16.04
Django with uWSGI and Nginx on Ubuntu 16.04
After that, it was merely setting up a skeletal Django project and integrating in the bootstrap html code into the Django templates. The Django Tutorials are very useful in learning how to use this framework.
If you like to look at code, I'm hosting the website's collateral on GitHub. This is an active repo, so it should be up to date with the latest contents on this website.
Future Steps...
My next steps will be to obviously update the assets on the website and get things such as the email form working. In addition, I'm going to generate my blog posts from a database as oppose to creating new HTML pages each post, so I'll need to get the MySQL DB set up (though I may stick to sqlite for a little while).
Long term, I want to get stuff set up on this VM such that I can migrate my parent's websites over and maintain them. Their websites definitely need some TLC, so that will be phase 2 of this project.
Anyways, thanks for reading this post and joining on this adventure with me :)
Rick