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!?
Ok, dann auf einem Ubuntu Bionic Minimal
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
Unter /etc/nginx/conf.d findet man die Config Dateien der einzelnen Webseiten, hier im Beispiel die
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