Cheatsheet für nginx
Meine nginx-Kurzreferenz für Installation, Verwaltung, Verzeichnisse, HTTPS und Dateiberechtigungen.
Installation
Ubuntu und Debian
sudo apt update && sudo apt install nginx
CentOS
sudo yum install nginx
nginx-Befehle
nginx starten
sudo systemctl start nginx
nginx stoppen
sudo systemctl stop nginx
nginx neu starten
sudo systemctl restart nginx
nginx-Konfiguration neu laden
sudo systemctl reload nginx
Status prüfen
sudo systemctl status nginx
Konfiguration testen
sudo nginx -t
Wichtige Verzeichnisse
/etc/nginx/nginx.conf– Hauptkonfigurationsdatei/etc/nginx/sites-available/– verfügbare Seitenkonfigurationen/etc/nginx/sites-enabled/– aktivierte Seitenkonfigurationen/var/log/nginx/access.log– Zugriffsprotokoll/var/log/nginx/error.log– Fehlerprotokoll
Beispiel: Einfacher Reverse Proxy
Der folgende Ausschnitt stammt aus meiner ursprünglichen Notiz. Er ist unvollständig und noch keine direkt verwendbare Konfiguration.
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
Beispiel: Statische Webseite hosten
Auch dieser Ausschnitt ist unvollständig und muss vor der Verwendung vervollständigt werden.
server {
listen 80;
server_name example.com;
root /var/www/html;
index index.html;
location / {
try_files $uri $uri/ =404;
SSL mit Let's Encrypt
Certbot und das nginx-Plugin installieren:
sudo apt install certbot python3-certbot-nginx
Certbot für die gewünschten Domains ausführen:
sudo certbot --nginx -d example.com -d www.example.com
Konfiguration neu laden
sudo systemctl reload nginx
Eigentümer des Webroot-Verzeichnisses festlegen
sudo chown -R www-data /var/www/html/meine-beispielseite.ch
Berechtigungen vergeben
Rekursive Berechtigungsvergabe aus der ursprünglichen Notiz
sudo chmod -R 755 /var/www/html/mein-beispielseite.ch
Dateiberechtigungen aus der ursprünglichen Notiz
sudo chmod 644 /var/www/html/meine-beispielseite.ch/*