NginxWebUI Визуализация конфигурации Nginx генерирует файл конфигурации nginx.conf одним щелчком мыши

Nginx Web UI — это визуальный графический инструмент управления конфигурацией Nginx. Он позволяет быстро настроить различные функции Nginx через веб-страницу, включая переадресацию HTTP- и TCP-протокола, обратный прокси-сервер, балансировку нагрузки, статический HTML-сервер, автоматическое применение SSL-сертификатов, их продление и настройку, и т. д. После настройки вы можете создать файл nginx.conf одним щелчком мыши.

Генерация визуального файла конфигурации Nginx, графический инструмент управления nginxWebUI

Это визуальное графическое управлениеВы можете использовать веб-страницу для быстрой настройки различных функций nginx, включая переадресацию протокола http, переадресацию протокола tcp, обратный прокси-сервер, балансировку нагрузки, статический HTML-сервер, автоматическое применение сертификата ssl, его продление, настройку и т. д. После настройки вы можете сгенерироватьфайл, а также может управлять nginx, чтобы использовать этот файл для запуска и перезагрузки, завершая замкнутый цикл графического управления nginx.

nginxWebUI также может управлять несколькими кластерами серверов nginx. Вы можете в любой момент одним щелчком мыши переключиться на нужный сервер для настройки nginx или синхронизировать конфигурацию сервера с другими серверами одним щелчком мыши для упрощения управления кластером.

Сам Nginx обладает сложным функционалом. Nginx Web UI не может охватить все функции Nginx, но он может обеспечить ежедневное использование и настройку Nginx 90%. Для элементов конфигурации Nginx, не охватываемых платформой, можно использовать пользовательские шаблоны параметров для создания уникальных параметров в файле конфигурации.

После развертывания этого проекта вам больше не придётся искать коды конфигурации в интернете для настройки nginx, а также вручную запрашивать и настраивать SSL-сертификаты. Вам нужно лишь добавлять, удалять, изменять и регистрировать этот проект, чтобы легко настроить и запустить nginx.

Сайт проекта Github:https://github.com/cym1102/nginxWebUI

Официальный сайт nginxWebUI:https://www.nginxwebui.cn/

Что такое Nginx

Nginx — это асинхронный веб-сервер, который также может использоваться в качестве обратного прокси-сервера, балансировщика нагрузки и HTTP-кэша. Программное обеспечение было разработано российским программистом Игорем Сысоевым и впервые выпущено публично в 2004 году. В 2011 году была создана одноимённая компания для предоставления услуг поддержки. 11 марта 2019 года компания F5 Networks приобрела Nginx за 670 миллионов долларов. Nginx — бесплатное программное обеспечение с открытым исходным кодом, распространяемое на условиях лицензии, аналогичной BSD.

официальный сайт nginx:https://nginx.org/

Конфигурация Nginx Техническая документация nginxWebUI

Этот проект представляет собой веб-систему на основе Solon, а база данных использует H2, поэтому не требует установки базы данных на сервер.

Эта система подаёт заявку на сертификаты через Let's Encrypt и использует скрипт acme.sh для автоматической подачи заявки и продления. Сертификаты с включённой функцией продления будут обновляться ежедневно в 2:00. Будут обновлены только сертификаты старше 60 дней. Выпуск сертификатов поддерживается только в Linux.

При добавлении поддержки переадресации TCP/IP может потребоваться перекомпиляция некоторых старых версий Nginx и установка модуля stream с помощью параметра --with-stream. Однако в Ubuntu 18.04 модуль stream уже включён в официальный репозиторий Nginx, поэтому перекомпиляция не требуется. Если настроена переадресация TCP, система автоматически импортирует файл конфигурации ngx_stream_module.so; в противном случае он не импортируется, что обеспечивает максимальную оптимизацию файла конфигурации Nginx.

инструкции по установке jar

Установите среду выполнения Java и nginx, взяв в качестве примера операционную систему Ubuntu:

Убунту

apt update apt install openjdk-11-jdk apt install nginx

Centos

ням установи java-11-openjdk ням установи nginx

Окна

Загрузите установочный пакет JDK: https://www.oracle.com/java/technologies/downloads/
Скачать nginx: http://nginx.org/en/download.html

  • Настройка среды выполнения JAVA
  • JAVA_HOME : каталог установки JDK
  • Путь: каталог установки JDK\bin
  • Перезагрузите компьютер.

Загрузите последнюю версию jar-пакета релиза nginxWebUI

Линукс

mkdir /home/nginxWebUI/ wget -O /home/nginxWebUI/nginxWebUI.jar http://file.nginxwebui.cn/nginxWebUI-3.4.4.jar

Окна

Загрузите напрямую с помощью браузера http://file.nginxwebui.cn/nginxWebUI-3.4.4.jar В D:/home/nginxWebUI/nginxWebUI.jar

Если есть новая версия, вам нужно только изменить версию в пути

Запустите программу nginxWebUI

Линукс

nohup java -jar -Dfile.encoding=UTF-8 /home/nginxWebUI/nginxWebUI.jar --server.port=8080 --project.home=/home/nginxWebUI/ > /dev/null &

Окна

java -jar -Dfile.encoding=UTF-8 D:/home/nginxWebUI/nginxWebUI.jar --server.port=8080 --project.home=D:/home/nginxWebUI/

Описание параметров

--server.port занимает порт и по умолчанию начинается с порта 8080
--project.home каталог файлов конфигурации проекта, в котором хранятся файлы базы данных, файлы сертификатов, журналы и т. д., по умолчанию это /home/nginxWebUI/
--spring.database.type=mysql Использовать другие базы данных. Если этот параметр не указан, будет использоваться локальная база данных h2. MySQL необязателен.
--spring.datasource.url=jdbc:mysql://ip:port/nginxwebui URL-адрес базы данных
--spring.datasource.username=root пользователь базы данных
--spring.datasource.password=база данных паролей
Обратите внимание, что команда Linux заканчивается знаком &, что означает, что проект работает в фоновом режиме.

Инструкции по установке Docker

В рамках этого проекта был создан образ Docker, который поддерживает платформы x86_64/arm64/arm v7, а также включает в себя nginx и nginxWebUI для интегрированного управления и эксплуатации nginx.

Установите среду контейнера Docker:

Убунту

apt install docker.io

Centos

yum установить докер

Вытяните изображение

docker pull cym1102/nginxwebui:latest

Запустить контейнер

docker run -itd \ -v /home/nginxWebUI:/home/nginxWebUI \ -e BOOT_OPTIONS="--server.port=8080" \ --privileged=true \ --net=host \ cym1102/nginxwebui:latest

Примечание: При запуске контейнера используйте параметр --net=host для прямого подключения локального порта. Поскольку внутренний nginx может использовать любой порт, все локальные порты должны быть подключены.
Контейнер должен отображать путь /home/nginxWebUI:/home/nginxWebUI. Этот путь хранит все файлы данных проекта, включая данные, файлы конфигурации nginx, журналы, сертификаты и т. д. Этот каталог гарантирует сохранность данных проекта при обновлении образа. Обязательно сделайте резервную копию.
Параметр -e BOOT_OPTIONS можно использовать для заполнения параметров запуска Java, а также для изменения номера порта. --server.port задаёт порт. Если этот параметр не указан, порт по умолчанию — 8080.
По умолчанию журналы хранятся в /home/nginxWebUI/log/nginxWebUI.log.
Кроме того: при использовании docker-compose файл конфигурации выглядит следующим образом:

версия: "3.2" службы: nginxWebUi-server: образ: cym1102/nginxwebui:latest тома: - тип: bind источник: "/home/nginxWebUI" цель: "/home/nginxWebUI" среда: BOOT_OPTIONS: "--server.port=8080" привилегированный: true сетевой_режим: "host"

Примечания к компиляции

Компиляция и упаковка с использованием Maven

чистый пакет mvn

Создание образа с помощью Docker

docker build -t nginxwebui:latest .

Добавить запуск

Изменить конфигурацию сервиса

vim /etc/systemd/system/nginxwebui.service
[Unit] Описание=NginxWebUI После=syslog.target После=network.target [Service] Тип=simple Пользователь=root Группа=root Рабочий каталог=/home/nginxWebUI ExecStart=/usr/bin/java -jar /home/nginxWebUI/nginxWebUI.jar Перезапуск=always [Install] Требуется=multi-user.target

Затем выполните

systemctl daemon-reload systemctl enable nginxwebui.service systemctl start nginxwebui.service

Конфигурация Nginx, инструкции по использованию nginxwebui

Видеоурок: https://www.bilibili.com/video/BV18A4y1D7GZ
Адрес демонстрации: http://test.nginxwebui.cn:7070
Имя пользователя: администратор
Пароль: администратор

Открыть http://xxx.xxx.xxx.xxx:8080 Перейти на домашнюю страницу

NginxWebUI Визуализация конфигурации Nginx. Генерация файла конфигурации nginx.conf в один клик. 1

Страница входа. При первом открытии вам будет предложено инициализировать учетную запись администратора.

NginxWebUI Визуализация конфигурации Nginx. Генерация файла конфигурации nginx.conf в один клик-2

После входа в систему вы можете добавлять и изменять учетные записи администраторов в панели управления администратором.

NginxWebUI Визуализация конфигурации Nginx. Генерация файла конфигурации nginx.conf в один клик - 3

В конфигурации параметра http вы можете настроить проект http nginx и настроить переадресацию HTTP. Несколько распространённых конфигураций заданы по умолчанию, а другие необходимые конфигурации можно свободно добавлять, удалять, изменять и проверять. Установите флажок, чтобы включить отслеживание журналов и создание журналов.

NginxWebUI Визуализация конфигурации Nginx. Генерация файла конфигурации nginx.conf в один клик - 4

В конфигурации параметров TCP вы можете настроить параметры потокового проекта nginx, но в большинстве случаев вам не нужно это настраивать.

NginxWebUI Визуализация конфигурации Nginx. Генерация файла конфигурации nginx.conf в один клик - 5

В обратном прокси-сервере вы можете настроить функцию обратного прокси-сервера nginx, включить функцию SSL, загрузить файл PEM и файл ключа непосредственно с веб-страницы или использовать сертификат, примененный в системе, напрямую включить функцию http в https и включить протокол http2.

NginxWebUI Визуализация конфигурации Nginx. Генерация файла конфигурации nginx.conf в один клик - 6

В разделе балансировки нагрузки можно настроить балансировку нагрузки nginx, которая является функцией восходящего потока данных. В разделе управления обратным прокси-сервером можно выбрать целевой прокси-сервер в качестве настроенной балансировки нагрузки.

NginxWebUI Визуализация конфигурации Nginx. Генерация файла конфигурации nginx.conf в один клик - 7

При загрузке статического HTML-файла вы можете напрямую загрузить сжатый HTML-пакет по указанному пути. После загрузки вы можете использовать его непосредственно в обратном прокси-сервере, избегая необходимости загружать HTML-файлы в Linux.

NginxWebUI Визуализация конфигурации Nginx. Генерация файла конфигурации nginx.conf в один клик - 8

В разделе управления сертификатами вы можете добавлять, выпускать и продлевать сертификаты. После включения запланированного продления система будет автоматически продлевать сертификаты, срок действия которых подходит к концу. Примечание: для выпуска сертификатов используется DNS-режим acme.sh, который необходимо использовать с aliKey и aliSecret от Alibaba Cloud. Сначала подайте заявку на aliKey и aliSecret.

NginxWebUI Визуализация конфигурации Nginx. Генерация файла конфигурации nginx.conf в один клик - 9

Управление файлами резервных копий. Здесь вы можете увидеть версию истории резервного копирования nginx.cnf. Если в nginx возникнет ошибка, вы можете выполнить откат к определенной исторической версии.

NginxWebUI Визуализация конфигурации Nginx. Генерация файла конфигурации nginx.conf в один клик - 10

Наконец, генерируется файл конфигурации, который можно редактировать вручную. После подтверждения корректности изменений локальный файл конфигурации можно перезаписать, выполнить проверку и перезапуск. Вы можете создать один файл конфигурации nginx.conf или разделить файлы конфигурации по доменным именам и поместить их в каталог conf.d.

NginxWebUI Визуализация конфигурации Nginx. Генерация файла конфигурации nginx.conf в один клик - 11

Удаленное управление сервером: если у вас есть несколько серверов Nginx, вы можете развернуть Nginx Web UI на каждом из них, затем войти на один из них, добавить IP-адрес, имя пользователя и пароль других серверов в удаленное управление, и вы сможете управлять всеми серверами Nginx на одной машине.

Обеспечивает функцию синхронизации в один клик, которая позволяет синхронизировать конфигурацию данных и файлы сертификатов сервера с другими серверами.

Разработка интерфейса

Эта система обеспечивает вызов интерфейса http, откройте http://xxx.xxx.xxx.xxx:8080/doc.html, чтобы просмотреть страницу интерфейса smart-doc.

Вызов интерфейса должен добавить токен в заголовок HTTP-запроса. Чтобы получить токен, необходимо сначала открыть разрешение на вызов интерфейса пользователя в панели администратора, а затем вызвать интерфейс получения токена, указав имя пользователя и пароль.

NginxWebUI Визуализация конфигурации Nginx. Генерация файла конфигурации nginx.conf в один клик - 12

Восстановить пароль

Если вы забыли пароль для входа или не сохранили двухэтапную аутентификацию, вы можете следовать следующему руководству, чтобы восстановить пароль и отключить двухэтапную аутентификацию.

1. Остановите веб-интерфейс nginx

pkill java

2. Запустите nginxWebUI.jar с параметром получения пароля.

java -jar nginxWebUI.jar --project.home=/home/nginxWebUI/ --project.findPass=true

--project.home — каталог, в котором находятся файлы проекта

--project.findPass, следует ли выводить имя пользователя и пароль

После успешной операции все имена пользователей и пароли можно распечатать, а двухэтапную аутентификацию можно отключить.

 

1/5 - (2 голоса)

Один комментарий

Ответить

Ваш адрес электронной почты не будет опубликован. Обязательные поля помечены *