Installation von NGINX auf einer Proxmox VM
Diese Anleitung beschreibt die strukturierte Installation eines NGINX Webservers innerhalb einer Proxmox Virtual Environment (PVE) Virtual Machine. Die Dokumentation eignet sich für Homelab-Infrastrukturen, Reverse Proxy Setups, Self-Hosting Umgebungen sowie produktive Cloud- und DevOps-Infrastrukturen.
1. Voraussetzungen
Infrastruktur
- Proxmox VE 8 oder neuer
- Virtuelle Maschine mit Debian 12 oder Ubuntu Server 22.04 / 24.04
- Mindestens 1 vCPU
- Mindestens 1 GB RAM (empfohlen: 2 GB)
- Mindestens 10 GB Storage
- Netzwerk Bridge (vmbr0)
Typische Einsatzbereiche:
- Reverse Proxy für Self-Hosted Services
- Hosting von Webseiten
- Loadbalancing
- SSL Termination
- Cloudflare Tunnel Integration
- Homelab Infrastruktur
2. Virtuelle Maschine in Proxmox erstellen
- Proxmox Webinterface öffnen
- Datacenter → Node auswählen
- Create VM klicken
Empfohlene VM Konfiguration
- Operating System: Debian 12 oder Ubuntu Server
- CPU: 2 Cores
- RAM: 2048 MB
- Disk: 16 GB
- Network: VirtIO
Nach Erstellung der VM das Betriebssystem über die Konsole installieren. Eine Minimalinstallation ist ausreichend.
3. Verbindung zum Server herstellen
Per SSH auf die VM verbinden:
ssh user@SERVER-IP
4. System aktualisieren
Vor jeder Installation sollte das System aktualisiert werden.
sudo apt update
sudo apt upgrade -y
Empfohlene Basis-Tools installieren:
sudo apt install curl wget git unzip -y
5. Installation von NGINX
NGINX wird über das Standard Repository installiert.
sudo apt install nginx -y
Version prüfen:
nginx -v
Beispiel Ausgabe:
nginx version: nginx/1.24.0
6. NGINX Service verwalten
Status prüfen:
systemctl status nginx
Service starten:
sudo systemctl start nginx
Autostart aktivieren:
sudo systemctl enable nginx
Service neu laden:
sudo systemctl reload nginx
7. Firewall konfigurieren
Falls UFW aktiviert ist:
sudo ufw allow 'Nginx Full'
Dadurch werden folgende Ports geöffnet:
- Port 80 (HTTP)
- Port 443 (HTTPS)
8. Installation testen
Im Browser folgende Adresse aufrufen:
http://SERVER-IP
Wenn die Installation erfolgreich war, erscheint die NGINX Standardseite:
Welcome to nginx!
9. Wichtige NGINX Verzeichnisse
- /etc/nginx/nginx.conf – Hauptkonfiguration
- /etc/nginx/sites-available – verfügbare Webseiten
- /etc/nginx/sites-enabled – aktivierte Webseiten
- /var/www/html – Standard Webroot
- /var/log/nginx – Logdateien
10. Beispiel Virtual Host erstellen
Neue Website Konfiguration erstellen:
sudo nano /etc/nginx/sites-available/example
Beispielkonfiguration:
server {
listen 80;
server_name example.com;
root /var/www/example;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
11. Website aktivieren
sudo ln -s /etc/nginx/sites-available/example /etc/nginx/sites-enabled/
Konfiguration testen:
sudo nginx -t
NGINX neu laden:
sudo systemctl reload nginx
12. Reverse Proxy Beispiel
Ein häufiger Anwendungsfall in Self-Hosting Umgebungen ist die Weiterleitung auf interne Services.
server {
listen 80;
server_name service.domain.de;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
13. SSL Zertifikat mit Let's Encrypt
Certbot installieren:
sudo apt install certbot python3-certbot-nginx -y
Zertifikat generieren:
sudo certbot --nginx -d domain.de -d www.domain.de
Automatische Verlängerung testen:
sudo certbot renew --dry-run
14. Monitoring und Logs
NGINX Logdateien:
/var/log/nginx/access.log
/var/log/nginx/error.log
Empfohlene Monitoring Tools:
- Uptime Kuma
- Grafana
- Prometheus
- Netdata
15. Empfohlene Infrastrukturstruktur
Proxmox Host
├── VM 100
│ NGINX Reverse Proxy
│
├── LXC
│ ERPNext
│
├── LXC
│ Uptime Kuma
│
├── LXC
│ Cloudflare Tunnel
│
└── VM
Monitoring Stack
Diese Struktur ermöglicht eine klare Service-Trennung, bessere Sicherheit und eine skalierbare Infrastruktur für Self-Hosting und DevOps Umgebungen.