Nginx 是一个高效的 HTTP 服务器和反向代理,它擅长处理静态资源、负载均衡和网关代理等任务。Nginx 的设置主要通过一个主配置文件 “nginx.conf” 来完成,其中可以定义服务器配置块(server blocks)和位置匹配规则(location blocks)等。
尽管 Nginx 的配置语法相当简洁,但在处理复杂的路由规则、反向代理设置或 SSL 配置时,配置文件可能会变得复杂。特别是当涉及到多层嵌套和特定条件判断时,稍有不慎就可能导致配置错误或冲突。
Nginx 配置错误可能会对服务器造成严重风险。常见问题包括允许未经授权访问、数据泄露和拒绝服务攻击的安全漏洞。配置错误还可能导致网站宕机或性能低下,影响用户体验和信任。此外,不正确的设置可能会暴露敏感信息或使攻击者更容易利用漏洞。因此,正确配置 Nginx 以确保应用程序的安全性和可靠性至关重要。使用带有 GUI 的应用程序来管理 Nginx 服务,可以简化配置并避免错误。
下面介绍几个比较好的开源 Nginx 可视化配置系统,通过这些可视化系统可以更轻松、更安全地管理 Nginx 实例。
01 Nginx UI
https://github.com/0xJacky/nginx-ui
Nginx UI 是一个免费开源基于 Web 的 Nginx 配置应用程序,它提供了数十种功能,使得 DevOps 专业人员和网站管理员能够轻松管理多个 Nginx 实例。由于它是使用 Go 语言开发的,因此执行效率非常快。
功能特点:
-
在线查看服务器 CPU、内存、系统负载、磁盘使用率等指标
-
在线 ChatGPT 助理
-
一键申请和自动续签 Let’s encrypt 证书
-
在线编辑 Nginx 配置文件,编辑器支持 Nginx 配置语法高亮
-
在线查看 Nginx 日志
-
使用 Go 和 Vue 开发,发行版本为单个可执行的二进制文件
-
保存配置后自动测试配置文件并重载 Nginx
-
基于网页浏览器的高级命令行终端
-
支持深色模式
-
自适应网页设计
Linux 下的安装方法:
bash <(curl -L -s https://ghp.ci/https://raw.githubusercontent.com/0xJacky/nginx-ui/master/install.sh) install -r https://ghp.ci/
02 VeryNginx
https://github.com/alexazhou/VeryNginx
VeryNgnix 是一个基于 lua-nginx-module(openresty)的非常强大的 nginx 控制面板。
VeryNginx 实现了高级防火墙(waf)、访问统计等功能。它增强了 Nginx 的功能,并提供了友好的 Web 界面。可以使用 Python 安装:
python install.py install
03 OpenPanel
https://github.com/stefanpejcic/OpenPanel
OpenPanel 是一个灵活而强大的 Web 控制面板,提供社区支持版本和具有其他功能和支持的高级版本。它为每个用户提供一个隔离的环境,类似于 VPS 的体验,提供对服务器配置、PHP 版本、域日志等的完全控制。
功能特点包括:
-
用户可以运行 Nginx 或 Apache Web 服务器。
-
用户可以运行 MySQL 或 MariaDB 数据库。
-
使用 WP 管理器管理 WordPress 网站。
-
无需密码登录 phpMyAdmin 和 Web 终端。
-
安装和更新系统服务。
-
内置 REDIS 和 Memcached 对象缓存。
-
轻松导出 DNS 区域。
-
控制 MySQL 设置、设置限制并启用远程访问。
-
在不需要的时候关闭 cronjobs。
-
安装 PHP 版本、编辑 php.ini 文件并设置限制。
-
Google PageSpeed 数据会自动显示网站。
-
仅在需要时自动启动服务以节省资源。
-
将页面保存到收藏夹。
-
与第三方共享 Web 终端会话。
-
将注释添加到 DNS 记录。
-
从文件管理器中的 URL 下载文件。
-
隔离的用户和管理面板。
-
接收每日使用报告。
-
管理员可以为用户添加自定义消息。
- 所有操作的详细活动日志。
04 Ajenti
https://github.com/ajenti/ajenti
Ajenti 是一个用于简化 Nginx 服务器管理的开源项目,是一个 Linux BSD 模块化服务器管理面板。Ajenti 2 提供了一个新的界面和更好的架构,系统使用 Python3 和 AngularJS 开发。
它提供了友好的 Web 用户界面,允许用户轻松配置和监视服务器设置、管理域和监督应用程序。使用 Ajenti,管理员可以管理 SSL 证书、监控服务器性能和访问日志等任务,所有这些都可以在集中式仪表板上执行,从而使服务器管理更加高效和更具可访问性。
功能特点包括:
轻松安装:Ajenti 2 可以通过 pip 和提供的脚本轻松安装。
现有配置:选择您的当前配置并按原样在现有系统上工作,无需任何准备。
关怀:不会覆盖您的配置文件、选项和注释,所有的变化都是非破坏性的。
包括电池:包括大量的系统和软件配置,监控和管理插件。
可扩展性:Ajenti 2 可以使用 Python 轻松扩展。可以使用 Ajenti API 快速开发插件。
现代:界面赏心悦目,可以从平板电脑和移动端管理。
轻量级:内存占用和 CPU 使用量小,支持低端机、墙插、路由器等。
下面是 Ajenti 的一些功能截图:
(1)仪表盘
(2)设置
(3)插件
(4)系统命令
05 Schenkd nginx-ui
https://github.com/schenkd/nginx-ui
这个 Nginx UI 和 0xJacky 的 Nginx UI 不是同一个,这个 Nginx UI 也是一个可以用于修改 nginx 配置文件的可视化界面管理工具。
06 EasyEngine
https://github.com/EasyEngine/easyengine
EasyEngine CLI 是一个命令行界面工具,这个工具可以简化 Nginx 的管理。使用 EasyEngine,用户可以轻松地设置一个完整的 Web 服务技术栈,包括 WordPress、Nginx、PHP、MySQL、Redis 等。
它支持 HTTPS 和 SSL 证书,并可通过 Let's Encrypt 自动续订。EasyEngine 专为 WordPress 设计,提供对象和全页缓存以提高性能。
用户可以使用 ee cli update 命令轻松升级,以获得新的功能和补丁。此外,EasyEngine 可以基于 Docker 安装,也支持所有 WordPress 网站的原生 cron。
07 CapRover
https://github.com/caprover/caprover
CapRover 是一个免费开源 PaaS 平台,可以基于 Docker 安装,用于简化 Nginx 和 Let's Encrypt 应用程序的部署和管理。
它允许开发人员部署各种应用程序(Node.js,PHP,Python 等)。通过超级用户的 Web 界面或 CLI 进行快速管理。CapRover 支持一键应用部署、自动 SSL 管理和集群负载平衡等功能,非常适合希望简化工作流程的开发人员。
功能特征包括:
-
轻松的应用程序/数据库部署:支持 NodeJS,Python,PHP,ASP.NET,Ruby 等。
-
超快:使用 Docker,Nginx,Let's Encrypt 和 NetData。
-
完全可定制的 Nginx 配置。
-
CLI for Automation:简化脚本和自动化任务。
-
Web GUI:用户友好的界面,方便。
-
无锁定:删除 CapRover 而不影响应用程序功能。
-
Docker Swarm:支持容器化和集群。
-
可定制的 Nginx:完全可配置的负载平衡。
-
用于管理 Docker 操作的简单界面。
-
免费 SSL:使用 Let's Encrypt 的自动 HTTPS。
08 NGINX 代理、Grafana
https://github.com/nginx/agent
NGINX Agent 是个 Nginx 或 NGINX Plus 实例配套的守护程序,可与 Grafana 仪表板配合使用。
主要功能特点包括:
-
NGINX 配置的远程管理
-
收集 NGINX 性能和操作系统指标的实时报告
-
NGINX 事件处理
NGINX Agent 在运行 NGINX 的系统上作为伴随进程运行。它提供了 gRPC 和 REST 接口,用于配置管理和从 NGINX 进程和操作系统收集指标。NGINX Agent 支持使用常见的 Linux 工具与 NGINX 进行远程交互,并释放了构建复杂的监控系统的能力,这些系统可以管理大量的 NGINX 实例。