NGINX ist ein sehr populärer Web-Server. Dafür gibt es einige Gründe:
- Leistung: NGINX ist bekannt für seine hohe Leistung und Skalierbarkeit, insbesondere im Vergleich zu anderen Web-Servern wie Apache.
- Stabilität: NGINX ist sehr stabil und robust, was bedeutet, dass es weniger anfällig für Ausfälle und Störungen ist.
- Anpassbarkeit: NGINX bietet eine Vielzahl von Modulen und Erweiterungen, die es Anwendern ermöglichen, den Server an ihre spezifischen Bedürfnisse anzupassen.
- Sicherheit: NGINX bietet eine Reihe von Sicherheitsfunktionen, wie z.B. SSL/TLS-Verschlüsselung, um die Übertragung sensibler Daten zu schützen.
- Ressourceneffizienz: NGINX ist ressourceneffizient und verwendet weniger Speicher und CPU-Ressourcen als andere Web-Server.
Ich mag Nginx auch, da es längst nicht so schwer zu konfigurieren ist wie Apache bzw. Apach2.
Nginx installieren
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install nginx
sudo systemctl status nginx # läuft der Server?
Bei Erfolg sollte man folgende (oder ähnlich) Ausgabe sehen:

Man kann überprüfen, ob die Nginx-Landingpage auf http://localhost:80 in einem Webbrowser angezeigt wird.
PHP-FPM installieren
NGINX und PHP-FPM werden oft zusammen verwendet, weil sie eine leistungsstarke und skalierbare Lösung für die Ausführung von PHP-basierten Web-Anwendungen bieten.
sudo apt-get install php8.1-fpm
sudo systemctl status php8.1-fpm # läuft der PHP-Service?

sudo nano /etc/nginx/sites-available/default
Folgendes muss angepasst werden:
- index.php zur Indexliste hinzufügen (Zeile 8)
- Entkommentieren der Zeilen 17, 18, 21, 24, 28, 29 und 30
Die Datei sollte dann so aussehen (sofern wir noch von einer unveränderten Grund-Installation ausgehen.):
server {
# Example PHP Nginx FPM config file
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
# Add index.php to setup Nginx, PHP & PHP-FPM config
index index.php index.html index.htm index.nginx-debian.html;
server_name _;
location / {
try_files $uri $uri/ =404;
}
# pass PHP scripts on Nginx to FastCGI (PHP-FPM) server
location ~ \.php$ {
include snippets/fastcgi-php.conf;
# Nginx php-fpm sock config:
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
# Nginx php-cgi config :
# Nginx PHP fastcgi_pass 127.0.0.1:9000;
}
# deny access to Apache .htaccess on Nginx with PHP,
# if Apache and Nginx document roots concur
location ~ /\.ht {
deny all;
}
} # End of PHP FPM Nginx config example
sudo nginx -t # um die Änderungen an der Konfiguration zu testen
sudo systemctl restart nginx # Neustart des Servers
PHPINFO() aufrufen
sudo echo "<?php phpinfo(); ?>" >> /var/www/html/info.php
Unter http://<hostname>/info.php erreichen wir dann die bekannte Übersicht mit allen wichtigen Angaben.

Weitere nützliche Informationen zum Finetuning findet man unter https://techexpert.tips/nginx/nginx-php-installation-ubuntu-linux/, https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-ubuntu-20-04
Pingback: Stack: Ubuntu, Webmin, nginx, PostgreSQL, Samba, Symfony - 1manfactory.com - Blog of Jürgen Schulze