首页/新闻资讯/正文详情

Nginx UI 通过 Homebrew 安装指南:macOS / Linux 从安装到服务化运维

发布时间:2026/9/24 14:54:03 来源:云帆数科 栏目:资讯中心
Nginx UI 通过 Homebrew 安装指南:macOS / Linux 从安装到服务化运维
后端前端运维MCP 服务【免费下载链接】nginx-uiYet another WebUI for Nginx项目地址https://gitcode.com/gh_mirrors/ngi/nginx-ui点击查看免费下载本指南面向已安装 Homebrew 的 macOS 与 Linux 用户完整讲解 Nginx UI 的安装、服务管理、手动运行、配置说明、升级、卸载与常见故障排查。读完本文你将掌握brew install/brew services的完整用法理解安装后生成的app.ini配置文件各段含义并能独立解决端口冲突、日志查看、权限与服务无法启动等日常运维问题。适用平台与前置条件Homebrew 安装方式专为两类用户设计macOSmacOS 11 Big Sur 或更高版本支持amd64Intel与arm64Apple Silicon两种架构Linux大多数主流发行版Ubuntu、Debian、CentOS 等Homebrew 通常以 Linuxbrew 形式安装在/home/linuxbrew/下。前提是系统上已安装 Homebrew。如果尚未安装官方提供的一键脚本为/bin/bash -c $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)注意文档中的外部安装脚本、官方文档与 GitHub 链接仅用于说明 Homebrew 生态与上游项目本文后续所有操作与配置均以当前仓库nginx-ui的实际实现为准。安装 Nginx UI执行如下命令即可完成安装brew install 0xjacky/tools/nginx-ui该命令会依次完成将0xjacky/toolstap 添加到你的 Homebrew下载并安装 Nginx UI 的最新稳定版本配置好运行时所需的依赖创建默认配置文件与数据目录。验证安装安装完成后用版本命令验证二进制是否可用nginx-ui --version从源码看该版本输出由 internal/cmd/version.go 中的VersionPrinter生成格式包含程序名、版本号、构建 ID、短哈希以及 Go 运行时与目标平台信息例如nginx-ui 2.x.x 123(456) abcdef1 (go1.x.x linux/amd64)Nginx UI 的 CLI 根命令定义在 internal/cmd/main.go根命令名为nginx-ui默认子命令为serve即不带参数直接运行nginx-ui等价于nginx-ui serve此外还提供了reset-password、cert、ctl、host-setup、upgrade-docker-step2等子命令--config全局参数用于指定配置文件路径默认值为app.ini。服务管理Nginx UI 可以借助 Homebrew 的服务管理能力作为系统服务运行。启动服务# 启动服务并设置为开机自启 brew services start nginx-ui # 仅当前会话运行不设置开机自启 brew services run nginx-ui停止服务brew services stop nginx-ui重启服务brew services restart nginx-ui查看服务状态brew services list | grep nginx-uibrew services info nginx-ui则可以查看更详细的服务状态与日志文件路径见下文“查看服务日志”。手动运行如果你更倾向于手动运行而非注册为系统服务# 前台运行默认读取 ./app.ini nginx-ui # 指定自定义配置文件 nginx-ui serve -config /path/to/your/app.ini # 后台运行 nohup nginx-ui serve 补充说明serve子命令还支持-p/--pidfile参数指定 PID 文件路径见 internal/cmd/main.go 中的 Flag 定义便于外部进程管理工具跟踪进程若以 root 之外的普通用户运行请确保该用户对 Nginx 配置文件目录与 Nginx UI 数据目录具有读写权限。配置说明安装过程会自动生成默认配置文件app.ini其位置因平台而异平台配置文件路径数据目录macOSApple Silicon/opt/homebrew/etc/nginx-ui/app.ini/opt/homebrew/var/nginx-ui/macOSIntel/usr/local/etc/nginx-ui/app.ini/usr/local/var/nginx-ui/Linux/home/linuxbrew/.linuxbrew/etc/nginx-ui/app.ini/home/linuxbrew/.linuxbrew/var/nginx-ui/安装后默认生成的最小配置如下[app] PageSize 10 [server] Host 0.0.0.0 Port 9000 RunMode release [cert] HTTPChallengePort 9180 [terminal] StartCmd login结合仓库源码可以更深入地理解这些配置项的实际作用[app] PageSize列表页默认分页大小。该值在 settings/server_v1.go 的serverV1.PageSize中被读取并映射到 V2 配置结构的App.PageSize。[server] Host / Port / RunModeWeb 服务监听地址、端口与运行模式。源码在 settings/settings.go 的Init中显式兜底当Port 0时强制设为默认端口9000保证即使配置缺失也能正常启动。[cert] HTTPChallengePortACME HTTP-01 挑战端口默认9180。对应 settings/cert.go 中CertSettings的HTTPChallengePort: 9180默认值证书签发相关实现见 api/certificate 与 internal/cert。[terminal] StartCmdWeb 终端启动时执行的命令。对应 settings/terminal.goWindows 平台默认为cmd.exe其余平台默认login与安装文档给出的login一致。需要说明的是Nginx UI 的配置系统存在 V1 → V2 的自动迁移机制当app.ini中检测到旧的[server]段如jwt_secret非空时会由 settings/server_v1.go 中的migrate函数自动完成字段映射并回写文件同时将旧的环境变量如SERVER_HTTP_HOST自动迁移到新命名如NGINX_UI_SERVER_HOST。因此升级后如果配置文件“变了样”属正常现象。此外所有配置段都支持以NGINX_UI_SECTION_KEY形式的环境变量覆盖例如NGINX_UI_SERVER_PORT9001。更完整的配置项数据库、认证、Nginx 控制、证书、集群等可参考 docs/guide/config-server.md、docs/guide/config-app.md、docs/guide/config-database.md、docs/guide/config-cert.md 与 docs/guide/config-terminal.md。更新仅更新 Nginx UIbrew upgrade nginx-ui更新 Homebrew 与所有包brew update brew upgrade更新后若配置发生不兼容变化启动时通常会有提示建议更新前先备份app.ini与数据目录。卸载停止服务并卸载# 先停止服务 brew services stop nginx-ui # 卸载软件包 brew uninstall nginx-ui移除 Tap可选如果不再需要该 tapbrew untap 0xjacky/tools移除配置与数据谨慎操作::: warning以下操作将永久删除你的全部配置、站点、证书与数据执行前务必先做好备份可使用 Web 界面的备份功能或直接拷贝var/nginx-ui/目录。:::# macOSApple Silicon sudo rm -rf /opt/homebrew/etc/nginx-ui/ sudo rm -rf /opt/homebrew/var/nginx-ui/ # macOSIntel sudo rm -rf /usr/local/etc/nginx-ui/ sudo rm -rf /usr/local/var/nginx-ui/ # Linux sudo rm -rf /home/linuxbrew/.linuxbrew/etc/nginx-ui/ sudo rm -rf /home/linuxbrew/.linuxbrew/var/nginx-ui/故障排查端口冲突默认 Web 端口为9000若被占用需修改配置文件编辑配置文件# macOSApple Silicon sudo nano /opt/homebrew/etc/nginx-ui/app.ini # macOSIntel sudo nano /usr/local/etc/nginx-ui/app.ini # Linux sudo nano /home/linuxbrew/.linuxbrew/etc/nginx-ui/app.ini修改[server]段的端口[server] Host 0.0.0.0 Port 9001 RunMode release重启服务brew services restart nginx-ui查看服务日志Homebrew 服务日志Nginx UI 的 Homebrew formula 已内置日志配置# 查看服务状态与日志文件路径 brew services info nginx-ui # 查看标准输出日志 tail -f $(brew --prefix)/var/log/nginx-ui.log # 查看错误日志 tail -f $(brew --prefix)/var/log/nginx-ui.err.log # 同时查看两份日志 tail -f $(brew --prefix)/var/log/nginx-ui.log $(brew --prefix)/var/log/nginx-ui.err.logsystemd 日志LinuxLinux 系统若使用 systemd 管理# 实时查看服务日志 journalctl -u homebrew.mxcl.nginx-ui -f # 查看最近一小时日志 journalctl -u homebrew.mxcl.nginx-ui --since 1 hour ago手动调试前台运行以直接观察输出# 前台运行并指定配置便于看到全部输出 nginx-ui serve -config $(brew --prefix)/etc/nginx-ui/app.ini # 检查进程是否在运行 ps aux | grep nginx-ui权限问题管理 Nginx 配置时遇到权限报错按以下步骤处理确认当前用户对 Nginx 配置文件具备读写权限部分操作如修改/etc/nginx下的文件可能需要以更高权限运行 Nginx UI检查文件权限# 检查配置文件权限 ls -la $(brew --prefix)/etc/nginx-ui/app.ini # 检查数据目录权限 ls -la $(brew --prefix)/var/nginx-ui/服务无法启动按顺序排查检查服务状态brew services list | grep nginx-ui确认配置文件存在且参数合法# 检查配置文件是否存在 ls -la $(brew --prefix)/etc/nginx-ui/app.ini # 查看 serve 子命令帮助 nginx-ui serve -config $(brew --prefix)/etc/nginx-ui/app.ini --help前台运行以查看具体报错nginx-ui serve -config $(brew --prefix)/etc/nginx-ui/app.ini检查端口占用# 检查 9000 端口是否被占用 lsof -i :9000 # 检查 HTTP 挑战端口9180是否被占用 lsof -i :9180获取帮助与下一步遇到问题时优先参考仓库内文档docs/guide 目录下的安装与配置系列文档例如 install-script-linux.mdLinux 脚本安装、config-server.md服务端配置、config-nginx.mdNginx 控制等如果问题仍未解决可在上游项目的 Issues 中检索是否已有相同问题或提交新的 Issue 并附上日志与复现步骤。安装并启动成功后建议按以下顺序完成初始化浏览器访问http://localhost:9000若修改过端口则以实际端口为准完成首次启动设置向导创建管理员账号等在“站点”中配置你的 Nginx 站点或在“Nginx 配置”中直接编辑按需深入阅读 docs/guide/config-cert.md证书管理、docs/guide/config-cluster.md多主机集群等文档进行进阶配置。赞分享后端前端运维MCP 服务【免费下载链接】nginx-uiYet another WebUI for Nginx项目地址https://gitcode.com/gh_mirrors/ngi/nginx-ui点击查看免费下载相关推荐在macOS上通过Homebrew安装escrcpy项目指南在macOS上通过Homebrew安装escrcpy项目指南 escrcpy是一款优秀的开源项目它为用户提供了在电脑上显示和控制Android设备的功能。对于桌面应用移动开发开发工具Vector 在 Windows 上的安装与运维指南从 ZIP/MSI 安装到 Windows 服务化运行Vector 在 Windows 上的安装与运维指南从 ZIP/MSI 安装到 Windows 服务化运行 Vector GitHub_Trending/v可观测性数据工程数据集成日志分析Eclipse Mosquitto 在 macOS 上通过 Homebrew 安装与使用指南Eclipse Mosquitto 在 macOS 上通过 Homebrew 安装与使用指南 本指南围绕 Eclipse Mosquitto 项目官方发布的一则后端消息队列消息路由创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

国产MCU替代STM32全攻略:选型、移植与避坑指南
国产MCU替代STM32全攻略:选型、移植与避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 14:54:03

央国企选干部管理系统的3个常见误区,你中了几个?
央国企选干部管理系统的3个常见误区,你中了几个?

干部管理系统选型,失败的项目往往不是因为选了差的产品,而是把注意力放错了地方:盯着功能清单的长短、参数表的对比、报价的高低,却漏掉三件决定系统能不能真正用起来的事——清单背后的适配能力、信创的准入属性、AI的实际效果。… · 2026/9/24 14:54:01

waifu2x-GUI 视频超分工具实战指南:Paper2GUI 低显存动漫图片与视频放大方案
waifu2x-GUI 视频超分工具实战指南:Paper2GUI 低显存动漫图片与视频放大方案

人工智能AI 应用桌面应用 【免费下载链接】paper2gui Convert AI papers to GUI,Make it easy and convenient for everyone to use artificial intelligence technology。让每个人都简单方便的使用前沿人工智能技术 项目地址: https://gitcode.com/gh_m… · 2026/9/24 14:53:55

ESP32-C3 AI工牌拆解:低成本硬件如何实现语音交互
ESP32-C3 AI工牌拆解:低成本硬件如何实现语音交互

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 15:24:44

SquareLine Studio与LVGL 8.3嵌入式UI开发实战指南
SquareLine Studio与LVGL 8.3嵌入式UI开发实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 15:24:27

AWS SDK for .NET 文档示例仓库完全指南:目录结构、运行前置条件与 DynamoDB 入门实战
AWS SDK for .NET 文档示例仓库完全指南:目录结构、运行前置条件与 DynamoDB 入门实战

示例工程教程后端 【免费下载链接】aws-doc-sdk-examples Welcome to the AWS Code Examples Repository. This repo contains code examples used in the AWS documentation, AWS SDK Developer Guides, and more. For more information, see the Readme.md file below. 项目地… · 2026/9/24 15:24:27

还重构?就你那代码只能铲了重写!CodeGuide 教你建立可维护、可扩展的 Java 代码质量体系
还重构?就你那代码只能铲了重写!CodeGuide 教你建立可维护、可扩展的 Java 代码质量体系

还重构?就你那代码只能铲了重写!CodeGuide 教你建立可维护、可扩展的 Java 代码质量体系 【免费下载链接】CodeGuide :books: 本代码库是作者小傅哥多年从事一线互联网 Java 开发的学习历程技术汇总,旨在为大家提供一个清晰详细的学习教程&am… · 2026/9/24 15:24:27

AC/DC电源模块选型与实战避坑指南
AC/DC电源模块选型与实战避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 15:24:27

2026在线投票工具深度横评:分组、防刷、报名、导出、模板功能实测
2026在线投票工具深度横评:分组、防刷、报名、导出、模板功能实测

线上投票工具的选型,最终要落到具体功能。分组投票、防刷能力、在线报名、数据导出、模板配置,这五项直接影响活动能否顺利执行。2026 年,围绕这五个模块,对天天评选和评选星做了一轮功能横评。以下为实测结果。 一、分组投票功能… · 2026/9/24 15:24:20

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13

1D-CNN时间序列建模实战:从Conv1d原理到工业落地
1D-CNN时间序列建模实战:从Conv1d原理到工业落地

简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26

柔软的L:汉语语流中被忽视的舌肌张力控制
柔软的L:汉语语流中被忽视的舌肌张力控制

1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码