Files
PM_test/server.js
2026-06-18 08:52:23 +09:00

58 lines
2.1 KiB
JavaScript

// restarted for .env change
const app = require('./app');
const http = require('http');
const socket = require('./socket');
const net = require('net');
// MinIO TCP Port Proxy Helper (WSL/Docker Desktop loopback bridge)
function startMinioProxy() {
const ports = [9000, 9001];
ports.forEach(port => {
const server = net.createServer((clientSocket) => {
const targetSocket = net.connect(port, '127.0.0.1', () => {
clientSocket.pipe(targetSocket);
targetSocket.pipe(clientSocket);
});
clientSocket.on('error', (err) => {
targetSocket.destroy();
});
targetSocket.on('error', (err) => {
clientSocket.destroy();
});
clientSocket.on('close', () => {
targetSocket.destroy();
});
targetSocket.on('close', () => {
clientSocket.destroy();
});
});
server.on('error', (err) => {
if (err.code === 'EADDRINUSE') {
console.log(`[MinIO Proxy] Port ${port} is already in use. Skipping proxy initialization.`);
} else {
console.error(`[MinIO Proxy] Port ${port} error:`, err);
}
});
server.listen(port, '0.0.0.0', () => {
console.log(`>> [MinIO Proxy] Listening on 0.0.0.0:${port} -> 127.0.0.1:${port}`);
});
});
}
// Start MinIO Proxy
startMinioProxy();
const server = http.createServer(app);
socket.init(server); // 웹소켓 초기화
const env = process.env.NODE_ENV // 'development', 'production', 'individual'
const host = env == 'production' ? process.env.PRODUCTION_IP : (env == 'individual' ? process.env.LOCAL_IP : '0.0.0.0');
const port = env == 'production' ? process.env.PRODUCTION_PORT : (env == 'individual' ? process.env.LOCAL_PORT : '6565');
server.listen(port, host, (e) => {
const displayHost = host === '0.0.0.0' ? 'localhost' : host;
console.log(`>> Web Server Start : http://${displayHost}:${port}/ 번 포트에서 대기 중`);
});