Bash Scripting Basics: Commands, Conditionals and Loops
Bash scripting basics tested on Ubuntu and RHEL: variables, commands, arguments, exit codes, if and case, file tests, arithmetic, loops and a log checker.
Continue Reading →Commands, services, file systems and the day-to-day work of running Linux boxes that stay up.
61 articles · page 1 of 7
Bash scripting basics tested on Ubuntu and RHEL: variables, commands, arguments, exit codes, if and case, file tests, arithmetic, loops and a log checker.
Continue Reading →Bash functions, arrays, getopts, trap, regex and parameter expansion explained with tested Ubuntu and RHEL examples, plus one small script that uses them all.
Continue Reading →Bash for, while and until loops tested on Ubuntu and RHEL: arguments, reading files line by line, safe filenames, polling timeouts and subshell bugs.
Continue Reading →Set up nginx as a reverse proxy on Ubuntu or AlmaLinux: proxy_pass, real client IP headers, the trailing slash trap, 502 vs 504 and SELinux, all tested.
Continue Reading →Install a LEMP stack on Ubuntu 26.04 with nginx 1.28, MySQL 8.4 and PHP-FPM 8.5, tested with real output, fixes for 502 and 413 errors and a working test page.
Continue Reading →Install a LAMP stack on Ubuntu 26.04: Apache 2.4.66, MySQL 8.4 and PHP 8.5 over PHP-FPM, tested with real output, a virtual host and a working database page.
Continue Reading →Set up a self-hosted GitHub Actions runner on Ubuntu and AlmaLinux, register it, run a real job, and watch it survive a reboot. Includes a real AlmaLinux 10 bug.
Continue Reading →Monitor Linux CPU, memory, disk and network with top, vmstat, iostat, sar and PSI, tested under real load to show what a real bottleneck looks like.
Continue Reading →Nginx vs Apache tested on the same server: static files, PHP-FPM, memory measured properly, prefork vs event and the real cost of .htaccess. Honest results.
Continue Reading →Set up nginx as a load balancer with real config and real output: round robin, weighted round robin, least_conn, ip_hash sticky sessions, passive health checks, SSL termination, WebSocket proxying and per-backend logging.
Continue Reading →