Infrastructure tutorials
Production-grade guides for Linux, servers, security and performance. Copy-paste commands, multi-distro support, written by engineers who run this in production.
Browse by topic
Linux
System administration, shell scripting, package management
Hosting & Servers
Web servers, reverse proxies, SSL, domains
Security
Firewalls, hardening, encryption, access control
Performance
Caching, optimization, profiling, load testing
Databases
MySQL, PostgreSQL, Redis, backups, replication
Networking
DNS, load balancing, VPN, TCP/IP, routing
DevOps
CI/CD, Docker, Kubernetes, automation
Monitoring
Logging, alerting, metrics, observability
Most viewed
Install and configure Deno for web development with systemd and reverse proxy
hostingInstall and configure Caddy web server with automatic HTTPS and reverse proxy
hostingInstall and configure Ollama for local AI models on Linux servers
devopsInstall and configure TimescaleDB with PostgreSQL for high-performance time-series data
databasesInstall and configure Uvicorn ASGI server with systemd and reverse proxy for FastAPI applications
hostingRecently published
Configure Consul Connect service mesh monitoring with distributed tracing
monitoringConfigure Kubernetes RBAC with service accounts and cluster roles for secure access control
devopsImplement Deno microservices architecture with service discovery and load balancing
devopsImplement Kubernetes security scanning with Falco and OPA Gatekeeper for runtime protection
securityConfigure OpenTelemetry custom metrics for application monitoring with Prometheus and Grafana
monitoringFix high load average with low CPU usage on web servers
Diagnose and resolve high load average issues when CPU usage remains low on Linux web servers. Learn to identify I/O bottlenecks, blocked processes, and system resource contention affecting performance.
Configure Linux kernel parameters with sysctl for system optimization
Learn to view, modify, and persist Linux kernel parameters using sysctl for system performance tuning. Configure network, memory, and security settings safely with temporary and permanent changes.
Configure Linux memory cgroups v2 with systemd for advanced process isolation and resource control
Set up cgroups v2 unified hierarchy with systemd to implement memory limits, isolation policies, and automated pressure responses for container workloads and system processes.
Configure Linux package management with apt, dnf and yum for system updates
Learn to manage Linux packages effectively with apt, dnf, and yum across Ubuntu, Debian, and RHEL-based distributions. Master installation, updates, repository management, and troubleshooting for reliable system maintenance.
Configure Linux system services with systemctl and service management
Learn to manage Linux system services with systemctl commands, enable services on boot, create custom service files, and troubleshoot service failures with journalctl for reliable system administration.
Configure shell aliases and functions for development productivity
Set up custom shell aliases and functions to streamline your development workflow, reduce typing, and boost terminal productivity with reusable commands and automation shortcuts.
Implement Linux resource quotas with systemd and automated enforcement
Configure systemd resource control and cgroups v2 to implement CPU, memory, and I/O quotas with automated enforcement. Set up monitoring and alerts for resource violations across production workloads.
Configure Tomcat 11 database connection pooling with JNDI and HikariCP for high availability
Set up production-grade database connection pooling in Tomcat 11 using JNDI resources and HikariCP for optimal performance and high availability. Learn to configure server.xml, context.xml, and monitor connection pools effectively.
Configure MongoDB 8.0 replica set with automatic failover for high availability
Set up a MongoDB 8.0 replica set with multiple nodes and automatic failover to ensure high availability and data redundancy. This configuration provides seamless database operations even when primary nodes fail.
Implement Linux memory cgroups for container workload isolation
Configure cgroups v2 memory subsystem to isolate container workloads with precise memory limits, monitoring, and automated enforcement for production environments.
Monitor Django applications with Prometheus and Grafana for comprehensive performance insights
Set up comprehensive Django application monitoring using Prometheus metrics collection and Grafana dashboards. Configure django-prometheus middleware to track request metrics, database queries, and application performance with real-time alerting.
Configure Linux user session limits with systemd and pam_limits for resource management
Learn to set up comprehensive user session resource limits using both traditional pam_limits.conf and modern systemd user slices. This tutorial covers memory, CPU, and process limits to prevent resource exhaustion on multi-user systems.
Need help?
Don't want to manage this yourself?
We handle infrastructure for businesses that depend on uptime. From initial setup to ongoing operations.
Talk to an engineer