Für HTTP-Validierung/Redirect und HTTPS sowohl Firewall als auch Listener prüfen.
„Nginx ist installiert und PHP läuft“ definiert keine Produktion. DNS, TLS, FPM-Sockets, Deployment-Struktur, Logs, Health Checks und Rollback müssen eine beobachtbare Kette bilden.
PHP-FPM-Version und Socket-Pfad hängen von installierten Paketen ab. `/run/php/` prüfen statt Beispielpfade blind zu kopieren.
Anwendung zuerst lokal per HTTP validieren, danach Domain und TLS hinzufügen. Bei 502 zuerst PHP-FPM-Socket/Upstream prüfen; bei TLS-Fehlern DNS und Ports 80/443 vor dem Anwendungscode prüfen.
Anwendung zuerst lokal per HTTP validieren, danach Domain und TLS hinzufügen. Bei 502 zuerst PHP-FPM-Socket/Upstream prüfen; bei TLS-Fehlern DNS und Ports 80/443 vor dem Anwendungscode prüfen.
Produktions-Webstack auf Ubuntu 26.04 mit Nginx Server Blocks, PHP-FPM-Sockets, TLS, UFW, Logrotation, Health Checks, Deployment-Struktur und Rollback.
Für HTTP-Validierung/Redirect und HTTPS sowohl Firewall als auch Listener prüfen.
Tatsächlich installierte PHP-FPM-Sockets prüfen statt Versionspfad zu raten.
Vor jedem Nginx-Reload Syntaxprüfung durchführen.
Eine 200-Startseite kann DB/Queue-Fehler verbergen; ein Health-Endpunkt ist aussagekräftiger.
Trennung von Releases, Webroot und persistenten Daten macht Rollback sicherer.
| Pfad | Zweck |
|---|---|
| /var/www/app/releases/20260817-2200 | Unveränderlicher Release-Code |
| /var/www/app/current | Symlink auf aktives Release |
| /var/www/app/shared | Persistente Uploads/Konfiguration |
sudo install -d -o www-data -g www-data /var/www/app/releases /var/www/app/sharedsudo ln -sfn /var/www/app/releases/20260817-2200 /var/www/app/currentDomain → Server → Nginx → Anwendung zuerst per HTTP beweisen, bevor TLS hinzukommt.
sudo apt install nginx -ysudo nginx -tsudo systemctl enable --now nginxcurl -I http://127.0.0.1ss -lntp | grep -E ":80|:443"Ein falscher Socket-Pfad ist eine häufige 502-Ursache; erschöpfte oder abstürzende FPM-Worker eine weitere.
ls -lah /run/php/systemctl list-units --type=service | grep phpgrep -R "^pm\.\|^listen" /etc/php/*/fpm/pool.d/www.confjournalctl -u php*-fpm --since "20 min ago" --no-pager 2>/dev/null | tail -80Viele ACME-Fehler entstehen durch falsche A/AAAA-Einträge, blockierte Ports oder Proxy/Origin-Routing.
dig +short A example.comdig +short AAAA example.comsudo ufw allow "Nginx Full"sudo apt install certbot python3-certbot-nginx -ysudo certbot --nginx -d example.com -d www.example.comsystemctl list-timers | grep certbotProduktionslogs sollten zeigen, welche Schicht ausfiel. Korrelations-IDs über Nginx, PHP-FPM und Anwendung beschleunigen die Diagnose.
sudo tail -f /var/log/nginx/error.logsudo logrotate -d /etc/logrotate.d/nginxjournalctl -u nginx -u php*-fpm --since today --no-pager 2>/dev/null | tail -100Ein Release-Symlink ermöglicht Code-Rollback ohne erneutes Kopieren. Datenbank-Rollback separat planen.
readlink -f /var/www/app/currentsudo ln -sfn /var/www/app/releases/ONCEKI_SURUM /var/www/app/currentsudo nginx -t && sudo systemctl reload nginxEin curl vom Server kann DNS-, Netzwerk- und CDN-Schichten umgehen. Externen Probe verwenden.
curl -fsS https://example.com/healthcurl -o /dev/null -sS -w "code=%{http_code} connect=%{time_connect} ttfb=%{time_starttransfer} total=%{time_total}
" https://example.com/openssl s_client -connect example.com:443 -servername example.com </dev/null 2>/dev/null | openssl x509 -noout -dates -issuerPHP-FPM-Worker, Cache, Datenbank und Storage-I/O teilen VPS-Ressourcen. Auf Eka Sunucu je nach Traffic zwischen einfachem Single-Server und Staging+Production wählen.
Primärdokumentation und technische Referenzen dieses Leitfadens.
Mit passenden Infrastruktur- und Implementierungsleitfäden fortfahren.
Ubuntu 26.04 Webserver
Version oder Socket nicht blind fest eintragen. Mit `php -v`, `/run/php/` und systemd die installierte Version ermitteln; PPA/Panel kann sie ändern.
Nein. Upstream kann down sein, Socket-Pfad falsch, Rechte fehlerhaft oder Reverse Proxy auf falsches Ziel zeigen.
Für Origin-TLS hinter Cloudflare Proxy möglich; direkter Browser-zu-Origin-Zugriff und SSL-Modus müssen dazu passen.
Release-Verzeichnisse plus Symlink, vorgebaute Dependencies und kontrollierter FPM-Reload reduzieren Umschaltzeit; DB-Migration separat planen.