Инструмент веб-конфигурирования Nginx
Группа QQ1: 1106758598
Группа QQ2: 560797506
Электронная почта: cym1102@qq.com
Официальный сайт: http://www.nginxwebui.cn
Адрес профессиональной версии: https://pro.nginxwebui.cn
Gitee: https://gitee.com/cym1102/nginxWebUI
GitHub: https://github.com/cym1102/nginxWebUI
Видео-инструкция: https://www.bilibili.com/video/BV18A4y1D7GZ
Пожертвование через WeChat:
NginxWebUI — это графический инструмент управления конфигурацией Nginx. Вы можете использовать веб-страницы для быстрой настройки различных функций Nginx, включая HTTP-перенаправление, TCP-перенаправление, обратное прокси-соединение, балансировку нагрузки, сервер статических HTML-страниц, автоматическое применение сертификата SSL, его обновление, настройку и т.д. После настройки можно сгенерировать файл конфигурации nginx.conf
, который позволяет контролировать запуск и перезагрузку Nginx, завершая круговой процесс графического управления.
Веб-интерфейс управления Nginx позволяет управлять несколькими кластерами серверов Nginx. Вы можете переключаться между различными серверами для настройки конфигураций Nginx в любое время. Также вы можете синхронизировать конфигурацию одного сервера со всеми остальными серверами одним щелчком мыши, что облегчает управление кластером.
Веб-интерфейс управления Nginx не покрывает все функции Nginx, но охватывает около 90% ежедневных конфигураций Nginx. Если какие-то параметры конфигурации Nginx не поддерживаются платформой, вы можете использовать шаблоны пользовательских параметров для генерации уникальных параметров конфигурации в файле conf
.
После установки этого проекта вам больше не придется искать код конфигурации в интернете, а также нет необходимости вручную получать и настраивать сертификаты SSL. Теперь достаточно добавлять, удалять, изменять и проверять конфигурации прямо в этом проекте, чтобы легко настроить и запустить Nginx.
Адрес профессиональной версии: https://pro.nginxwebui.cn
Функция | Профессиональная версия | Открытая версия |
---|---|---|
Базовая настройка параметров | √ | √ |
Настройка параметров HTTP | √ | √ |
Настройка обратного прокси-соединения | √ | √ |
Настройка параметров потока | √ | √ |
Настройка балансировки нагрузки | √ | √ |
Шаблон параметров | √ | √ |
Загрузка статической веб-страницы | √ | √ |
Управление файлом паролей | √ | √ |
Белый список IP | √ | √ |
Применение сертификата | √ | √ |
Документация API | √ | √ |
Удалённое управление | √ | √ |
Управление узлами и группами | √ | × |
Синхронизация файлов конфигурации узлов | √ | × |
Сбор данных узлов | √ | × |
Статистика состояния узлов | √ | × |
Настройка кэша | √ | × |
Сбор логов Nginx | √ | × |
Просмотр логов Nginx | √ | × |
Статистика логов Nginx | √ | × |
Статистика трафика Nginx | √ | × |
Этот проект представляет собой веб-систему, основанную на Solon. Для базы данных используется H2, поэтому на сервере не требуется установка какой-либо другой базы данных.
Эта система использует сертификаты через Let's Encrypt и скрипт acme.sh для автоматического получения и продления сертификатов. Сертификаты будут автоматически продлеваться каждый день в 2 часа ночи, и только те сертификаты, срок действия которых истекает менее чем за 60 дней, будут продлеваться.
При добавлении поддержки конфигурации TCP/IP некоторые более ранние версии Nginx могут потребовать переустановки. Модуль stream может быть установлен путём добавления параметра -with-stream
. Однако в официальной библиотеке программного обеспечения Ubuntu 18.04 модуль stream уже встроен в Nginx, поэтому переустановка не требуется. При настройке элемента TCP-перенаправления в этой системе будет автоматически введён параметр конфигурации ngx_stream_module.so
, и файл конфигурации Nginx будет оптимизирован до максимума.
Пример для операционной системы Ubuntu.
Замечание: Этот проект требует выполнения системных команд от имени пользователя root, что делает его очень уязвимым для взлома хакерами. Обязательно сменийте пароль на сложный.
Ubuntu:
apt install openjdk-11-jdk
apt install nginx
CentOS:
yum install java-11-openjdk
yum install nginx
Windows:
Скачайте пакет установки JDK https://www.oracle.com/java/technologies/downloads/
Скачайте Nginx http://nginx.org/en/download.html
Настройте среду выполнения Java
JAVA_HOME : директория установки JDK
Path : \bin директории установки JDK
Перезагрузите компьютер
Linux: mkdir /home/nginxWebUI/
wget -O /home/nginxWebUI/nginxWebUI.jar https://gitee.com/cym1102/nginxWebUI/releases/download/4.2.6/nginxWebUI-4.2.6.jar
Windows: Скачайте непосредственно из вашего браузера https://gitee.com/cym1102/nginxWebUI/releases/download/4.2.6/nginxWebUI-4.2.6.jar в D:/home/nginxWebUI/
Для новой версии просто замените версию в пути.
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/
Описание параметров (оба не обязательны):
--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=pass: пароль базы данных
Обратите внимание, что команда Linux заканчивается символом &, указывающим, что проект выполняется в фоновом режиме.#### Инструкции по установке Docker
Изображение Docker поддерживает платформы x86_64/arm64/arm v7. Обратите внимание, что в конце команды добавлен символ &, указывающий, что образ Docker этого проекта был создан благодаря фоновым операциям проекта, включающим Nginx и NginxWebUI, для интегрированного управления и работы Nginx.
Ubuntu:
apt install docker.io
CentOS:
yum install docker
docker pull cym1102/nginxwebui:latest
или
docker pull registry.cn-hangzhou.aliyuncs.com/cym19871102/nginxwebui:latest
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
Уведомление:
При запуске контейнера используйте параметр --net=host
для маппинга портов, так как внутренний Nginx может использовать любой порт, поэтому вы должны маппировать все порты.
Контейнеру необходимо маппировать путь /home/nginxWebUI:/home/nginxWebUI
, этот путь предназначен для всех файлов проекта, включая базу данных, конфигурационные файлы Nginx, журналы, сертификаты и т.д., и при обновлении образа, эта директория должна быть гарантирована для сохранения данных проекта. Обязательно сделайте резервную копию.
Параметр -e BOOT_OPTIONS
используется для заполнения параметров запуска Java, которые могут использоваться для изменения номера порта
--server.port: порт, занятый сервером, если не указан, то по умолчанию Yöntem 8080
Журналы хранятся по умолчанию в /home/nginxWebUI/log/nginxWebUI.log
Кроме того: следующий файл конфигурации используется при использовании docker-compose
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
Сборка пакета с помощью Maven
mvn clean package
Сборка образа с помощью 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
Затем выполните
systemctl daemon-reload
systemctl enable nginxwebui.service
systemctl start nginxwebui.service
Откройте http://xxx.xxx.xxx.xxx:8080 для входа на главную страницу
Страница входа, открываемая в первый раз, просит инициализировать учетную запись администратора
После входа в систему вы можете добавлять и изменять учетные записи администратора в разделе управления администраторами
. В параметрах HTTP можно настроить конфигурацию проекта nginx HTTP для перенаправления HTTP. По умолчанию будут предоставлены несколько часто используемых конфигураций; остальные конфигурации можно свободно добавлять и удалять. Вы можете проверять открытый лог для отслеживания и генерации логов.
Параметры проекта Stream nginx можно настраивать в конфигурации TCP параметров, но в большинстве случаев они не используются.
В режиме обратного прокси сервера, функционал элемента Server в обратном прокси nginx можно настроить для включения функции SSL, можно непосредственно загружать файл PEM и ключевой файл с веб-страницы, либо использовать сертификат, выданный системой, можно активировать функцию переключения HTTP на HTTPS, либо включить протокол http2.
В режиме балансировки нагрузки, функционал upstream nginx можно настроить. В управлении обратного агента, целевые объекты, настроенные для управления балансировкой нагрузки, можно выбрать.
В загрузке статических HTML файлов, можно непосредственно загружать сжатый пакет HTML в указанное место. После загрузки он может быть использован сразу в режиме обратного прокси, что позволяет экономить шаги загрузки HTML файлов в Linux.
В управлении сертификатами, можно добавлять сертификаты, выпускать и продлевать их. После запуска периодического продления система автоматически будет продлевать сертификаты, срок действия которых скоро истечёт. Примечание: сертификаты выпускаются с помощью режима DNS плагина acme.sh и требуют использования вместе с aliKey и aliSecret от Alibaba Cloud.
Управление резервными копиями. Здесь можно просмотреть историю версий резервных копий Nginx.cnF. При возникновении ошибок в Nginx, можно выбрать откат к определённой версии истории.
Наконец, файл конфигурации conF можно сгенерировать, который затем можно модифицировать вручную. После подтверждения правильности изменения, можно перезаписать исходный файл конфигурации conF, а также выполнить его эффективность и перезапуск. Можно выбрать создание одного файла Nginx.conf или разделение каждого файла конфигурации под conF.d по доменным именам.
Управление удаленными серверами. Если у вас есть несколько серверов Nginx, можно развернуть NginxWebUI, войти на один из них, добавить IP, имя пользователя и пароль других серверов в удаленное управление, после чего можно управлять всеми серверами Nginx на одном компьютере.
Позволяет выполнять одноклик-синхронизацию для синхронизации данных конфигурации и файлов сертификатов между серверами.
Эта система предоставляет HTTP-интерфейс для вызова. Открыв страницу http://xxx.xxx.xxx.xxx:8080/doc.html, можно просмотреть интерфейс smart-doc.
Вызов интерфейса требует добавления токена в заголовок HTTP-запроса. Для получения токена требуется включить право вызова интерфейсов для пользователя в административной системе управления, после чего вызвать интерфейс для получения токена с использованием имени пользователя и пароля.
Если вы забыли свой пароль входа или не сохранили QR-код двухэтапной проверки, вы можете сбросить пароль и отключить двухэтапную проверку, следуя за инструкциями ниже:
java -jar /home/nginxWebUI/nginxWebUI.jar --project.home=/home/nginxWebUI/ --project.findPass=true
--project.home Проектная директория профиля или каталог отображения Docker
--project.findPass Нужно ли печатать имя пользователя и пароль
После успешного выполнения всех имен пользователей и паролей могут быть восстановлены и две проверки шага будут отключены.
docker exec -it {ID} /bin/sh
Затем выполните команду
java -jar /home/nginxWebUI.jar --project.findPass=true
После успешного выполнения все имена пользователей и пароли могут быть восстановлены и две проверки шага будут отключены.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )