Nginx-X 快速上手教程
一个基于 Bash 的 Nginx 自动化管理交互脚本,支持 Ubuntu / Debian / CentOS。
⭐ 如果觉得好用,欢迎给项目点个 Star!
👉 Xiuyixx/Nginx-X
1. 安装
方式一:一键安装(推荐)
bash -c "$(curl -fsSL https://raw.githubusercontent.com/Xiuyixx/Nginx-X/main/install.sh)"
方式二:手动安装
git clone https://github.com/Xiuyixx/Nginx-X.git
cd Nginx-X
bash install.sh
💡 安装完成后,在终端输入
nx即可启动。
2. 主菜单概览
运行 nx 后,你会看到以下主菜单:
1) 安装 & 升级 Nginx
2) 配置管理
3) 证书管理
4) 实时信息
5) 卸载
0) 退出
交互提示
| 规则 | 说明 |
|---|---|
| 数字 | 输入数字编号进行选择 |
0 | 返回上一级或退出 |
| 颜色 | 🟢 绿色 = 成功 🟡 黄色 = 警告 🔴 红色 = 错误 |
3. 安装 & 升级 Nginx
首次安装
选择菜单 1 → 系统自动完成以下操作:
- 检测并安装依赖(curl、wget、socat、cron)
- 添加 nginx.org 官方源
- 安装 Nginx stable 版本
- 自动停用
default.conf(避免与自定义配置冲突) - 创建证书目录
/etc/nginx/ssl/
升级 Nginx
- 自动对比本地版本与官网最新版本
- 有新版本时先备份
/etc/nginx/再升级 - 升级后自动校验并平滑重载
4. 配置管理
进入菜单 2:
1) 添加配置
2) 外部反代
3) 配置列表
4.1 添加配置
将本机 Nginx 作为反向代理,指向后端服务。
示例:将 example.com 的 80 端口请求转发到本机 8080 端口
输入域名: example.com
输入监听端口: 80
输入后端端口: 8080
⚠️ 如果目标端口已被占用,系统会提示端口复用确认。
4.2 外部反代
将请求代理到外部 URL(第三方服务、其他服务器等)。
支持的模式:
| 编号 | 模式 | 说明 |
|---|---|---|
| 1 | 标准模式 | 普通 HTTP/HTTPS 反代 |
| 2 | Stream 模式 | TCP/UDP 四层转发 |
| 3 | Emby 分离 HTTP 推流 | Emby 专用 HTTP 流媒体方案 |
| 4 | Emby 分离 HTTPS 推流 | Emby 专用 HTTPS 流媒体方案 |
| 5 | LilyEmby 方案三 | 支持 sub_filter 响应体替换 |
示例:反代一个外部 API
输入域名: api.example.com
输入监听端口: 443
输入外部上游 URL: https://api.some-service.com
选择模式: 1(标准模式)
💡 如果选择 HTTPS 监听但没有证书,系统会自动引导你申请。
4.3 配置列表
统一管理所有配置:
| 操作 | 说明 |
|---|---|
| 启用 | 快速开启配置 |
| 停用 | 快速关闭配置 |
| 修改 | 切换外部反代方案、重新关联证书 |
| 编辑 | 直接编辑 Nginx 配置文件 |
| 删除 | 删除配置(需二次确认) |
5. 证书管理(HTTPS)
进入菜单 3,核心功能包括:
5.1 申请证书
系统使用 acme.sh 通过 HTTP-01 验证自动申请 Let's Encrypt 证书。
流程: ① 设置邮箱(用于证书到期提醒) → ② 系统自动安装 acme.sh → ③ 自动执行 HTTP-01 自检(验证 80 端口、域名解析等) → ④ 申请成功,证书保存在 /etc/nginx/ssl/
⚠️ 前提条件: 域名已正确解析到服务器 IP,80 端口对外开放。
5.2 一键启用 HTTPS
| 当前状态 | 操作 |
|---|---|
| 已有证书 | 直接启用 HTTPS |
| 无证书 | 自动申请 + 启用 HTTPS(80 自动跳转到 443) |
5.3 证书续期管理
- 重新申请 — 证书即将过期时手动重新签发
- 启停续期 — 临时禁用/恢复自动续期
- 删除证书 — 移除指定证书
6. 实时信息 & 健康检查
进入菜单 4:
1) 实时信息
2) 流量统计
3) 健康检查
| 功能 | 说明 |
|---|---|
| 实时信息 | 连接状态、QPS、系统资源、网络流量 |
| 流量统计 | 系统总流量 + 各配置流量估算 |
| 健康检查 | 检查所有站点或单个站点的可用性 |
健康检查详情
检查内容包括:✅ 入口 URL 可达性 ✅ HTTP 状态码 ✅ DNS 解析结果 ✅ 命中 IP 🔒 HTTPS 站点额外显示证书剩余天数
📌 界面每 5 秒自动刷新,按回车返回上一级。
7. 卸载
进入菜单 5:
| 选项 | 说明 |
|---|---|
| 1 | 仅卸载脚本(保留 Nginx) |
| 2 | 卸载 Nginx(含所有配置) |
| 3 | 卸载 Acme(证书 & 邮箱信息) |
| 4 | 全部卸载(脚本 + Nginx + Acme) |
⚠️ 高风险操作会显示删除摘要并要求二次确认。
8. 进阶:让流量统计更准确
Nginx-X 默认从 access.log 估算流量。如果你配置了 Host 专用日志,统计会更精确。
编辑 /etc/nginx/nginx.conf,在 http 块中添加:
log_format nginxx_host '$host $body_bytes_sent $remote_addr [$time_local] '
'"$request" $status $http_referer "$http_user_agent"';
access_log /var/log/nginx/access.host.log nginxx_host;
然后重载 Nginx:
nginx -s reload
💡 配置后,流量统计会按域名精确拆分,结果更可靠。
9. 常见问题
Q: 证书申请失败怎么办?
检查:域名是否解析正确、80 端口是否开放、防火墙是否放行。
Q: 如何更新 Nginx-X 到最新版本?
重新运行安装命令即可自动更新:
bash -c "$(curl -fsSL https://raw.githubusercontent.com/Xiuyixx/Nginx-X/main/install.sh)"
Q: 配置文件保存在哪里?
/etc/nginx/conf.d/,命名为域名-监听端口.conf。
Q: 支持通配符证书吗?
当前版本仅支持 HTTP-01 验证,暂不支持 DNS API 签发通配符证书。
Q: 安装目录在哪?
一键安装后位于
/opt/Nginx-X,可通过nx命令直接调用。
⭐ 觉得好用的话,记得点个 Star!
👉 Xiuyixx/Nginx-X