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 Uptime Kuma for website monitoring with SSL and email alerts
monitoringInstall and configure Caddy web server with automatic HTTPS and reverse proxy
hostingInstall and configure TimescaleDB with PostgreSQL for high-performance time-series data
databasesInstall and configure Ollama for local AI models on Linux servers
devopsRecently published
Configure PostgreSQL 17 SSL encryption and certificate-based authentication
databasesSet up HAProxy SSL termination with Let's Encrypt certificates
networkingConfigure HAProxy with Consul for dynamic service discovery
networkingConfigure PostgreSQL 17 connection pooling with PgBouncer for high availability
databasesConfigure Kubernetes secrets management with External Secrets Operator and HashiCorp Vault
devopsConfigure Linux transparent huge pages and memory optimization for database workloads
Learn to configure transparent huge pages (THP) and optimize Linux memory management for database workloads. Covers THP disable/enable strategies, performance monitoring, and automation with systemd.
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.
Monitor PostgreSQL performance with Prometheus and Grafana dashboards
Set up comprehensive PostgreSQL monitoring using Prometheus PostgreSQL exporter and Grafana dashboards. Configure performance metrics collection, visualization, and alerting for database optimization and troubleshooting.
Benchmark and optimize Linux disk I/O performance with fio testing
Learn how to benchmark disk I/O performance using fio (Flexible I/O tester) to identify storage bottlenecks and optimize your Linux system's disk performance through comprehensive read/write testing and analysis.
Optimize Linux filesystem performance with mount options and I/O schedulers
Learn to optimize Linux filesystem performance by configuring I/O schedulers, tuning ext4 mount options, and monitoring disk performance with iostat and iotop for high-throughput workloads.
Configure Linux system resource limits with systemd and ulimit for application performance
Learn to configure Linux system resource limits using systemd, ulimit, and /etc/security/limits.conf to prevent application failures from resource exhaustion. Master per-user, per-service, and system-wide limits for optimal performance.
Optimize MySQL query performance with indexes and query profiling for high-traffic applications
Learn how to dramatically improve MySQL query performance using proper indexing strategies, query profiling tools, and InnoDB optimization techniques. This tutorial covers slow query log analysis, EXPLAIN plan interpretation, and memory tuning for production databases.
Configure Linux memory management and swap optimization for high-performance workloads
Optimize Linux memory subsystem performance through advanced swap configuration, virtual memory tuning, and memory compression techniques. Learn to configure transparent huge pages, zram, and application-specific memory settings for high-performance workloads.
Don't want to manage this yourself?
We handle infrastructure for businesses that depend on uptime. Fully managed, with one fixed contact who knows your setup.
You get one fixed contact who knows your setup
Rotterdam 20:29 · reachable in a message, no ticket form