Skip to main content
FreelanceJobs logo

Linux Server Admin Needed — Fix Recurring Website Downtime on HestiaCP

FreelanceJobs
CAPosted February 27, 2026

Resume Keywords to Include

Make sure these keywords appear in your resume to improve ATS scoring

GoPHPRBashHTMLLinuxNginxApache

Sign up free to auto-tailor your resume with all these keywords and get a higher ATS score

Job Description

We manage a web hosting server running

160+ WordPress websites that keeps experiencing a recurring issue: all websites go grey/blank every few hours after a server restart.

A manual restart temporarily fixes the problem, but it returns within 1-4 hours.

We need an experienced Linux server administrator to diagnose the root cause and implement a permanent fix.

## Server Details

  • Hosting: Linode (dedicated server)
  • OS: Ubuntu 22.04 LTS
  • Control Panel: HestiaCP (latest version)
  • Web Stack: Nginx (reverse proxy) → Apache 2.4 → PHP-FPM 8.2
  • Database: MariaDB 10.11
  • RAM: 32 GB
  • Websites: ~160 WordPress sites
  • PHP-FPM Pools: 109 (ondemand mode, 8 max_children per pool)

## The Problem

  • All websites simultaneously go grey/blank (empty HTML response) within 14 hours of a restart
  • Restarting the server or Apache + PHP-FPM temporarily fixes it
  • All services (Nginx, Apache, PHP-FPM, MariaDB) show as "active (running)" even when sites are down
  • No errors in WordPress debug logs
  • Nginx error log only shows harmless ssl_stapling warnings

## What We've Found So Far

  • Apache error log shows repeated `"Primary script unknown"` (proxy_fcgi) and `"Broken pipe: Error dispatching request to : (sending empty stdin)"` errors when sites go down
  • Apache returns HTTP 301 redirect loop (WordPress redirecting HTTP → HTTPS) when tested locally via curl during downtime
  • Nginx proxy config (``) has

no `proxy_set_header` directives — no `Host`, `X-RealIP`, `X-ForwardedFor`, or `X-ForwardedProto` headers are being passed from Nginx to Apache

  • PHP/WordPress loads fine via CLI (`php r "require 'wp';"` returns OK)
  • Apache `MaxRequestWorkers` was set to 150 for 160 sites (recently increased to 400 — monitoring if this resolves it)
  • `KeepAlive` was Off (recently changed to On)
  • PHP-FPM socket files exist and are accessible

## What We Need

1.

Root cause diagnosis — determine exactly why sites go down after a few hours

2.

Permanent fix — implement a solution that prevents the recurring downtime

3.

Nginx proxy headers — safely add `proxy_set_header` directives (Host, X-Real-IP, X-Forwarded-For, X-Forwarded-Proto) to HestiaCP Nginx templates without breaking sites (our first attempt caused 500 errors)

4.

Apache/PHP-FPM tuning — optimize configuration for 160 WordPress sites on 32GB RAM

5.

Documentation — brief summary of what was changed and why

## Ideal Candidate

  • Strong experience with HestiaCP administration
  • Deep knowledge of Nginx reverse proxy + Apache + PHP-FPM stack
  • Experience managing 100+ WordPress sites on a single server
  • Familiarity with Linode hosting
  • Available to work on this urgently

## To Apply

Please describe your experience with HestiaCP and similar Nginx/Apache proxy issues. Bonus if you've dealt with "Primary script unknown" errors before.

Contract duration of less than 1 month. with 30 hours per week.

Mandatory skills:

Linux System Administration, System Administration, Linux, Bash, NGINX, Business with 10-99 Employees

Want AI-powered job matching?

Upload your resume and get every job scored, your resume tailored, and hiring manager emails found - automatically.

Get Started Free