Boot Startup

How to Deploy a Spring Boot Application on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Deploy a Spring Boot Application on RHEL 9

Spring Boot is the most widely used Java web framework, providing an opinionated, auto-configured platform for building standalone, production-ready applications. Spring Boot embeds an HTTP server (Tomcat, Jetty, or Undertow) directly in the application JAR, eliminating the need for a separate application server deployment. A Spring Boot application is packaged as an executable “fat JAR” […]

Read more
How to Install Maven and Gradle on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Install Maven and Gradle on RHEL 9

Maven and Gradle are the two dominant build tools for Java projects. Maven uses an XML-based declarative configuration (pom.xml), follows strict conventions, and dominates in enterprise environments with heavy use of the Maven Central repository for dependency management. Gradle uses a Groovy or Kotlin DSL, is more flexible and faster than Maven (due to incremental […]

Read more
How to Install Java (OpenJDK 21) on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Install Java (OpenJDK 21) on RHEL 9

Java is the most widely deployed programming language in enterprise environments, powering banking systems, e-commerce platforms, microservices, Android applications, and big data frameworks like Apache Kafka, Hadoop, and Spark. OpenJDK (Open Java Development Kit) is the open-source reference implementation of the Java SE specification, maintained by Red Hat, IBM, and the Java community. RHEL 9 […]

Read more
How to Deploy a Node.js Application with PM2 on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Deploy a Node.js Application with PM2 on RHEL 9

PM2 is a production-grade process manager for Node.js applications. Running a Node.js app directly with node server.js has a critical limitation: if the process crashes, it stays down until someone manually restarts it. PM2 solves this and much more — it automatically restarts crashed processes, starts applications on system boot, enables zero-downtime reloads for application […]

Read more
How to Configure PHP-FPM with Nginx on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Configure PHP-FPM with Nginx on RHEL 9

PHP-FPM (FastCGI Process Manager) is the recommended way to run PHP behind a web server. Unlike the older Apache mod_php, which embeds a PHP interpreter in each Apache worker process, PHP-FPM runs as a separate service that manages a pool of PHP worker processes. Nginx communicates with PHP-FPM via a Unix socket or TCP socket […]

Read more
How to Configure MySQL Group Replication on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Configure MySQL Group Replication on RHEL 9

MySQL Group Replication extends traditional primary-replica replication with a built-in, distributed consensus protocol (Paxos-based) that provides automatic failover, multi-primary writes, and conflict detection. Unlike standard replication where a manual intervention is needed to promote a replica to primary, Group Replication automatically elects a new primary if the current primary fails — making it the foundation […]

Read more
How to Install Nginx on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Install Nginx on RHEL 9

Nginx (pronounced “engine-x”) is the most widely deployed web server in the world, powering everything from small personal websites to the largest content delivery networks. On RHEL 9, Nginx is available from the AppStream repository and integrates natively with SELinux, firewalld, and systemd. Its event-driven, non-blocking architecture means a single Nginx worker process can handle […]

Read more
How to Configure Network Interface Settings with nmcli and ip on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Configure Network Interface Settings with nmcli and ip on RHEL 9

Network configuration on RHEL 9 is managed by NetworkManager, and the primary tools for working with it are nmcli (NetworkManager Command-Line Interface) and the traditional ip command from the iproute2 package. Understanding both is essential: nmcli creates persistent network profiles that survive reboots and are managed by NetworkManager, while the ip command makes temporary changes […]

Read more
How to Perform a System Security Audit with auditd on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Perform a System Security Audit with auditd on RHEL 9

Security auditing is the practice of recording and reviewing system calls, file accesses, user actions, and configuration changes to detect policy violations, investigate incidents, and demonstrate compliance with standards like PCI DSS, HIPAA, and SOC 2. On RHEL 9, the Linux Audit Framework — provided by the auditd daemon — captures events at the kernel […]

Read more
How to Use journalctl for Systemd Log Analysis on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Use journalctl for Systemd Log Analysis on RHEL 9

The Linux kernel’s systemd journal is a structured binary log that stores the output of every service, kernel message, boot sequence, and user session. Unlike traditional text-based syslog, the journal stores metadata alongside each log entry — the unit name, PID, UID, executable path, systemd unit state, and priority level — enabling far more precise […]

Read more
CHAT