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 общие команды
- Запустить процесс/приложение
pm2 start bin/www 或 pm2 start app.js
- Переименовать процесс/приложение
pm2 start app.js --name wb123
- Добавить процесс/приложение
watch pm2 start bin/www --watch
- завершить процесс/приложение
pm2 stop www
- Завершить все процессы/приложения
pm2 stop all
- удалить процесс/приложение
pm2 delete www
- удалить все процессы/приложения
pm2 delete all
- Список всех процессов/приложений
pm2 list
- Просмотр сведений о процессе/приложении
pm2 describe www
- Просмотр потребления ресурсов процессом/приложением
pm2 monit
- Просмотр журналов pm2
pm2 logs
- Чтобы просмотреть журналы для процесса/приложения, используйте
pm2 logs www
- Перезапустить процесс/приложение
pm2 restart www
- Перезапустите все процессы/приложения
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/…
- Это только для изучения ссылки и общения.