So richten Sie NGINX auf dem Mac zum Testen ein

Müssen Sie die Website, die Sie entwickeln, testen, haben aber nur Ihren Mac zur Verfügung? Sie müssen keinen separaten Server oder eine virtuelle Maschine erstellen, nur um Ihre Website zu testen. Eine schnelle Option besteht darin, NGINX auf dem Mac zu installieren, und Sie sollten einen Webserver auf Ihrem Computer haben.

Bleiben Sie dran und erfahren Sie, wie Sie NGINX auf dem Mac installieren und einrichten. Sie lernen verschiedene Möglichkeiten kennen, NGINX zu installieren, damit Sie die Methode auswählen können, die für Sie funktioniert. Außerdem lernen Sie die grundlegenden Konfigurationselemente kennen, die Ihnen helfen, mit dem Testen zu beginnen.

Voraussetzungen

In diesem Tutorial wird eine praktische Demonstration durchgeführt. Wenn Sie mitmachen möchten, stellen Sie sicher, dass Sie Folgendes haben:

NGINX auf dem Mac installieren

Sie können NGINX auf dem Mac auf zwei Arten installieren – durch Kompilieren des Quellcodes oder mit einem Paketmanager. Eine Methode ist nicht besser als die andere. Welche Methode Sie wählen, hängt von Ihren Anforderungen ab.

In den folgenden Abschnitten erfahren Sie, wie Sie beide NGINX-Installationsmethoden durchführen können.

Methode 1: Kompilieren und Installieren aus dem Quellcode

Das Kompilieren und Installieren von NGINX aus dem Quellcode ermöglicht es Ihnen, Module oder Sicherheitspatches in Ihre NGINX-Installation einzubeziehen. Sie können zum Beispiel NGINX kompilieren, um das Real-Time Messaging Protocol (RTMP)-Modul einzuschließen, wenn Sie einen Streaming-Server einrichten.

Anpassungsfähigkeit erfordert mehr Schritte und beinhaltet die manuelle Installation von Abhängigkeiten. Befolgen Sie diese Schritte, um NGINX auf dem Mac aus dem Quellcode zu installieren.

1. Öffnen Sie ein Terminal auf Ihrem Mac.

2. Führen Sie den folgenden Befehl aus, um ein Arbeitsverzeichnis unter Ihrem Benutzerverzeichnis zu erstellen. Dieses Verzeichnis enthält alle Quelldateien, die Sie für die NGINX-Installation benötigen.

# Erstellen Sie einen Quellordner unter Ihrem Benutzerverzeichnis
mkdir ~/src && cd ~/src

3. Führen Sie anschließend die Befehle unten aus, um die neueste Perl Compatible Regular Expressions (PCRE)-Version herunterzuladen (curl) und zu extrahieren (tar). Die NGINX Core– und Rewrite-Module erfordern PCRE. Die neueste PCRE-Version zum Zeitpunkt dieses Schreibens ist 8.45.

# PCRE-Quelle herunterladen und extrahieren
curl -OL https://ftp.exim.org/pub/pcre/pcre-8.45.tar.gz
tar -xf pcre-8.45.tar.gz && rm pcre-8.45.tar.gz

4. Führen Sie jeden der folgenden Befehle aus, um die OpenSSL-Quelle herunterzuladen (curl) und SSL-Unterstützung hinzuzufügen. Dies ist ein Beispiel für die Anpassung des NGINX-Builds. Die neueste OpenSSL-Version zum Zeitpunkt dieses Schreibens ist 1.1.1m.

# OpenSSL-Quelldateien herunterladen und extrahieren
curl -OL http://www.openssl.org/source/openssl-1.1.1m.tar.gz
tar -xf openssl-1.1.1m.tar.gz && rm openssl-1.1.1m.tar.gz

5. Nach dem Herunterladen der Anforderungen führen Sie die unten stehenden Befehle aus, um die NGINX-Quellen herunterzuladen (curl) und zu extrahieren (tar). Die neueste stabile Version zum Zeitpunkt des Schreibens ist 1.20.2.

# NGINX-Quelldateien herunterladen und extrahieren
curl -OL http://nginx.org/download/nginx-1.20.2.tar.gz
tar -xf nginx-1.20.2.tar.gz && rm nginx-1.20.2.tar.gz
# Dateien/Ordner im Arbeitsverzeichnis auflisten
ls -l

Zu diesem Zeitpunkt sollten Sie insgesamt drei neue Verzeichnisse haben, wie unten gezeigt.

Listing the source folders

6. Führen Sie nun die folgenden Befehle aus, um NGINX zu kompilieren (make) und zu installieren.

# Wechseln Sie zum NGINX-Quellordner
cd nginx-1.20.2

# Erstellen Sie die NGINX-Konfiguration
## Parameter:
## --with-pcre=../pcre-8.45/ : Gibt den PCRE-Quellort an
## --with-http_ssl_module : Aktiviert die HTTPS-Unterstützung
## --with-openssl=../openssl-1.1.1m/ : Gibt die OpenSSL-Quelle an. Erforderlich für das http_ssl_module
./configure --with-pcre=../pcre-8.45/ --with-http_ssl_module --with-openssl=../openssl-1.1.1m/

# Kompilieren Sie NGINX
make
# Installieren Sie NGINX
sudo make install

7. Führen Sie anschließend den folgenden Befehl aus, um den NGINX-Pfad zum System-$PATH hinzuzufügen, indem Sie den vollständigen Pfad /usr/local/nginx zu /etc/paths hinzufügen. Nach diesem Schritt können Sie nginx-Befehle ohne Angabe des vollständigen Pfads ausführen.

# Fügen Sie NGINX zur Datei /etc/paths hinzu
echo /usr/local/nginx/sbin | sudo tee -a /etc/paths

8. Beenden Sie das Terminal, indem Sie CMD+Q drücken, und öffnen Sie eine neue Terminal-Sitzung, um den neuen $PATHS anzuwenden.

9. Führen Sie den unten stehenden Befehl nginx aus, um NGINX zu starten, da der NGINX-Server nach der Installation nicht automatisch startet.

sudo nginx

10. Bestätigen Sie abschließend, dass NGINX ausgeführt wird. Öffnen Sie ein Browserfenster und geben Sie die Adresse HTTP://localhost ein. Sie sollten die Standard-NGINX-Begrüßungsseiten wie unten sehen.

Die Installation von NGINX aus Quellen setzt den standardmäßigen Hörport 80.

Accessing the NGINX default web page

Weil Sie NGINX auf Mac von Quellen als root installiert haben, müssen Sie jeden nginx-Befehl, den Sie in Zukunft ausgeben, mit sudo voranstellen.

Methode 2: Installation von NGINX mit Homebrew

Die Installation von NGINX mit Homebrew ist bequemer und weniger fehleranfällig. Diese Methode installiert Abhängigkeiten automatisch. Wenn Sie die NGINX-Installation nicht anpassen müssen, ist diese Methode die schnellste Option und erfordert nur einen Befehl zur Installation!

Um NGINX auf Mac mit Homebrew zu installieren, gehen Sie wie folgt vor.

1. Öffnen Sie eine neue Terminal-Sitzung.

2. Führen Sie den unten stehenden Befehl brew aus, um NGINX zu installieren.

brew install nginx

Können Sie NGINX als root mit Homebrew installieren? – Nein (nicht offiziell). Der brew install-Befehl weigert sich, mit dem sudo-Präfix ausgeführt zu werden. Wenn Sie es versuchen, erhalten Sie die unten stehende Fehlermeldung.

„Er“ oder: Das Ausführen von Homebrew als Root ist äußerst gefährlich und wird nicht mehr unterstützt. Da Homebrew bei der Installation keine Berechtigungen ablegt, würden Sie allen Build-Skripten vollen Zugriff auf Ihr System gewähren.“

3. Nach der Installation rufen Sie den folgenden Befehl auf, um NGINX zu starten. Dieser Befehl führt NGINX als Hintergrunddaemon aus.

Standardmäßig installiert Homebrew NGINX in /usr/local/Cellar/nginx/<version> und erstellt symbolische Links unter /usr/local/opt/. Die nginx-Binärdatei hat einen symbolischen Link in /usr/local/bin, und dieses Verzeichnis ist bereits im $PATH enthalten.

nginx

Um NGINX ohne Hintergrunddienst auszuführen, verwenden Sie stattdessen den folgenden Befehl. Dieser Befehl gibt eine globale Direktive aus, um nginx nicht als Daemon auszuführen.

nginx -g „daemon off;“

Sie können NGINX beenden, indem Sie in diesem Modus STRG+C auf der Konsole drücken.

4. Schließlich rufen Sie den curl-Befehl unten auf, um zu bestätigen, dass NGINX jetzt läuft.

Die Installation von NGINX über Homebrew setzt den Standard-Hörport auf 8080. Diese Standardportzuweisung gewährleistet, dass Sie nginx ohne sudo ausführen können.

curl HTTP://localhost:8080

Wie Sie unten sehen können, hat der curl-Befehl die Standard-NGINX-Webseite heruntergeladen, was darauf hinweist, dass der Server läuft.

Testing NGINX with curl

NGINX für Tests einrichten

Bisher haben Sie NGINX installiert, aber es läuft noch mit den Standard-Einstellungen. Bevor Sie Ihre Website testen, sollten Sie einige grundlegende Änderungen in Betracht ziehen.

Möchten Sie, dass NGINX beim Starten des Computers automatisch gestartet wird? Wo werden Sie die Dateien für die Website speichern, die Sie testen? Sollten Sie die standardmäßige Portzuweisung beibehalten?

Das sind einige der Punkte, die Sie nach der Installation von NGINX konfigurieren müssen, was Sie in den folgenden Abschnitten lernen werden.

Die nachfolgenden Abschnitte zeigen die Schritte zur Konfiguration der mit Homebrew installierten NGINX-Konfigurationsdatei(en), sofern die Anweisungen nicht explizit anders lauten.

Anpassen des Server-Listening-Ports

Je nach Installationsmethode wäre der standardmäßige Listening-Port entweder 80 oder 8080. Port 8080 ist in der Regel für Tests und Entwicklung akzeptabel. Aber Sie möchten möglicherweise den Port in einigen Fällen trotzdem ändern, vielleicht aufgrund von Konflikten mit anderen Diensten oder einfach so.

Was auch immer Ihr Grund ist, befolgen Sie die folgenden Schritte, um den standardmäßigen NGINX-Listening-Port zu ändern.

1. Führen Sie zunächst den unten stehenden Befehl aus, um das Stoppsignal (-s stop) zu senden und sicherzustellen, dass NGNIX nicht läuft. nginx -s stop

nginx -s stop

2. Führen Sie als Nächstes den Befehl nginx unten aus, um den Pfad zur NGINX-Konfigurationsdatei herauszufinden.

nginx -t

Das Ergebnis unten zeigt, dass die Konfigurationsdatei unter /usr/local/etc/nginx/nginx.conf liegt.

Testing the NGINX configuration file

3. Öffnen Sie die Konfigurationsdatei in Ihrem bevorzugten Texteditor, wie zum Beispiel nano, im unten stehenden Beispiel.

nano /usr/local/etc/nginx/nginx.conf

4. Suchen Sie nun die Zeile listen innerhalb des server {}-Blocks. Wie unten zu sehen ist, beträgt der Wert des Hörlimits 8080.

NGINX listening port number

5. Ändern Sie die Portnummer des listen auf einen anderen eindeutigen Portwert, wie z.B. 9000, in diesem Beispiel. Speichern Sie die Änderung und verlassen Sie die Datei.

Changing the listening port number

6. Führen Sie nun den folgenden nginx-Befehl erneut aus, um NGINX erneut zu starten.

nginx

7. Öffnen Sie schließlich ein neues Browserfenster und navigieren Sie zu HTTP://localhost:9000. NGINX sollte nun die Website auf Port 9000 bedienen, wie unten gezeigt.

NGINX running on port 9000

Verweis auf Ihr Entwicklungs-Webverzeichnis

Standardmäßig bedient die Installation von NGINX auf dem Mac das Webverzeichnis von /usr/share/nginx/html (Quell-installiert) oder /usr/local/Cellar/nginx/<version>/html (Hombrew-installiert).

Aber was ist, wenn sich Ihre Website-Dateien an einem anderen Ort befinden, möglicherweise auf einem anderen Laufwerk? Keine Sorge. Befolgen Sie die folgenden Schritte, um NGINX auf Ihr Entwicklungs-Webverzeichnis zu verweisen.

1. Führen Sie zunächst die unten stehenden Befehle aus, um NGINX zu stoppen und die Konfigurationsdatei im Texteditor zu öffnen, wie Sie es im Abschnitt „Anpassen des Server-Hörports“ (Schritte eins bis drei) getan haben.

# Stoppen Sie NGINX
nginx -s stop
# Führen Sie einen Test aus, um die Konfigurationsdatei zu finden
nginx -t
# Öffnen Sie die Konfigurationsdatei zum Bearbeiten
nano /usr/local/etc/nginx/nginx.conf

2. Suchen Sie im Texteditor nach der Zeile, die root html; innerhalb des server {}-Blocks angibt.

The default web directory location

3. Bearbeiten Sie den Wert von root und ändern Sie ihn in Ihren benutzerdefinierten Ordner. In diesem Beispiel befindet sich das Webverzeichnis unter /Volume/DevData/testweb. Speichern Sie die Änderungen und verlassen Sie den Editor.

Die Testwebsite in diesem Beispiel ist eine statische Website namens Dimensions, heruntergeladen von HTML5 Up. Diese Beispielseite ist kostenlos zum Download und zur Verwendung, unterliegt jedoch der Creative Commons Attribution 3.0 Lizenz.

Changing the default web directory location

4. Starten Sie den NGINX-Server jetzt erneut.

nginx

5. Schließlich, durchsuchen Sie die Adresse HTTP://localhost:9000 mit Ihrem Webbrowser. NGINX serviert nun Ihre Testwebsite aus Ihrem benutzerdefinierten Webverzeichnis wie im Screenshot unten dargestellt.

Testing if NGINX serves a custom web directory location

NGINX-Autostart für eine quellbasierte Installation aktivieren

NGINX startet standardmäßig nicht automatisch, unabhängig von Ihrer gewählten Installationsmethode. In der Entwicklung oder beim Testen ist ein automatischer Start von NGINX möglicherweise nicht erforderlich. Wenn Sie jedoch müssen, können Sie NGINX so konfigurieren, dass es beim Booten über den launchd-Prozess ausgeführt wird.

Sie können NGINX entweder für eine installationsbasierte oder eine homebrew-basierte Installation automatisch starten lassen. Für diese Demo beginnen wir mit der installationsbasierten Installation.

Um NGINX für eine installationsbasierte Installation automatisch zu starten, befolgen Sie diese Schritte.

1. Führen Sie den folgenden Befehl touch aus, um eine neue Property-Liste (PLIST)-Datei für NGINX zu erstellen.

Der Speicherort /Library/LaunchDaemons enthält die globalen Daemons, die im Namen des Root-Benutzers oder eines angegebenen Benutzers ausgeführt werden. Der Dateiname kann beliebig sein, aber es wäre hilfreich, wenn der Dateiname den Namen des zu erstellenden Daemons enthalten würde.

sudo touch /Library/LaunchDaemons/ata.nginx.plist

2. Öffnen Sie nun die PLIST-Datei zum Bearbeiten.

sudo nano /Library/LaunchDaemons/ata.nginx.plist

3. Kopieren Sie den folgenden Code und fügen Sie ihn in den Texteditor ein. Speichern Sie die Datei und beenden Sie den Editor.

Kurz gesagt, der folgende Code definiert einen Daemon mit dem Namen ata.nginx. Das auszuführende Programm ist /usr/local/nginx/sbin/nginx und der Wert RunAtLoad bedeutet, dass das Programm beim Start des Computers ausgeführt wird.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Label</key>
        <string>ata.nginx</string>
				<key>Program</key>
				<string>/usr/local/nginx/sbin/nginx</string>
        <key>RunAtLoad</key>
        <true/>
</dict>
</plist>

4. Führen Sie abschließend den unten stehenden launchctl-Befehl aus, um den Daemon zu laden. Dieser Befehl startet NGINX sofort. Von diesem Zeitpunkt an wird NGINX automatisch nach jedem Neustart des Computers gestartet.

sudo launchctl load -w /Library/LaunchDaemons/ata.nginx.plist

Angenommen, Sie ändern Ihre Meinung und möchten die automatische Startfunktion von NGINX deaktivieren, führen Sie den unten stehenden Befehl aus. Dieser Befehl stoppt und deaktiviert den autostart von NGINX.

sudo launchctl unload -w /Library/LaunchDaemons/ata.nginx.plist

Aktivieren des NGINX Autostarts für eine auf Homebrew basierende Installation

Im Gegensatz zur installationsbasierten Methode müssen Sie bei einer auf Homebrew basierenden NGINX-Installation nur einen Befehl ausführen, um das Autostartverhalten von NGINX zu aktivieren oder zu deaktivieren. Ist das nicht praktisch?

Führen Sie den unten stehenden Befehl aus, um den NGINX-Autostart zu aktivieren. Der start-Befehl startet NGINX sofort und meldet ihn zum Start bei Boot an.

sudo brew services start nginx

Nach Ausführung des Befehls erhalten Sie eine ähnliche Ausgabe wie im Bild unten.

Starting the NGNIX service

Um den NGINX-Autostart zu deaktivieren, führen Sie den unten stehenden Befehl aus. Wie Sie sehen können, ist der einzige Teil des Befehls, der geändert werden muss, von start zu stop. Dieser Befehl beendet den NGINX-Server sofort und ordnungsgemäß.

sudo brew services stop nginx

Fazit

Da haben Sie es! Die Einrichtung von NGINX auf dem Mac ist eine sichere Möglichkeit, einen Webserver schnell für Tests bereitzustellen. Sie haben Installationsmöglichkeiten basierend auf Ihren Einrichtungsanforderungen, und das Anpassen der Einstellungen erfolgt schnell über Klartext-Konfigurationsdateien – es sind keine speziellen Tools erforderlich.

NGINX beschränkt Tests und Ausführungen nicht auf eine einzige Website. Sie können mehrere Entwicklungsdomänen und Websites gleichzeitig ausführen, ohne sich gegenseitig zu beeinträchtigen. Oder wenn Sie abenteuerlustig sind, könnten Sie auch NGINX in Docker auf dem Mac ausführen!

Source:
https://adamtheautomator.com/nginx-on-mac/