这是一个轻量的 Nginx/OpenResty 管理面板,主要用来管理站点、反向代理、SSL、日志、文件和一些常用的 Nginx 配置。

开源地址

https://github.com/luoye663/nxpanel

这个项目是辞职在家期间做的,大概花了一个月左右。做了几年Java开发,go语言内存确实占用小。 代码基本由 AI 编写,我主要负责需求整理、测试、排查问题和代码检查。

为什么做这个项目?

我自己平时会维护一些站点、反向代理、SSL 证书和 Nginx 配置。手写配置当然没问题,但时间久了,站点一多,还是希望有一个 Web UI 能把常用操作整理起来。

在造轮子之前,我也体验过不少面板,最后还是觉得宝塔在网站管理这块的布局和操作路径比较顺手,所以本项目的 网站管理界面布局和 Nginx 控制思路,参考了宝塔面板的一些设计。然而我只想要 Nginx/OpenResty 管理,so…….就重新造了一个轮子。

当前状态

目前项目还在早期阶段,还有不少不完善的地方。

现在支持:

  • Docker 部署
  • OpenResty / Nginx 两种运行模式
  • 接入已有 Nginx/OpenResty
  • 二进制安装部署

欢迎试用、提建议或者提 issue。

界面预览


登录页

仪表盘

网站配置

文件管理

功能概览

功能说明
站点管理创建、导入、更新、启用、禁用、删除站点,支持静态站点和 SPA 模式
文档增强管理默认首页顺序、autoindex、403/404 页面 URI
多反向代理每个站点支持多条代理规则、路径冲突检测、WebSocket、超时配置
代理缓存管理 Nginx proxy_cacheproxy_store 相关配置
SSL 管理上传 PEM、使用已有证书文件、查看证书内容、下载证书、禁用 SSL
ACME 证书Let’s Encrypt 申请、续签、部署、下载、自动续签和任务日志
证书仓库集中管理证书并部署到站点
伪静态内置模板、参数渲染、预览、站点 rewrite include 管理
访问限制Basic Auth 加密访问、禁止访问规则、防盗链规则
完整配置编辑编辑站点完整 Nginx 配置,支持 marker 迁移
访问分析站点日志扫描、格式检测、趋势、路径/IP 聚合、异常洞察、CSV 导出
Nginx 管理检测、安装 include 入口、nginx -t、reload、主配置编辑、常用参数管理
文件管理全局文件管理和站点级文件管理,支持读写、上传、下载、复制、移动、压缩、解压、权限和属主修改
日志管理站点 access/error 日志 tail、搜索、下载、实时追踪、历史切割日志查看和删除
服务日志API/Agent 运行日志 tail、实时流、清空,支持内置切割
任务日志ACME 等计划任务日志读取和清空
系统概览系统信息、Nginx 状态、升级检测和运行状态
系统指标SSE 推送 CPU、内存、磁盘、网络、磁盘 IO、进程 top5 等指标
认证安全初始化管理员、登录、登出、Session、CSRF、改密、2FA、恢复码、登录限流
CAPTCHACloudflare Turnstile、hCaptcha,支持登录失败次数触发
安全设置会话绑定、最大会话数、可信代理、登录限流、CAPTCHA 和 API TLS 配置
审计操作审计、登录审计、stderr、备份文件和请求 ID 追踪

快速体验

Docker 部署

1
2
3
4
5
6
7
8
9
mkdir nxpanel
cd nxpanel

# 从 GitHub 拉取 Docker Compose 文件和环境变量模板
curl -fsSLO https://raw.githubusercontent.com/luoye663/nxpanel/main/docker-compose.yml
curl -fsSL https://raw.githubusercontent.com/luoye663/nxpanel/main/.env.example -o .env

# 自动生成 Agent Token 并写入 .env
sed -i "s|^NXPANEL_AGENT_TOKEN=.*|NXPANEL_AGENT_TOKEN=$(openssl rand -hex 32)|" .env

启动容器,二选一即可。

使用 Nginx

1
docker compose --profile nginx up -d

使用 OpenResty

如果需要 OpenResty / Lua 能力,可以使用 OpenResty 版本:

1
docker compose --profile openresty up -d

卸载命令

1
2
3
docker compose --profile nginx down
# 或
docker compose --profile openresty down

获取登录入口

登录入口会随机生成。启动后可以从容器日志里查看:

1
docker logs nxpanel 2>&1 | grep login_path

然后访问:

1
https://服务器IP:18888/随机入口路径

首次访问会进入初始化页面,创建管理员账号即可。


二进制安装

二进制安装比较适合接入已有 Nginx/OpenResty,或者已经在服务器上安装好了 Nginx,只想单独部署 NxPanel 的场景。

在线安装会从 GitHub Releases 下载 nxpanel-linux-amd64.tar.gz

1
curl -fsSL https://raw.githubusercontent.com/luoye663/nxpanel/main/install.sh | sudo bash

如需卸载:

1
curl -fsSL https://raw.githubusercontent.com/luoye663/nxpanel/main/uninstall.sh | sudo bash

如果系统中已有 Nginx/OpenResty,那么在安装完 NxPanel 后,需要到 Nginx 管理页面,依次点击 检测 Nginx、安装 Include 入口 这2个按钮。

图片.png

更多安装参数和使用说明可以查看 GitHub README。