Skip to content

NGINX - Installation

NGINX
  • Es gibt da ein kleines Problem, was einige verwirren könnte. Wenn man NGINX aus den normalen Repos installiert, bekommt man auf Debian 10.1 folgende Version.

    root@rockpro64:/etc/nginx/sites-enabled# nginx -v
    nginx version: nginx/1.14.2
    

    Diese Installation arbeitet mit /etc/nginx/sites-enabled und dem Pfad /var/www/html

    Und deinstalliert.

    apt purge nginx
    

    Aufpassen, verschiedene Ordner blieben bestehen. Habe ich alle von Hand gelöscht. Als nächstes gehen wir nach der Anleitung von NGINX vor. https://nginx.org/en/linux_packages.html#Debian

    Step 1

    apt install curl gnupg2 ca-certificates lsb-release
    

    Macht nix, alles schon da.

    Step 2

    echo "deb http://nginx.org/packages/debian `lsb_release -cs` nginx" \
        | sudo tee /etc/apt/sources.list.d/nginx.list
    

    Das macht folgendes

    nano /etc/apt/sources.list.d/nginx.list
    

    Inhalt der Datei

     deb http://nginx.org/packages/debian buster nginx
    

    Step 3

    curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo apt-key add -
    

    Als nächstes wird der Key gecheckt.

    root@rockpro64:/etc# apt-key fingerprint ABF5BD827BD9BF62
    pub   rsa2048 2011-08-19 [SC] [expires: 2024-06-14]
          573B FD6B 3D8F BC64 1079  A6AB ABF5 BD82 7BD9 BF62
    uid           [ unknown] nginx signing key <signing-key@nginx.com>
    

    Sieht so weit alles gut aus. Dann wie gewohnt.

    apt update
    apt install nginx
    

    Doch hier ein Problem

    N: Skipping acquire of configured file 'nginx/binary-arm64/Packages' as repository 'http://nginx.org/packages/debian buster InRelease' doesn't support architecture 'arm64'
    

    Hmm, kein arm64 Paket von NGINX!?

    fef101ac-3a97-4bce-a0b1-4091d831471a-grafik.png

    Ok, dann auf einem Ubuntu Bionic Minimal 🙂

    6f82b5da-c57e-4b04-972a-beab4c88bada-grafik.png

    Installation nach -> https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-open-source/#prebuilt_ubuntu

    Nach der Installation erhält man folgendes

    rock64@rockpro64:/etc/apt$ nginx -v
    nginx version: nginx/1.17.4
    

    Wir sind also auf der letzten "Mainline" Version von NGINX. Aber hier gibt es

    • /var/www/ nicht mehr
    • /etc/nginx/sites-enabled nicht mehr

    Was ist jetzt anders?

    Nicht so viel, man muss es nur wissen.

    In /etc/nginx findet man die

    • nginx.conf

    Unter /etc/nginx/conf.d findet man die Config Dateien der einzelnen Webseiten, hier im Beispiel die

    • default.conf

    Und die Daten der Webseiten findet man unter /usr/share/nginx/html

    rock64@rockpro64:/etc/nginx/conf.d$ ls -lha /usr/share/nginx/html
    total 16K
    drwxr-xr-x 2 root root 4.0K Oct  1 08:52 .
    drwxr-xr-x 3 root root 4.0K Oct  1 08:52 ..
    -rw-r--r-- 1 root root  494 Sep 24 14:49 50x.html
    -rw-r--r-- 1 root root  612 Sep 24 14:49 index.html
    

    Nach was, der NGINX Server ist nicht automatisch gestartet.

    rock64@rockpro64:/etc/nginx/conf.d$ sudo service nginx status
    ● nginx.service - nginx - high performance web server
       Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
       Active: inactive (dead)
         Docs: http://nginx.org/en/docs/
    

    Mit

    sudo service nginx start
    

    ist das dann auch erledigt.

    Fazit

    Ich wollte hier kurz aufzeigen, das es Unterschiede gibt, ob man NGINX aus den Repos installiert oder man die Daten direkt von NGINX benutzt. Mit dem Wissen darüber, ist es nicht so schwer auch die vielen Tutorials im Netz zu verstehen. Hat mich lange verwirrt, bis ich endlich begriffen hatte, warum das so ist.

    In der Praxis ist das hinterher völlig egal. Macht beides das Gleiche, wobei ich es besser finde da ich jetzt den Zwischenschritt mit dem symbolischen Link los bin.

    zusätzlich haben wir gelernt, das es nicht für jede Distribution arm64 Pakete gibt 🙂

  • NGINX - Neue Domain bekannt machen

    NGINX
    1
    0 Stimmen
    1 Beiträge
    92 Aufrufe
    Niemand hat geantwortet
  • ZFS - Wichtige Befehle

    Linux
    2
    0 Stimmen
    2 Beiträge
    386 Aufrufe
    FrankMF

    Unter dem Beitrag sammel ich mal ein paar Beispiele, für mich zum Nachlesen 🙂

    Den Anfang macht die

    ZFS-Replication

    Ich hatte Am Anfang ein wenig Verständnisprobleme, bis es klar war, das diese Replication von Pool zu Pool funktioniert. Also brauchen wir zwei vorhandene ZFS-Pools.

    root@pbs:/mnt/datastore/datapool/test# zfs list NAME USED AVAIL REFER MOUNTPOINT Backup_Home 222G 677G 222G /mnt/datastore/Backup_Home datapool 2.36G 1.75T 2.36G /mnt/datastore/datapool

    Wir erzeugen ein Dataset im datapool

    zfs create datapool/docs -o mountpoint=/docs

    Wir erzeugen eine Datei mit Inhalt

    echo "version 1" > /docs/data.txt

    Wir erzeugen einen Snapshot

    zfs snapshot datapool/docs@today

    Kontrolle

    root@pbs:/mnt/datastore/datapool/test# zfs list -t snapshot NAME USED AVAIL REFER MOUNTPOINT datapool/docs@today 0B - 96K -

    Wir replizieren den vorhandenen Snapshot zum ZFS-Pool Backup_Home und speichern ihn da im Dataset test.

    zfs send datapool/docs@today | zfs receive Backup_Home/test

    Nun befinden sich die Daten in dem anderen ZFS-Pool

    root@pbs:/mnt/datastore/datapool/test# ls /mnt/datastore/Backup_Home/test/ data.txt

    Und was mich am meisten interessiert, ist wie man das zu einem anderen Server schickt 😉

    zfs send datapool/docs@today | ssh otherserver zfs receive backuppool/backup

    Den Test reiche ich dann später nach.

    Quelle: https://www.howtoforge.com/tutorial/how-to-use-snapshots-clones-and-replication-in-zfs-on-linux/

    ZFS inkrementelle Replication

    Als, nur die geänderten Daten senden!

    Wir erzeugen ein paar Dateien

    root@pbs:/mnt/datastore/datapool/test# echo "data" > /docs/data1.txt root@pbs:/mnt/datastore/datapool/test# echo "data" > /docs/data2.txt root@pbs:/mnt/datastore/datapool/test# echo "data" > /docs/data3.txt root@pbs:/mnt/datastore/datapool/test# echo "data" > /docs/data4.txt

    Neuer Snapshot

    zfs snapshot datapool/docs@17:02

    Liste der Snapshots

    root@pbs:/mnt/datastore/datapool/test# zfs list -t snapshot NAME USED AVAIL REFER MOUNTPOINT datapool/docs@today 56K - 96K - datapool/docs@17:02 0B - 112K -

    Wir senden dieinkrementelle Replication

    zfs send -vi datapool/docs@today datapool/docs@17:02 | zfs receive Backup_Home/test send from datapool/docs@today to datapool/docs@17:02 estimated size is 38.6K total estimated size is 38.6K cannot receive incremental stream: destination Backup_Home/test has been modified since most recent snapshot

    Dazu schreibt die Anleitung, die ich unten verlinkt habe, das die Daten verändert wurden. Warum, verstehe ich aktuell noch nicht. Mit -F im send Befehl erzwingt man einen Rollback zum letzten Snapshot.

    zfs send -vi datapool/docs@today datapool/docs@17:02 | zfs receive -F Backup_Home/test send from datapool/docs@today to datapool/docs@17:02 estimated size is 38.6K total estimated size is 38.6K

    Und Kontrolle

    ls /mnt/datastore/Backup_Home/test/ data1.txt data2.txt data3.txt data4.txt data.txt

    Quelle: https://klarasystems.com/articles/introduction-to-zfs-replication/

  • FreeOTP+

    Linux
    1
    0 Stimmen
    1 Beiträge
    317 Aufrufe
    Niemand hat geantwortet
  • VSCodium

    Linux
    1
    0 Stimmen
    1 Beiträge
    219 Aufrufe
    Niemand hat geantwortet
  • NGINX - Grundlagen worker_processes

    NGINX
    1
    0 Stimmen
    1 Beiträge
    222 Aufrufe
    Niemand hat geantwortet
  • NGINX - Standard .conf

    NGINX
    3
    0 Stimmen
    3 Beiträge
    294 Aufrufe
    FrankMF

    Als kleiner Tipp, die meisten Anbieter von Software haben mittlerweile Beispiele, wie man das konfiguriert. Hier mal ein Beispiel von Nextcloud.

    Link Preview Image Nginx configuration — Nextcloud latest Administration Manual latest documentation

    favicon

    (docs.nextcloud.com)

  • NGINX - www entfernen

    NGINX
    2
    0 Stimmen
    2 Beiträge
    283 Aufrufe
    FrankMF

    Es geht noch eleganter. Für eine Domain wie frank-mankel.de z.B. so. Muss das mal hier parken, damit ich nicht immer wieder danach suchen muss.

    server { server_name www.example.com example.com; return 301 https://example.com$request_uri; } server { listen 443 ssl; ssl_certificate /path/to/server.cert; ssl_certificate_key /path/to/server.key; server_name www.example.com; return 301 https://example.com$request_uri; } server { listen 443 ssl; ssl_certificate /path/to/server.cert; ssl_certificate_key /path/to/server.key; server_name example.com; <locations for processing requests> }

    Quelle: https://serverfault.com/questions/258378/remove-www-and-redirect-to-https-with-nginx

  • NGINX

    Verschoben NGINX
    1
    0 Stimmen
    1 Beiträge
    533 Aufrufe
    Niemand hat geantwortet