3 минуты, чтобы изучить развертывание koa-2 framework pm2

koa

1. Используйте koa2 и экспресс для сравнения

  • Промежуточное ПО Express является асинхронным обратным вызовом, koa2 изначально поддерживает async/awit.
  • Недавно разработанные фреймворки и системы основаны на koa2, например ess.js.
  • Хотя экспресс устарел, koaw определенно является трендом будущего.

2. Знакомство с асинхронностью/ожиданием

1. await 后面可以追加 promise 对象,获取resolve 的值
2. await 必须包裹在 async 函数里面
3. async 函数执行返回的也是一个promise
4. try-catch 截获Promise 中的reject 的值

3. Знакомство с коа2

  • Монтаж (с использованием строительных лесов)
    • npm install -g koa-generator
    • Koa2 koa2--test
    • npm install & npm run dev
  • Инициализировать код, обрабатывать маршрутизацию
  • Использовать промежуточное ПО

3.1 Реализовать сеанс

  • похоже на экспресс
  • На основе koa-generic-session и koa-redis
        cnpm i koa-generic-session koa-redis redis --save
    

3.2 Маршрут разработки

  • Повторно используйте предыдущий код, такой как mysql, промежуточное ПО для входа в систему, контроллер, модель.
  • Инициализация маршрутизации, отладка интерфейсных соединений
cnpm i mysql xss --save

3.3 Журналы

  • получить доступ к записям журнала, использовать morgan
    npm i koa-morgan --save
  • Пользовательские журналы с использованием console.log и console.error
  • Разделение журнала, анализ памяти журнала

4. Анализ принципа промежуточного ПО

  • Модель лукового кольца
    • Request ---> Response
  • анализировать
    • app.use используется для регистрации промежуточного программного обеспечения, сначала соберите его
    • Реализовать следующий механизм, то есть предыдущий следующий запускает следующий
    • Не включает суждения о методе и пути

5. Демон процесса pm2

PM2 — это инструмент управления процессами узла, который можно использовать для упрощения многих утомительных задач управления приложениями узла, таких как мониторинг производительности, автоматический перезапуск, балансировка нагрузки и т. д., и он очень прост в использовании.

  • процесс node app.js и nodemon app.js аварийно завершает работу и не может быть доступен
  • Когда pm2 встречает сбой процесса, он автоматически перезапускается
  • pm2 должен быть установлен глобальноnpm install -g pm2

5.1 Общая конфигурация pm2

  • Создайте новый файл конфигурации pm2 (включая количество процессов, каталог файла журнала и т. д.)
  • Измените команду запуска pm2 и перезапустите
  • Получите доступ к серверу и проверьте содержимое файла журнала (действительно ли ведение журнала)

5.2 pm2 общие команды

  1. Запустить процесс/приложениеpm2 start bin/www 或 pm2 start app.js
  2. Переименовать процесс/приложениеpm2 start app.js --name wb123
  3. Добавить процесс/приложениеwatch pm2 start bin/www --watch
  4. завершить процесс/приложениеpm2 stop www
  5. Завершить все процессы/приложенияpm2 stop all
  6. удалить процесс/приложениеpm2 delete www
  7. удалить все процессы/приложенияpm2 delete all
  8. Список всех процессов/приложенийpm2 list
  9. Просмотр сведений о процессе/приложенииpm2 describe www
  10. Просмотр потребления ресурсов процессом/приложениемpm2 monit
  11. Просмотр журналов pm2pm2 logs
  12. Чтобы просмотреть журналы для процесса/приложения, используйтеpm2 logs www
  13. Перезапустить процесс/приложениеpm2 restart www
  14. Перезапустите все процессы/приложенияpm2 restart all

6. Многопроцессорность

  • Зачем использовать многопроцессорность
    • Операционная система ограничивает максимально доступную память для процесса
    • Память: невозможно полностью использовать всю память машины.
    • ЦП: невозможность в полной мере использовать многоядерные ЦП.
  • многопроцессный Redis
    • Память не может быть разделена между несколькими процессами
    • Несколько процессов обращаются к Redis для обмена данными

7. Сводка онлайн и конфигурации

  • Эксплуатация и обслуживание сервера, как правило, выполняются профессиональным персоналом и отделами OP.

  • В крупных компаниях есть собственные команды по эксплуатации и техническому обслуживанию.

  • Рекомендуется использовать некоторые облачные сервисы, такие как узловая платформа HUAWEI CLOUD, для небольших и средних периодов строительства.

  • Основная ценность демона процесса pm2

  • Общие команды и конфигурация pm2, ведение журнала

  • мультипрогресс

koa2_blogs

Проект исходит от imooc.com Обязательные курсы для продвижения фронтенда до full-stack инженеров Node.js разрабатывает проект блога веб-сервера с нуляcoding.IMO OC.com/learn/list/…

  • Это только для изучения ссылки и общения.

Изучите node.js и станьте полноценным инженером