跳到主要内容
版本:latest

Nginx 接管

本文将指导您通过面板的 Nginx 接管功能,轻松接管本机通过其他方式(如源码编译、yum/apt 命令安装、手动解压部署等)搭建的 Nginx 服务,实现面板统一管理,无需重新部署服务、不影响原有业务运行。

功能介绍

该功能为面板 v11.6 版本新增特性

核心作用:统一管控本机非面板安装的 Nginx 服务,无需卸载原有服务、无需修改网站配置,通过自动解析原生配置文件完成接管。

接管后可在面板实现全功能管理:

  • Nginx 配置编辑、服务启停/重启
  • 实时状态监控、日志在线查看
  • 版本平滑升级、扩展模块管理

完美解决多方式部署 Nginx 导致的管理分散、操作繁琐、配置冲突混乱等问题,适用于所有已部署 Nginx 且需要统一面板管理的场景。

操作步骤

环境说明

  • 操作系统:Debian 12
  • Nginx 安装方式:apt 命令安装
  • Nginx 原有版本:v1.22.1

站点访问截图:

站点访问截图

接管详细步骤

  1. 安装面板。

    安装过程中检测到现有 Web 环境时,输入 yes 执行强制安装。

    ⚠️ 重要提醒:强制安装存在一定风险,接管前务必创建服务器快照备份!

    安装面板时检测到现有 Web 环境

  2. 面板安装完成后,通过服务器外网 IP 访问面板并登录。

  3. 登录后忽略【安装 LNMP 环境】提示,点击右上角关闭按钮。

    忽略安装 LNMP 环境提示

  4. 点击左侧菜单栏【网站】,选择【接管本地 nginx】。

    选择接管本地 nginx

  5. 在列表中选择本地已安装的 Nginx v1.22.1 版本。

    选择本地已安装的 Nginx 版本

  6. 点击【安装 nginx】。

    点击安装 nginx

  7. 根据需求选择目标版本及安装方式,此处选择 1.28.1 版本进行安装。

    ✅ 推荐选择编译模式,业务运行更稳定。

    选择目标版本及安装方式

  8. 等待安装完成,面板会自动解析原有所有站点配置。

    面板自动解析站点配置

  9. 选择需要接管的网站,点击【保存选中网站】。

    保存选中网站

  10. 配置保存完成后,检查面板 Nginx 状态是否正常。若状态为关闭,需在终端手动停止系统中原有的 Nginx 服务,以避免端口冲突。

    也可手动修改端口后再启动。

    # 停止系统安装的 Nginx
    systemctl stop nginx
    # 检查是否还有残留进程
    ps aux | grep nginx
    # 如仍有残留进程,执行以下命令强制终止
    pkill -9 nginx
  11. 返回面板,手动启动 Nginx 服务。

    手动启动 Nginx 服务

  12. 启动成功后,在【HTML 项目】中可以看到已接管的网站。

    HTML 项目中显示接管的网站

  13. 查看接管日志。

    接管日志

常见问题

接管失败后,手动执行接管脚本进行接管

除通过面板可视化接管外,也可手动执行接管脚本。脚本为交互式操作,简单易上手。

接管脚本使用方法:

# 脚本执行命令
btpython /www/server/panel/script/nginx_site_helper.py

# 以下为操作示例
root@iZbp1ddiqohvy9r97sspwaZ:~# btpython /www/server/panel/script/nginx_site_helper.py
====================
[1] version: nginx/1.28.1
nginx-bin: /www/server/nginx/sbin/nginx
config-file:/www/server/nginx/conf/nginx.conf
work-path:/www/server/nginx
--------------------
[2] version: nginx/1.22.1
nginx-bin: /usr/sbin/nginx
config-file:/etc/nginx/nginx.conf
work-path:/usr/share/nginx
====================
请选择nginx实例(1-2/quit/q):2
配置/etc/nginx/nginx.conf中,共解析到1个网站
====================
[1] 网站类型:html 网站名称:8.136.211.123
域名:8.136.211.123
网站目录:/home/8.136.211.123
====================
是否保存以上配置(y/n):y
网站:[8.136.211.123],保存成功

脚本其他使用方法:

  1. 脚本未检测到 Nginx 时,或多版本 Nginx 共存的场景,先获取 Nginx 可执行文件的绝对路径,再指定路径执行接管:

    which nginx
    # 示例输出
    /usr/sbin/nginx

    # 执行脚本,指定路径接管
    btpython /www/server/panel/script/nginx_site_helper.py -b /usr/sbin/nginx
  2. 恢复原生配置(撤销接管):

    btpython /www/server/panel/script/nginx_site_helper.py recovery
  3. 查看接管脚本帮助:

    btpython /www/server/panel/script/nginx_site_helper.py -h