Развертывание веб сайта на локальной машине

Жмем кнопку "Получить ингредиенты" и скачиваем готовые под наш проект index.js, restore.js, config.json, package.json. Это действие также изменит, инструкции по распаковке и запуску на этой странице!

Ингредиенты

Скачайте и установите

  • Node.js v18.18.0
  • MongoDB v8.0
  • Для локальной машины под windows скачайте "mongodb-database-tools-windows"
  • Visual Studio Code

SSL сертификат

Если у вас нет SSL сертификата, создайте его:
  • Установите OpenSSL Light
  • В строке поиска windows напишите cmd и запустите "командную строку". Скопируйте в командную строку инструкцию ниже
cd C:\Program Files\OpenSSL-Win64\bin $$ openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes -addext "subjectAltName = DNS:mysite.com
Файлы key.pem и cert.pem в папке "C:\Program Files\OpenSSL-Win64\bin" это ваш сертификат на год.

Импорт сертификатов в Windows

  1. Нажмите клавиши Win+R, введите certmgr.msc и нажмите Enter
  2. В первой колонке нажмите папку «Доверенные корневые центры сертификации» > «Сертификаты».
  3. Над колонкой в меню нажмите «Действие» > «Все задачи» > «Импорт».
  4. В поле «Тип файла» поставьте «Все файлы» и укажите сертификат cert.pem.

Перенаправление домена на локальную машину

  1. Перейдите в папку Диск C: > Windows > System32 > drivers > etc
  2. Скопируйте hosts на рабочий стол > правой кнопкой откройте с помощь "Блокнота"
  3. Добавьте в конец строчку "127.0.0.1 mysite.ru" без кавычек
  4. Обновленный hosts скопируйте обратно в папку "C: > Windows > System32 > drivers > etc" заменив прежний.

Новый проект

  • Создайте папку проекта, например /mysite
  • Поместите в нее ингредиенты: index.js, restore.js, config.json, package.json и созданные файлы сертификата key.pem и cert.pem вместе с резервной копией.

Установка модулей

  • Откройте Visual Studio Code, перейдите в папку вашего проекта и в терминале VS Code исполните команду:
npm install

Распаковываем

  • Запускайте index.js, нажав "Run and Debug" в "Visual Studio Code"
Проект распакуется из резервной копии, файл index.js изменится примерно на такой
;(async () => { console.log('попытка начать') require('./app/clickplayer/index.js') const express = require('express') const app = express() const https = require('https') const key = fs.readFileSync(ROOT + '/key.pem', 'utf8') const cert = fs.readFileSync(ROOT + '/cert.pem', 'utf8') const server = https.createServer({key, cert}, app).listen(443) await cb.Run(app, server) app.get('*', cb.Render) console.log('сервер онлайн', new Date().toString()) })()

Пуск

  • Нажимайте "Run and Debug" еще раз и проект онлайн на локальной машине