I thought it might be nice to give some information on how this blog is setup.
First off, the blog has been made using python, with the pyramid application framework. I compared various python Web frameworks and pyramid seemed to have good documentation, plenty of support and a nice api. And they also have some nice tutorials on getting started, and some starter templates.
I considered django but pyramid seemed a lot more flexible. Things like being able to choose any database and template engine you want, without things being hard to get working together, were a draw for me.
The nice thing about python is that most Web frameworks use WSGI, which means you can switch between different Web application servers without too much fuss.
For development, I tend to use waitress as it is the default Web application server that comes with pyramid.
For production, I have used waitress, cherrypy and uwsgi at different times. At the time of writing I am using uwsgi. But they have all generally been ok to use.
In front of the Web application server I have nginx. Nginx is awesome, in terms of its size, speed and resource usage. It also has native support for the uwsgi protocol which is one of the reasons why I am using uwsgi as the Web application server.
More out of caution than anything else, I have the whole website sat behind cloudflare.
My ip address keeps changing, so I have to use something like ddclient to keep cloudflare updated with my ip address. I don’t like ddclient though (it’s written in perl and is a pain to install manually) so I’ve written a basic python script to do the job for me instead. Nothing fancy, but it does the job.
24 Jun 2015 #Blog