outil de configuration Web nginx
Groupe d'échange technique QQ 1 : 1106758598
Groupe d'échange technique QQ 2 : 560797506
Courriel : [email protected]
Adresse du site officiel : https://www.nginxwebui.cn
Adresse de la version professionnelle : https://pro.nginxwebui.cn
Gîte : https://gitee.com/cym1102/nginxWebUI
Github : https://github.com/cym1102/nginxWebUI
Tutoriel vidéo : https://www.bilibili.com/video/BV18A4y1D7GZ
Code QR de don WeChat
nginxWebUI est un outil de gestion graphique pour la configuration de nginx. Vous pouvez utiliser des pages Web pour configurer rapidement diverses fonctions de nginx, notamment le transfert de protocole HTTP, le transfert de protocole TCP, le proxy inverse, l'équilibrage de charge, le serveur HTML statique et l'application et le renouvellement automatiques du certificat SSL. , configuration, etc. Après la configuration, le fichier nginx.conf peut être généré en une seule fois. En même temps, nginx peut être contrôlé pour utiliser ce fichier pour démarrer et recharger, complétant ainsi le contrôle graphique en boucle fermée de nginx.
nginxWebUI peut également gérer plusieurs clusters de serveurs nginx. Vous pouvez basculer vers le serveur correspondant pour la configuration nginx à tout moment en un seul clic. Vous pouvez également synchroniser la configuration d'un certain serveur avec d'autres serveurs en un seul clic pour faciliter la gestion du cluster.
nginx lui-même a des fonctions complexes. nginxWebUI ne peut pas couvrir toutes les fonctions de nginx, mais il peut couvrir 90 % des configurations fonctionnelles quotidiennes de nginx. Pour les éléments de configuration nginx qui ne sont pas couverts par la plate-forme, vous pouvez utiliser des modèles de paramètres personnalisés pour générer des paramètres uniques dans le fichier. fichier de configuration.
Après avoir déployé ce projet, vous n'avez plus besoin de rechercher des codes de configuration en ligne pour configurer nginx. Vous n'avez plus besoin de demander et de configurer manuellement des certificats SSL. Il vous suffit d'ajouter, de supprimer, de modifier et d'archiver ce projet pour configurer et configurer facilement. démarrez nginx.
Ce projet est basé sur le système Web de Solon. La base de données utilise SQLite, il n'est donc pas nécessaire d'installer une base de données sur le serveur.
Ce système demande des certificats via Let's encrypt et utilise le script acme.sh pour l'application et le renouvellement automatisés. Les certificats qui permettent le renouvellement seront renouvelés à 2 heures du matin tous les jours. Seuls les certificats datant de plus de 60 jours seront renouvelés. publiés sous Linux sont pris en charge.
Lors de l'ajout de la prise en charge de la configuration du transfert TCP/IP, certaines versions inférieures de nginx devront peut-être être recompilées, et le module stream peut être utilisé en ajoutant le paramètre –with-stream pour spécifier l'installation. Cependant, sous Ubuntu 18.04, nginx dans le fichier. La bibliothèque de logiciels officielle possède déjà le module stream. , pas besoin de recompiler. Si l'élément de transfert TCP est configuré dans ce système, l'élément de configuration de ngx_stream_module.so sera automatiquement introduit. S'il n'est pas activé, il ne sera pas introduit. maximiser l'optimisation du fichier de configuration ngnix.
Adresse de la version professionnelle : https://pro.nginxwebui.cn
Fonction | Version professionnelle | Version open source |
---|---|---|
Configuration des paramètres de base | √ | √ |
configuration des paramètres http | √ | √ |
Configuration du proxy inverse | √ | √ |
Configuration des paramètres de flux | √ | √ |
Configuration de l'équilibrage de charge | √ | √ |
Modèle de paramètres | √ | √ |
Téléchargement de page Web statique | √ | √ |
Gestion des fichiers de mots de passe | √ | √ |
IP sur liste noire | √ | √ |
Demande de certificat | √ | √ |
Documentation de l'interface API | √ | √ |
Gestion à distance | √ | √ |
Gestion unifiée des nœuds et des groupes | √ | × |
Synchronisation unifiée des fichiers de configuration des nœuds | √ | × |
Collecte de données d'informations sur les nœuds | √ | × |
Statistiques sur l'état du nœud | √ | × |
Configuration du cache | √ | × |
collecte de journaux nginx | √ | × |
affichage du journal nginx | √ | × |
statistiques du journal nginx | √ | × |
statistiques de trafic nginx | √ | × |
En prenant le système d'exploitation Ubuntu comme exemple,
Remarque : ce projet nécessite que les commandes système soient exécutées sous l'utilisateur root, ce qui est extrêmement facile à exploiter par les pirates. Veuillez vous assurer de remplacer le mot de passe par un mot de passe complexe.
1. Installez l'environnement Java et nginx
Ubuntu :
apt update
apt install openjdk-11-jdk
apt install nginx
Centos :
yum install java-11-openjdk
yum install nginx
Fenêtres :
下载JDK安装包 https://www.oracle.com/java/technologies/downloads/
下载nginx http://nginx.org/en/download.html
配置JAVA环境变量
JAVA_HOME : JDK安装目录
Path : JDK安装目录bin
重启电脑
2. Téléchargez la dernière version du package jar
Linux: mkdir /home/nginxWebUI/
wget -O /home/nginxWebUI/nginxWebUI.jar https://gitee.com/cym1102/nginxWebUI/releases/download/4.2.5/nginxWebUI-4.2.5.jar
Windows: 直接使用浏览器下载 https://gitee.com/cym1102/nginxWebUI/releases/download/4.2.5/nginxWebUI-4.2.5.jar 到 D:/home/nginxWebUI/nginxWebUI.jar
S'il existe une nouvelle version, il vous suffit de modifier la version dans le chemin.
3. Démarrez le programme
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/
Description des paramètres (tous facultatifs)
--server.port occupe le port, commence par le port 8080 par défaut
--project.home répertoire du fichier de configuration du projet, qui stocke les fichiers de base de données, les fichiers de certificat, les journaux, etc., la valeur par défaut est /home/nginxWebUI/
--spring.database.type=mysql Utiliser d'autres bases de données, laissez-le vide pour utiliser la base de données SQLite locale, mysql facultatif
--spring.datasource.url=jdbc:mysql://ip:port/nginxwebui URL de la base de données
--spring.datasource.username=utilisateur racine de la base de données
--spring.datasource.password=passer le mot de passe de la base de données
Notez que les commandes Linux ajoutent une esperluette à la fin pour indiquer que le projet s'exécute en arrière-plan.
Ce projet a produit une image Docker qui prend en charge la plate-forme x86_64/arm64/arm v7, notamment nginx et nginxWebUI, et intègre la gestion et le fonctionnement de nginx.
1. Installer l'environnement de conteneur Docker
Ubuntu :
apt install docker.io
Centos :
yum install docker
2. Tirez l'image :
docker pull cym1102/nginxwebui:latest
或者
docker pull registry.cn-hangzhou.aliyuncs.com/cym19871102/nginxwebui:latest
3. Démarrez le conteneur :
docker run -itd
-v /home/nginxWebUI:/home/nginxWebUI
-e BOOT_OPTIONS="--server.port=8080"
--net=host
--restart=always
cym1102/nginxwebui:latest
或者
docker run -itd
-v /home/nginxWebUI:/home/nginxWebUI
-e BOOT_OPTIONS="--server.port=8080"
--net=host
--restart=always
registry.cn-hangzhou.aliyuncs.com/cym19871102/nginxwebui:latest
Avis:
Veuillez utiliser le paramètre --net=host lors du démarrage du conteneur pour mapper directement le port local. Étant donné que nginx interne peut utiliser n'importe quel port, tous les ports de la machine locale doivent être mappés.
Le conteneur doit mapper le chemin /home/nginxWebUI:/home/nginxWebUI:/home/nginxWebUI Tous les fichiers de données du projet sont stockés dans ce chemin, y compris les bases de données, les fichiers de configuration nginx, les journaux, les certificats, etc. Lors de la mise à niveau de l'image, ce répertoire peut. assurez-vous que les données du projet ne sont pas perdues. Veuillez noter Sauvegarde.
Le paramètre -e BOOT_OPTIONS peut remplir les paramètres de démarrage Java et vous pouvez utiliser ce paramètre pour modifier le numéro de port.
--server.port occupe le port S'il n'est pas renseigné, il démarrera sur le port 8080 par défaut.
Autre : le fichier de configuration lors de l'utilisation de docker-compose est le suivant
version: "3.2"
services:
nginxWebUi-server:
image: cym1102/nginxwebui:latest
volumes:
- type: bind
source: "/home/nginxWebUI"
target: "/home/nginxWebUI"
environment:
BOOT_OPTIONS: "--server.port=8080"
network_mode: "host"
restart: always
或者
version: "3.2"
services:
nginxWebUi-server:
image: registry.cn-hangzhou.aliyuncs.com/cym19871102/nginxwebui:latest
volumes:
- type: bind
source: "/home/nginxWebUI"
target: "/home/nginxWebUI"
environment:
BOOT_OPTIONS: "--server.port=8080"
network_mode: "host"
restart: always
Utiliser maven pour compiler et empaqueter
mvn clean package
Créer une image à l'aide de Docker
docker build -t nginxwebui:latest .
vim /etc/systemd/system/nginxwebui.service
[Unit]
Description=NginxWebUI
After=syslog.target
After=network.target
[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/home/nginxWebUI
ExecStart=/usr/bin/java -jar -Dfile.encoding=UTF-8 /home/nginxWebUI/nginxWebUI.jar
Restart=always
[Install]
WantedBy=multi-user.target
exécuter après
systemctl daemon-reload
systemctl enable nginxwebui.service
systemctl start nginxwebui.service
Ouvrez http://xxx.xxx.xxx.xxx:8080 pour accéder à la page d'accueil
Page de connexion, lorsque vous l'ouvrez pour la première fois, il vous sera demandé d'initialiser le compte administrateur.
Après être entré dans le système, vous pouvez ajouter et modifier le compte administrateur dans la gestion des administrateurs.
Dans la configuration des paramètres http, vous pouvez configurer le projet http de nginx pour le transfert http. Plusieurs configurations courantes sont données par défaut. D'autres configurations requises peuvent être ajoutées, supprimées, modifiées et vérifiées librement. Vous pouvez cocher pour activer le suivi des journaux pour générer un journal. fichiers.
Les paramètres du projet de flux de nginx peuvent être configurés dans la configuration des paramètres TCP, mais dans la plupart des cas, ce n'est pas nécessaire.
Dans le proxy inverse, vous pouvez configurer le proxy inverse de nginx, c'est-à-dire la fonction serveur. Vous pouvez activer la fonction SSL, télécharger des fichiers pem et des fichiers de clé directement depuis la page Web, ou utiliser le certificat appliqué dans le système pour activer directement le. Fonction http vers https, vous pouvez également activer le protocole http2.
Dans l'équilibrage de charge, vous pouvez configurer la fonction d'équilibrage de charge de nginx, qui est la fonction en amont. Dans la gestion du proxy inverse, vous pouvez choisir la cible du proxy comme équilibrage de charge configuré.
Dans le téléchargement de fichiers statiques HTML, vous pouvez télécharger directement le package HTML compressé vers le chemin spécifié. Après le téléchargement, il peut être utilisé directement dans le proxy inverse, éliminant ainsi le besoin de télécharger des fichiers HTML sous Linux.
Les certificats peuvent être ajoutés dans la gestion des certificats, puis émis et renouvelés. Une fois le renouvellement programmé activé, le système renouvellera automatiquement le certificat qui est sur le point d'expirer. Remarque : Le certificat est émis en utilisant le mode DNS d'acme.sh. qui doit coopérer avec aliKey et aliSecret d'Alibaba Cloud pour être utilisé, veuillez d'abord demander aliKey et aliSecret.
Gestion des fichiers de sauvegarde, vous pouvez voir ici la version historique de sauvegarde de nginx.cnf Lorsqu'une erreur se produit dans nginx, vous pouvez choisir de revenir à une certaine version historique.
Le fichier de configuration est enfin généré et d'autres modifications manuelles peuvent être apportées ici. Après avoir confirmé que les modifications sont correctes, le fichier de configuration local peut être écrasé, vérifié et redémarré. Vous pouvez choisir de générer un seul fichier nginx.conf ou de les séparer. fichier de configuration dans conf selon le nom de domaine .d sous.
Gestion des serveurs à distance, s'il existe plusieurs serveurs nginx, vous pouvez déployer nginxWebUI sur chacun d'eux, puis vous connecter à l'un d'eux, ajouter l'adresse IP, le nom d'utilisateur et le mot de passe des autres serveurs dans la gestion à distance, et vous pouvez gérer tous les serveurs nginx sur une machine.
Fournit une fonction de synchronisation en un clic, qui peut synchroniser la configuration des données et les fichiers de certificat d'un certain serveur avec d'autres serveurs
Ce système fournit des appels d'interface http. Ouvrez http://xxx.xxx.xxx.xxx:8080/doc.html pour afficher la page de l'interface smart-doc.
L'appel d'interface doit ajouter le jeton dans l'en-tête de la requête http. Pour obtenir le jeton, vous devez d'abord ouvrir l'autorisation d'appel de l'interface utilisateur dans la gestion de l'administrateur, puis appeler l'interface du jeton via le nom d'utilisateur et le mot de passe pour obtenir le jeton. .
Si vous oubliez votre mot de passe de connexion ou n'enregistrez pas le code QR de vérification en deux étapes, vous pouvez suivre le tutoriel ci-dessous pour réinitialiser votre mot de passe et désactiver la vérification en deux étapes.
Méthode d'installation 1.jar, exécutez la commande
java -jar /home/nginxWebUI/nginxWebUI.jar --project.home=/home/nginxWebUI/ --project.findPass=true
--project.home est le répertoire où se trouve le fichier de projet, ou le répertoire de mappage lors de l'utilisation d'un conteneur Docker
--project.findPass indique s'il faut imprimer le nom d'utilisateur et le mot de passe
Après une opération réussie, vous pouvez réinitialiser et imprimer tous les noms d'utilisateur et mots de passe et désactiver la vérification en deux étapes.
2. Méthode d'installation de Docker, exécutez d'abord la commande pour entrer dans le conteneur Docker, où {ID} est l'identifiant du conteneur
docker exec -it {ID} /bin/sh
Exécutez à nouveau la commande
java -jar /home/nginxWebUI.jar --project.findPass=true
Après une opération réussie, vous pouvez réinitialiser et imprimer tous les noms d'utilisateur et mots de passe et désactiver la vérification en deux étapes.