Skip to main content

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

  1. Proxmox Webinterface öffnen
  2. Datacenter → Node auswählen
  3. 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.