Versionierungsstrategie für die Nginx-Konfiguration

Lesezeit: 2 Minuten

Derzeit hat ein Projekt, das mein Team geerbt hat, ein komplettes Durcheinander in der Nginx-Konfiguration in mehr als 10 Umgebungen. Wir würden gerne eine Versionierungsstrategie implementieren, bin mir jedoch nicht sicher, wie die Leute dies “normalerweise” erreichen. Sie machen den gesamten nginx conf-Ordner zu einem Git-Repo und ignorieren, was Sie nicht versionieren möchten? oder haben Sie einen separaten Ordner mit dem Konfigurationsdatei-Repo und stellen Sie die Dateien mit einem Skript bereit?

Wir verwalten es ausschließlich für die Nginx-Konfiguration über ein separates Git-Repository. Ja, es enthält alles drin /etc/nginx/ Verzeichnis.

Aber es wird nicht direkt auf dem Server synchronisiert, stattdessen wird ein Bash-Skript verwendet, um Änderungen abzurufen, die Konfiguration zu aktualisieren und die Nginx-Konfiguration neu zu laden.

Skriptbeispiel:

# Pull changes
git pull

# Sync changes excluding .git directory
rsync -qauh ./* "/etc/nginx" --exclude=".git"

# Set proper permissions
chmod -R 644 /etc/nginx
find /etc/nginx -type d -exec chmod 700 {} \;

# If you store SSL certs under `/etc/nginx/ssl`
# Set proper permission for SSL certs 
chmod -R 600 /etc/nginx/ssl
chmod -R 400 /etc/nginx/ssl/*

# Reload nginx config
# but only if configtest is passed
nginx -t && service nginx reload

  • Also haben Sie es im Grunde in einem anderen Ordner (dem Git-Repo), arbeiten an diesem Ordner, übertragen es, dann zieht ein Skript Änderungen, aktualisiert die Konfiguration und lädt die Nginx-Konfiguration neu? Entschuldigung, ich möchte nur sicherstellen, dass ich Ihre Lösung zu 100% verstehe, übrigens danke!

    – Juan Sebastián

    24. Mai 2017 um 22:55 Uhr

  • @JuanSebastian richtig, du hast mich richtig verstanden. Auf diese Weise können Berechtigungen ordnungsgemäß festgelegt und ausgeschlossen werden .git Verzeichnis

    – dr.dimitru

    24. Mai 2017 um 23:02 Uhr

  • Werden Berechtigungen nicht über Git beibehalten?

    – Thomm

    8. Mai 2019 um 21:46 Uhr

  • @thomthom ja! Dies ist der Fall, wenn wir uns nicht um Berechtigungen kümmern, es sei denn, sie werden an den Server geliefert. Und sieht im Beispiel intuitiver aus, als zuerst Berechtigungen zu setzen und dann Push/Pull, verschiedene Hosts, dies ist nur eine einfachere Art, meine Lösung zu erklären

    – dr.dimitru

    10. Mai 2019 um 6:57 Uhr

1445610cookie-checkVersionierungsstrategie für die Nginx-Konfiguration

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy