Amir Shahamiri فا

~ / articles

Articles

31 articles on software, infrastructure and business.

2026 31

How to Fix 502 Bad Gateway in Nginx with PHP-FPMFix 502 Bad Gateway in Nginx with PHP-FPM: read error.log, fix socket path and permissions, pm.max_children, timeouts, header buffers and nginx -t. Infrastructure 2026-10-10 9 min WordPress vs. Custom Website Development: Which to Choose?WordPress vs. custom website development, compared: time to launch, long-term cost, security, performance, flexibility and which one fits your business. Business 2026-10-09 8 min What Is Redis and When Should You Use It?What is Redis? Use cases for caching, sessions, queues and rate limiting, redis-cli examples, RDB vs. AOF persistence, Docker setup and security basics. Programming 2026-10-09 8 min What Is an API? A Simple Explanation with REST API ExamplesWhat is an API? A plain-English explanation of REST APIs: HTTP methods, status codes, JSON, authentication, and calling an API with curl, PHP and Python. Programming 2026-10-09 9 min What Affects Website Speed? 7 Factors and How to Fix ThemWhat affects website speed: server response time, hosting location, images, caching, scripts, fonts and database queries. How to test it and what to fix. Programming 2026-10-09 9 min What Is a VPS? VPS vs. Shared vs. Dedicated HostingWhat is a VPS, what is it used for, and how does it compare with shared hosting and a dedicated server? Find out which one fits your website or app. Infrastructure 2026-10-09 8 min What Is tmux? A Beginner's Guide to Keeping SSH Sessions AliveWhat is tmux and how does it work? A tmux guide from scratch: sessions, windows and panes, the prefix key, detach and attach, tmux.conf and a cheat sheet. Infrastructure 2026-10-09 8 min How to Create a systemd Service on Linux (Unit File Guide)Create a systemd service on Linux: write a unit file with User, WorkingDirectory, Restart and EnvironmentFile, enable it and read logs with journalctl. Infrastructure 2026-10-09 8 min How to Create SSH Keys and Connect to a Server (Windows & Linux)Generate SSH keys (ed25519) on Windows, Linux and macOS, copy them to a server, use ~/.ssh/config, add a key to GitHub and fix common SSH errors. Infrastructure 2026-10-09 8 min rsync Command in Linux: Copy and Sync Files Between ServersThe rsync command in Linux with examples: -avzh, the trailing slash rule, dry-run, the risks of --delete, exclude, custom SSH ports and resuming transfers. Infrastructure 2026-10-09 8 min PHP vs. Python for Backend Development: Which Should You Choose?PHP vs. Python for backend development: frameworks, hosting, real-world performance, the job market and learning curve, and when each one is the better fit. Programming 2026-10-09 7 min Linux Server Monitoring: What to Watch and Which Tools to UseLinux server monitoring made simple: what to watch (CPU, load average, memory, disk, services), built-in tools, Netdata, and a cron health-check script. Infrastructure 2026-10-09 9 min Linux Server Disk Full? How to Find and Free Up SpaceLinux server disk full? Find the culprit with df, du and ncdu, then fix deleted-but-open files, logs, the journal, apt, Docker, inodes and alerting. Infrastructure 2026-10-09 8 min Essential Linux Commands for Server AdministrationEssential Linux commands for managing an Ubuntu server, grouped by task, with real examples and a cheat sheet of the 25 you will use every day. Infrastructure 2026-10-09 8 min How to Install Docker on Ubuntu 24.04 (Docker Engine)How to install Docker on Ubuntu 24.04 from the official repository: post-install steps, hello-world test, docker.io vs. docker-ce, and full uninstall. Infrastructure 2026-10-09 7 min Essential Git Commands: A Beginner's Guide with Cheat SheetEssential Git commands from scratch: what Git is, the daily workflow from init to push, safe ways to undo changes, .gitignore and a cheat sheet. Programming 2026-10-09 8 min Free SSL Certificate with Let's Encrypt and Certbot on UbuntuGet a free SSL certificate from Let's Encrypt with Certbot on Ubuntu for Nginx or Apache, for .ir or any domain: auto-renewal, wildcards and common errors. Infrastructure 2026-10-09 8 min Docker Compose Explained with a Real Example (Postgres + Redis)Docker Compose explained: what it is and how it works, with a web app, PostgreSQL and Redis, volumes, healthchecks, depends_on and everyday commands. Infrastructure 2026-10-09 9 min DNS Records Explained: A, AAAA, CNAME, MX, TXT, NS and CAADNS records explained with examples: A, AAAA, CNAME, MX, TXT, NS and CAA, what TTL means, why CNAME can't go on the root domain, and checking with dig. Infrastructure 2026-10-09 9 min Cron Jobs in Linux: Crontab Syntax Explained (and systemd Timers)How cron jobs work in Linux: the five crontab time fields with examples, /etc/cron.d, environment pitfalls, logging, flock and systemd timers. Infrastructure 2026-10-09 9 min What Is CI/CD? Your First Pipeline with GitHub ActionsWhat is CI/CD, and how to build your first GitHub Actions pipeline: automated Laravel and Python tests, secrets, branch protection and tag-based deploys. Programming 2026-10-09 7 min MySQL vs. PostgreSQL vs. SQLite: Which Database to ChooseMySQL vs. PostgreSQL vs. SQLite compared on use cases, concurrency, JSON, maintenance and hosting, plus when NoSQL actually makes sense. Programming 2026-10-09 8 min Bash Scripting Basics: Automate Repetitive Tasks on LinuxBash scripting basics for Linux: shebang, set -euo pipefail, quoting, arguments, conditionals, loops, functions, exit codes, logging and shellcheck. Infrastructure 2026-10-09 9 min Backend Developer Roadmap: What Backend Is and Where to StartA realistic backend developer roadmap: what backend programming is and where to start, from one language, HTTP and SQL to Git, Linux and deployment. Programming 2026-10-09 7 min AI for Programming: Where It Helps and Where It FailsAI for programming: where coding assistants genuinely help, where they get things wrong, and how to use them safely, from beginner to senior developer. Programming 2026-10-09 8 min Build vs. Buy vs. SaaS: Choosing Software for a Small BusinessBuild vs. buy vs. SaaS for a small business: three-year total cost of ownership, vendor lock-in, maintenance, security and questions to ask vendors. Business 2026-10-08 9 min Laravel Queues: Move Slow Tasks Out of the RequestA hands-on guide to Laravel queues in Laravel 13: creating jobs, retries and backoff, unique and failed jobs, idempotency and running workers with systemd. Programming 2026-10-07 9 min The 3-2-1 Backup Rule in Practice: Backups You Can RestoreThe 3-2-1 backup rule in practice: consistent MySQL and PostgreSQL dumps, a bash script with rsync, scheduling with cron, and regular restore tests. Infrastructure 2026-10-06 9 min Laravel Caching: What to Cache, Where and for How LongA practical guide to Laravel caching in Laravel 13: what to cache, remember vs. flexible, choosing a TTL, versioned keys, invalidation and cache stampedes. Programming 2026-10-05 9 min Ubuntu 24.04 Server Hardening: The First Hour, Step by StepUbuntu 24.04 server hardening in the first hour: a non-root user, SSH key-only login, ufw, automatic security updates, fail2ban and time sync. Infrastructure 2026-10-04 9 min How to Write a Problem Statement Before Building SoftwareHow to write a one-page problem statement before you commission or build software: who is affected, what happens today, what it costs, and what done means. Business 2026-10-03 8 min