fix(nginx): 适配宝塔面板Nginx部署环境

- 新增宝塔面板环境检测逻辑
- 自动适配宝塔的Nginx路径与站点目录
- 调整Nginx配置文件命名与软链接规则
- 完善重载Nginx配置的兼容处理
This commit is contained in:
zhang1106
2026-05-15 16:29:46 +08:00
parent 497fa75cd1
commit 9566b94661
2 changed files with 63 additions and 9 deletions
+31 -5
View File
@@ -568,7 +568,19 @@ function syncFrontendToNginx(options) {
return { success: true, skipped: true };
}
const nginxRoot = deployConfig?.nginxRoot || '/var/www/idc';
const isBtPanel = fs.existsSync('/www/server/nginx/sbin/nginx') ||
fs.existsSync('/www/server/nginx/conf/nginx.conf');
let nginxRoot = deployConfig?.nginxRoot;
if (!nginxRoot) {
if (isBtPanel) {
nginxRoot = '/www/wwwroot/idc';
} else {
nginxRoot = '/var/www/idc';
}
log.info(`未配置 nginxRoot,自动检测: ${nginxRoot} (${isBtPanel ? '宝塔' : '标准'})`);
}
const distDir = path.join(__dirname, 'frontend', 'dist');
if (!fs.existsSync(distDir)) {
@@ -594,10 +606,24 @@ function syncFrontendToNginx(options) {
}
log.subStep('重载 NGINX 配置...');
const reloadResult = runCommand(`${sudoPrefix}nginx -s reload`, { silent: true });
if (reloadResult.success) {
log.success('NGINX 已重载');
} else {
let reloadResult = { success: false };
if (isBtPanel) {
const btNginxBin = '/www/server/nginx/sbin/nginx';
reloadResult = runCommand(`${sudoPrefix}${btNginxBin} -s reload`, { silent: true });
if (reloadResult.success) {
log.success('NGINX 已重载 (宝塔)');
}
}
if (!reloadResult.success) {
reloadResult = runCommand(`${sudoPrefix}nginx -s reload`, { silent: true });
if (reloadResult.success) {
log.success('NGINX 已重载');
}
}
if (!reloadResult.success) {
log.info('尝试 systemctl 重载 NGINX...');
const systemctlResult = runCommand(`${sudoPrefix}systemctl reload nginx`, { silent: true });
if (systemctlResult.success) {