Boot Startup

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
How to Monitor Disk Usage with df, du, lsblk and ncdu on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Monitor Disk Usage with df, du, lsblk and ncdu on RHEL 9

Running out of disk space is one of the most disruptive failures a server can experience. When a filesystem fills up, applications crash, log files stop writing (losing audit trails), databases corrupt transactions, and web servers return 500 errors. Proactive disk monitoring is essential — and RHEL 9 provides a full set of tools for […]

Read more
How to Schedule Automated Tasks with cron and anacron on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Schedule Automated Tasks with cron and anacron on RHEL 9

Automated task scheduling is the backbone of server maintenance: backups run at 3 AM, log cleanup happens daily, SSL certificates renew before they expire, and databases are vacuumed weekly. On RHEL 9, there are three scheduling mechanisms each suited to different scenarios. cron is the classic daemon that runs jobs on a schedule defined by […]

Read more
How to Set a Hostname and FQDN on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Set a Hostname and FQDN on RHEL 9

A server’s hostname is its identity on the network. The fully qualified domain name (FQDN) combines the short hostname with the DNS domain, forming an address like web01.example.com. Many services depend on a correctly configured hostname and FQDN to function properly: email servers use the FQDN in SMTP HELO greetings (incorrect values cause delivery rejections), […]

Read more
CHAT