Introduction Node.js is a programming environment that runs primarily on JavaScript. The open-source program allows you to build networking applications on platforms running Windows, Linux, macOS, and others. You can use Node.js applications in two main ways: as command line apps or as services. Using a Node.js app as a service means that it will restart on reboot. This makes …
HAProxy and Load Balancing Concepts: the Basics
Introduction High Availability Proxy (HAProxy), is a popular open-source proxying and TCP/HTTP load balancer solution able to run on Solaris, FreeBSD, and Linux. It is most commonly used to enhance the reliability and performance of a server environment by providing a balanced distribution of workload across multiple servers. This type of tool is used in many high-profile environments like Instagram, …
How to Install the Elastic Stack on Ubuntu 18.04
The Elastic Stack (previously known as the ELK Stack) is a powerful solution for centralized logging. It’s a collection of open-source software developed by Elastic. It allows admins to search, analyze, and visualize logs generated from any source in any format. It’s a form of practice known as centralized logging. Centralized logging can be very handy when trying to pinpoint …
Deploy a PHP Application on a Kubernetes Cluster with Ubuntu 18.04
Kubernetes (also known as k8s) is an open-source orchestration system. It allows users to deploy, scale, and manage containerized applications with minimum downtime. In this tutorial, you will learn how to deploy a PHP Application on a Kubernetes Cluster. Nginx behaves as a proxy to PHP-FPM while running a PHP application. Managing these two services in a single container is …
How to Install and Configure Docker Compose on Ubuntu 20.04
Introduction Containerization has greatly picked up momentum in the software tech space over recent years. This can be attributed to Docker which is a container platform that simplifies the management of processes inside containers. Containers are lightweight, virtualized, portable, software-defined standardized environments that allow the software to run in isolation from other software running on the physical host machine. This …
Nginx HTTP Proxying, Load Balancing, Buffering, and Caching: an Overview
Introduction Nginx is a high-performance web server that is also used as a reverse proxy, mail proxy, load balancer, and HTTP cache. Nginx is free and open-source, allowing anyone to download and use it in their server environment. You may have already used Nginx to serve websites. In this tutorial, we will be discussing the other capabilities of Nginx. The …
Installing an SSL Certificate From a Commercial Certificate Authority: A Comprehensive Guide
Introduction SSL certificates are tools that enable you to make your server more secure. These data files make the connections between a server and a browser safer. They are the difference between an HTTP and an HTTPS website. The way an SSL certificate works is that it encrypts your data stream, vets out the traffic, and verifies user identities. It …
How To Create a Kubernetes Cluster Using Kubeadm on Ubuntu 18.04
This tutorial will guide you on setting up a Kubernetes cluster from scratch using Ansible and Kubeadm and further deploying a containerized Nginx application with it. Introduction Kubernetes (also known as k8s or “kube”) is an open-source container orchestration platform that automates many of the manual processes involved in deploying, managing, and scaling containerized applications. Kubernetes has a rapidly growing …
How To Share Data Between a Docker Container and a Host
Introduction Generally, Docker containers only run for a certain period of time – the time it takes to run the command. The data that is available inside the container can only be accessed from within the container during the runtime. Docker volumes can be used for accessing the files easily and storing them for a longer period. For example, if …
Nginx Server and Location Block Selection Algorithms: Overview
Introduction Nginx is among the world’s most popular web server options. It is able to successfully deal with a multitude of simultaneous client connections. At the same time, it is functioning as a mail, web, or reverse proxy server. This guide aims to outline the behind-the-scenes methods that direct how Nginx processes client requests. We will demystify the server and …
Netcat Utility on Linux: Testing TCP/UDP Connections on a VPS with Netcat
Introduction One of the biggest advantages of using Linux is the plethora of helpful utilities it provides. The in-program features are usually sufficient for most programmers to do their work. This means that most of the time, you will not need to download external programs and software. The built-in tools will provide you enough utility. Among these helpful features is …
How to Configure a Linux Service to Auto-Start After a Reboot or System Crash: Part 1 (Practical Examples)
Introduction In computing, things don’t always go as planned. Oftentimes unexpected system crashes prompt system admins to initiate reboots and restart of individual services. Figuring out and restarting every service your application needs to run after a system crash or reboot can be tedious. In this first installment of the two-part tutorial, we will show you how to configure services …