修正宝塔
This commit is contained in:
52
baota_start.js
Normal file
52
baota_start.js
Normal file
@@ -0,0 +1,52 @@
|
||||
// 宝塔环境下的Node项目启动脚本
|
||||
const { spawn } = require('child_process');
|
||||
const path = require('path');
|
||||
const fs = require('fs');
|
||||
|
||||
// 获取项目根目录
|
||||
const rootDir = __dirname;
|
||||
const serverPath = path.join(rootDir, 'server', 'index.js');
|
||||
|
||||
// 检查日志目录
|
||||
const logDir = path.join(rootDir, 'logs');
|
||||
if (!fs.existsSync(logDir)) {
|
||||
fs.mkdirSync(logDir, { recursive: true });
|
||||
}
|
||||
|
||||
// 创建日志文件流
|
||||
const logFile = path.join(logDir, 'server.log');
|
||||
const logStream = fs.createWriteStream(logFile, { flags: 'a' });
|
||||
|
||||
console.log('启动后端服务器...');
|
||||
console.log(`日志文件: ${logFile}`);
|
||||
|
||||
// 使用node启动服务器
|
||||
const server = spawn('node', [serverPath], {
|
||||
cwd: rootDir,
|
||||
env: {
|
||||
...process.env,
|
||||
PORT: 3010,
|
||||
NODE_ENV: 'production'
|
||||
},
|
||||
stdio: ['ignore', 'pipe', 'pipe']
|
||||
});
|
||||
|
||||
// 将输出写入日志
|
||||
server.stdout.pipe(logStream);
|
||||
server.stderr.pipe(logStream);
|
||||
|
||||
server.stdout.on('data', (data) => {
|
||||
console.log(`[服务器输出] ${data.toString().trim()}`);
|
||||
});
|
||||
|
||||
server.stderr.on('data', (data) => {
|
||||
console.error(`[服务器错误] ${data.toString().trim()}`);
|
||||
});
|
||||
|
||||
server.on('close', (code) => {
|
||||
console.log(`服务器进程退出,退出码: ${code}`);
|
||||
logStream.end();
|
||||
});
|
||||
|
||||
console.log(`后端服务已启动,端口: 3010`);
|
||||
console.log('使用 pm2 或 forever 保持此脚本运行');
|
||||
Reference in New Issue
Block a user