WEB Server NodeJS

10 марта 2024

Настроим NodeJS Server

Порт будем использовать 3000
Файл веб страницы будем использовать \project\index.html
Сам сервер \project\server.js
Библиотеки устанавливаются сюда \project\node_modules
Команда для установки библиотек npm install name
Для удобства запуска \project\Start.bat добавим ярлык на панель задач:

@echo off
:: Launch Server
start "" "C:\Program Files\nodejs\node.exe" "C:\Users\user\Documents\project\server.js"
pause

Ниже код сервера:

const winston = require('winston');
const http = require('http');
const fs = require('fs');
const path = require('path');

// Определение пути к файлу server.log
const logFilePath = path.join(__dirname, 'server.log');

// Настройка логгера для записи в файл
const logger = winston.createLogger({ level: 'info', format: winston.format.combine( winston.format.timestamp(), winston.format.json() ), transports: [ new winston.transports.File({ filename: logFilePath }) ]
});

// Использование логгера для записи логов
logger.info('Сервер запущен');

// Создание сервера
const server = http.createServer((req, res) => { logger.info('Получен запрос'); // Логирование получения запроса

// Чтение содержимого файла index.html const indexPath = path.join(__dirname, 'index.html'); fs.readFile(indexPath, 'utf8', (err, data) => { if (err) { logger.error(err); res.writeHead(500); res.end('Внутренняя ошибка сервера'); } else { // Отправка содержимого файла index.html res.writeHead(200, { 'Content-Type': 'text/html' }); res.end(data); logger.info('Ответ отправлен'); // Логирование отправки ответа } });
});

// Слушаем порт 3000
server.listen(3000, '0.0.0.0', () => { logger.info('Сервер работает на порту 3000');
});

Запускаем с ярлыка и сайт доступен: http://31.148.49.50:3000/

Добро пожаловать на мой веб-сервер!

Это простая веб-страница, которая отображается при обращении к серверу.


Код веб страницы index.html

<!DOCTYPE html>
<html lang="en">
<head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Привет, мир!</title>
</head>
<body> <h1>Добро пожаловать на мой веб-сервер!</h1> <p>Это простая веб-страница, которая отображается при обращении к серверу.</p>
</body>
</html>

Теги: Server, WEB, NodeJS