Hervorragende Software und praktische Tutorials
Visuelle Generierung von Konfigurationsdateien für die Nginx-Konfiguration, grafisches Verwaltungskonfigurationstool nginxWebUI
Nginx-Konfiguration nginxWebUI Es handelt sich um eine visuelle grafische VerwaltungNginx-KonfigurationstoolSie können die Webseite verwenden, um die verschiedenen Funktionen von Nginx schnell zu konfigurieren, einschließlich HTTP-Protokollweiterleitung, TCP-Protokollweiterleitung, Reverse-Proxy, Lastausgleich, statischem HTML-Server, automatischer Beantragung, Erneuerung, Konfiguration von SSL-Zertifikaten usw. Nach der Konfiguration können Sie es mit einem Klick generierennginx.confDatei, und steuern Sie gleichzeitig nginx, um diese Datei zum Starten und Neuladen zu verwenden, wodurch die grafische Steuerungsschleife von nginx abgeschlossen wird.
nginxWebUI kann auch mehrere nginx-Servercluster verwalten. Sie können jederzeit mit einem Klick zum entsprechenden Server wechseln, um nginx zu konfigurieren. Sie können die Konfiguration eines Servers auch mit einem Klick mit anderen Servern synchronisieren, um die Clusterverwaltung zu vereinfachen.
Nginx selbst verfügt über komplexe Funktionen. NginxWebUI kann nicht alle Funktionen von Nginx abdecken, kann aber die Konfiguration der täglichen Funktionsnutzung von Nginx abdecken. Für Nginx-Konfigurationselemente, die nicht von der Plattform abgedeckt werden, können Sie benutzerdefinierte Parametervorlagen verwenden, um eindeutige Konfigurationsparameter in der Konfigurationsdatei zu generieren.
Nach der Bereitstellung dieses Projekts müssen Sie nicht mehr im Internet nach Konfigurationscodes suchen, um nginx zu konfigurieren, und Sie müssen keine SSL-Zertifikate mehr manuell beantragen und konfigurieren. Sie müssen dieses Projekt lediglich hinzufügen, löschen, ändern und einchecken, um nginx einfach zu konfigurieren und zu starten.
Github-Projektwebsite:https://github.com/cym1102/nginxWebUI
Offizielle Website von nginxWebUI:https://www.nginxwebui.cn/
Was ist Nginx
Nginx ist ein asynchroner Framework-Webserver, der auch als Reverse-Proxy, Load Balancer und HTTP-Cache eingesetzt werden kann. Die Software wurde vom russischen Programmierer Igor Sysoev entwickelt und 2004 erstmals veröffentlicht. 2011 wurde ein gleichnamiges Unternehmen gegründet, um Support-Dienstleistungen anzubieten. Am 11. März 2019 wurde Nginx von F5 Networks für 670 Millionen US-Dollar übernommen. Nginx ist kostenlose Open-Source-Software und steht unter einer BSD-ähnlichen Lizenz.
Offizielle Nginx-Website:https://nginx.org/
Nginx-Konfiguration nginxWebUI Technische Dokumentation
Bei diesem Projekt handelt es sich um ein auf Solon basierendes Websystem, und die Datenbank verwendet H2, sodass auf dem Server keine Datenbank installiert werden muss.
Dieses System beantragt Zertifikate über Let’s Encrypt und nutzt das Skript acme.sh zur automatisierten Beantragung und Erneuerung. Zertifikate mit aktivierter Erneuerung werden täglich um 2 Uhr morgens erneuert. Es werden nur Zertifikate verlängert, die älter als 60 Tage sind. Zertifikate können nur unter Linux ausgestellt werden.
Beim Hinzufügen der TCP/IP-Weiterleitungskonfiguration müssen einige niedrigere Versionen von nginx möglicherweise neu kompiliert werden. Das Stream-Modul kann durch Hinzufügen des Parameters --with-stream installiert werden. In Ubuntu 18.04 verfügt nginx jedoch bereits über ein Stream-Modul in der offiziellen Softwarebibliothek und muss nicht neu kompiliert werden. Wenn das System mit TCP-Weiterleitungselementen konfiguriert ist, werden die Konfigurationselemente von ngx_stream_module.so automatisch eingeführt. Ist es nicht aktiviert, wird es nicht eingeführt, um die ngnix-Konfigurationsdatei maximal zu optimieren.
jar-Installationsanweisungen
Installieren Sie die Java-Laufzeitumgebung und nginx am Beispiel des Ubuntu-Betriebssystems:
Ubuntu
apt update apt install openjdk-11-jdk apt install nginx
Centos
Yum install java-11-openjdk Yum install nginx
Windows
Laden Sie das JDK-Installationspaket herunter: https://www.oracle.com/java/technologies/downloads/
Laden Sie nginx herunter: http://nginx.org/en/download.html
- Konfigurieren der JAVA-Laufzeitumgebung
- JAVA_HOME: JDK-Installationsverzeichnis
- Pfad: JDK-Installationsverzeichnis\bin
- Starten Sie Ihren Computer neu
Laden Sie die neueste Version des nginxWebUI-Release-Pakets JAR herunter
Linux
mkdir /home/nginxWebUI/ wget -O /home/nginxWebUI/nginxWebUI.jar http://file.nginxwebui.cn/nginxWebUI-3.4.4.jar
Windows
Laden Sie es direkt über Ihren Browser herunter http://file.nginxwebui.cn/nginxWebUI-3.4.4.jar Nach D:/home/nginxWebUI/nginxWebUI.jar
Wenn es eine neue Version gibt, müssen Sie nur die Version im Pfad ändern
Starten Sie das nginxWebUI-Programm
Linux
nohup java -jar -Dfile.encoding=UTF-8 /home/nginxWebUI/nginxWebUI.jar --server.port=8080 --project.home=/home/nginxWebUI/ > /dev/null &
Windows
java -jar -Dfile.encoding=UTF-8 D:/home/nginxWebUI/nginxWebUI.jar --server.port=8080 --project.home=D:/home/nginxWebUI/
Parameterbeschreibung
--server.port belegt den Port und beginnt standardmäßig mit Port 8080
--project.home Projektkonfigurationsdateiverzeichnis, in dem Datenbankdateien, Zertifikatsdateien, Protokolle usw. gespeichert werden. Der Standardwert ist /home/nginxWebUI/
--spring.database.type=mysql Andere Datenbanken verwenden. Wenn dieses Feld nicht ausgefüllt ist, wird die lokale h2-Datenbank verwendet. MySQL ist optional.
--spring.datasource.url=jdbc:mysql://ip:port/nginxwebui-Datenbank-URL
--spring.datasource.username=Root-Datenbankbenutzer
--spring.datasource.password=Datenbankkennwort
Beachten Sie, dass der Linux-Befehl mit einem &-Zeichen endet, was darauf hinweist, dass das Projekt im Hintergrund ausgeführt wird
Docker-Installationsanweisungen
Dieses Projekt hat ein Docker-Image erstellt, das x86_64/arm64/arm v7-Plattformen unterstützt und nginx und nginxWebUI für die integrierte Verwaltung und den Betrieb von nginx enthält.
Installieren Sie die Docker-Containerumgebung:
Ubuntu
apt install docker.io
Centos
yum installiere Docker
Ziehen Sie das Bild
Docker Pull Cym1102/nginxwebui:neueste
Starten Sie den Container
docker run -itd \ -v /home/nginxWebUI:/home/nginxWebUI \ -e BOOT_OPTIONS="--server.port=8080" \ --privileged=true \ --net=host \ cym1102/nginxwebui:latest
Hinweis: Verwenden Sie beim Starten des Containers den Parameter --net=host, um den lokalen Port direkt zuzuordnen. Da der interne Nginx jeden beliebigen Port verwenden kann, müssen alle lokalen Ports zugeordnet werden.
Der Container muss den Pfad /home/nginxWebUI:/home/nginxWebUI abbilden. In diesem Pfad werden alle Projektdatendateien gespeichert, einschließlich Daten, Nginx-Konfigurationsdateien, Protokolle, Zertifikate usw. Dieses Verzeichnis stellt sicher, dass Projektdaten beim Upgrade des Images nicht verloren gehen. Bitte achten Sie auf die Sicherung.
Mit dem Parameter -e BOOT_OPTIONS können die Java-Startparameter ausgefüllt werden. Mit diesem Parameter können Sie die Portnummer ändern. --server.port belegt den Port. Wird dieser Parameter nicht ausgefüllt, wird standardmäßig mit Port 8080 gestartet.
Protokolle werden standardmäßig in /home/nginxWebUI/log/nginxWebUI.log gespeichert
Außerdem: Bei der Verwendung von Docker-Compose sieht die Konfigurationsdatei wie folgt aus:
Version: „3.2“ Dienste: nginxWebUi-Server: Image: cym1102/nginxwebui:latest Volumes: - Typ: Bind-Quelle: „/home/nginxWebUI“ Ziel: „/home/nginxWebUI“ Umgebung: BOOT_OPTIONS: „--server.port=8080“ Privileg: true Netzwerkmodus: „Host“
Kompilierungshinweise
Kompilieren und Verpacken mit Maven
mvn clean-Paket
Erstellen eines Images mit Docker
docker build -t nginxwebui:latest.
Start hinzufügen
Dienstkonfiguration bearbeiten
vim /etc/systemd/system/nginxwebui.service
[Einheit] Beschreibung=NginxWebUI Nach=syslog.target Nach=network.target [Dienst] Typ=einfach Benutzer=root Gruppe=root Arbeitsverzeichnis=/home/nginxWebUI ExecStart=/usr/bin/java -jar /home/nginxWebUI/nginxWebUI.jar Neustart=immer [Installieren] Gesucht von=multi-user.target
Dann ausführen
systemctl daemon-reload systemctl enable nginxwebui.service systemctl start nginxwebui.service
Nginx-Konfiguration nginxwebui-Nutzungsanweisungen
Videoanleitung: https://www.bilibili.com/video/BV18A4y1D7GZ
Demo-Adresse: http://test.nginxwebui.cn:7070
Benutzername: admin
Passwort: admin
Offen http://xxx.xxx.xxx.xxx:8080 Zur Startseite
Anmeldeseite, wenn Sie sie zum ersten Mal öffnen, werden Sie aufgefordert, das Administratorkonto zu initialisieren
Nach dem Aufrufen des Systems können Sie Administratorkonten in der Administratorverwaltung hinzufügen und ändern
In der HTTP-Parameterkonfiguration können Sie das HTTP-Projekt von nginx konfigurieren und HTTP-Weiterleitungen durchführen. Mehrere gängige Konfigurationen sind standardmäßig vorhanden, weitere erforderliche Konfigurationen können beliebig hinzugefügt, gelöscht, geändert und überprüft werden. Sie können die Protokollverfolgung aktivieren und Protokolldateien generieren.
In der TCP-Parameterkonfiguration können Sie die Stream-Projektparameter von nginx konfigurieren, in den meisten Fällen ist dies jedoch nicht erforderlich.
Im Reverse-Proxy können Sie den Reverse-Proxy von nginx konfigurieren, d. h. die Serverfunktion, die SSL-Funktion aktivieren, die PEM-Datei und die Schlüsseldatei direkt von der Webseite hochladen oder das im System angewendete Zertifikat verwenden, die http-zu-https-Funktion direkt aktivieren und das http2-Protokoll aktivieren
Im Load Balancing können Sie den Load Balancing von Nginx, also die Upstream-Funktion, konfigurieren. Im Reverse-Proxy-Management können Sie das Proxy-Ziel als konfigurierten Load Balancing auswählen.
Beim Hochladen statischer HTML-Dateien können Sie das komprimierte HTML-Paket direkt in den angegebenen Pfad hochladen. Nach dem Hochladen können Sie es direkt im Reverse-Proxy verwenden, wodurch der Schritt des Hochladens von HTML-Dateien unter Linux entfällt.
In der Zertifikatsverwaltung können Sie Zertifikate hinzufügen, ausstellen und erneuern. Nach Aktivierung der geplanten Erneuerung erneuert das System die bald ablaufenden Zertifikate automatisch. Hinweis: Das Zertifikat wird im DNS-Modus von acme.sh ausgestellt, der mit Alibaba Clouds aliKey und aliSecret verwendet werden muss. Bitte beantragen Sie zuerst aliKey und aliSecret.
Verwaltung von Sicherungsdateien. Hier können Sie die Version des Sicherungsverlaufs von nginx.cnf sehen. Wenn bei nginx ein Fehler auftritt, können Sie ein Rollback auf eine bestimmte Verlaufsversion durchführen.
Abschließend wird die Conf-Datei generiert, die manuell weiter bearbeitet werden kann. Nach der Bestätigung der korrekten Änderung kann die lokale Conf-Datei überschrieben und die Validierung sowie der Neustart durchgeführt werden. Sie können entweder eine einzelne nginx.conf-Datei generieren oder jede Konfigurationsdatei nach Domänennamen unter conf.d trennen.
Remote-Serververwaltung: Wenn mehrere Nginx-Server vorhanden sind, können Sie nginxWebUI auf allen bereitstellen, sich dann bei einem davon anmelden, die IP-Adresse sowie den Benutzernamen und das Kennwort anderer Server in der Remote-Verwaltung hinzufügen und alle Nginx-Server auf einer Maschine verwalten.
Bietet eine Ein-Klick-Synchronisierungsfunktion, mit der die Datenkonfigurations- und Zertifikatsdateien eines Servers mit anderen Servern synchronisiert werden können
Schnittstellenentwicklung
Dieses System bietet einen HTTP-Schnittstellenaufruf. Öffnen Sie http://xxx.xxx.xxx.xxx:8080/doc.html, um die Smart-Doc-Schnittstellenseite anzuzeigen.
Der Schnittstellenaufruf muss im HTTP-Anforderungsheader ein Token hinzufügen. Um das Token zu erhalten, müssen Sie zunächst die Berechtigung zum Aufrufen der Benutzeroberfläche in der Administratorverwaltung öffnen und dann die Schnittstelle zum Abrufen des Tokens mit dem Benutzernamen und dem Kennwort aufrufen, um das Token abzurufen.
Passwort wiederherstellen
Wenn Sie Ihr Anmeldekennwort vergessen oder die Zwei-Schritt-Verifizierung nicht speichern, können Sie dem folgenden Tutorial folgen, um Ihr Kennwort abzurufen und die Zwei-Schritt-Verifizierung zu deaktivieren.
1. Stoppen Sie nginxWebUI
pkill java
2. Führen Sie nginxWebUI.jar mit dem Parameter zum Abrufen des Kennworts aus
java -jar nginxWebUI.jar --project.home=/home/nginxWebUI/ --project.findPass=true
--project.home ist das Verzeichnis, in dem sich die Projektdateien befinden
--project.findPass, ob Benutzername und Passwort gedruckt werden sollen
Nach erfolgreichem Vorgang können Sie alle Benutzernamen und Passwörter ausdrucken und die Zwei-Schritt-Verifizierung deaktivieren
Openstar empfehlen