Rhythms in Circuits

Part 7 - Deploying a simple, modern web app with monitoring and analytics without Docker or containers for beginners

September 21, 2019

webdev

philipp-katzenberger-jVx8JaO2Ddc-unsplash.jpg

This post is part of a tutorial for deploying a basic website with monitoring and analytics without using Docker or containers. The introductory post gives an overview of the tutorial.

Thanks for reading this tutorial and I hope you enjoyed it! You now have a website, the ability to analyze server logs, hosted storage and analysis of client error logs and are receiving alerts on noteworthy system usage. What’s next? Here’s a few tools and posts you may want to check out:

  • NginxConfig.io - This tool provides a UI for building Nginx conf files. It has a dizzying amount of options available with many common presets. If you’re looking to increase the capability of your Nginx configuration this might be a good place to start, even if just to see new terms to learn about.
Server hardening

There are a multitude of additional steps that can be taken to secure your server. We have done some of them, but there are always more. It’s up to you how much time you want to put into this based on the website(s) you are serving.

OWASP on Nginx
Digital Ocean - How to secure Nginx on Ubuntu 14.04

  • Blocking malicious requests - In the tutorial we used ufw, which allows us to block specific IP addresses via command line entries. These can be found while analyzing server logs, but a more proactive approach could be using tools like fail2ban.
  • Nginx Monitoring - In the tutorial, we configuring monitoring for our Droplet’s resources, but there tools to monitor Nginx itself. I’ve used Nginx Amplify before and it works well. There is a free tier. It involves installing an agent on your Droplet which then sends information back to the Nginx Amplify server. You can then view metrics and set alerts from the Nginx Amplify dashboard.
  • Nginx Log Rotation - It’s important to keep your server logs tidy. logrotate is already installed and configured on our Droplet, but if you want to make changes you can do so in the /etc/logrotate.d/nginx file.

Hopefully this tutorial was useful for learning how to setup your own website.

Thank you for reading!


Jordan Polaniec

Written by Jordan Polaniec, who loves software.  You can follow him on Twitter