Приложение Angular CLI не запускается при развертывании в службе приложений Linux

Я пытаюсь развернуть приложение Angular CLI в службе приложений Azure в ОС Linux с помощью Azure Dev Ops, но безуспешно. Я получаю изображение 1. Нет ошибок в журналах сервера или приложений.

Приложение Angular CLI не запускается при развертывании в службе приложений Linux

Вот что я сделал до сих пор:

  1. Создал приложение Angular CLI с помощью DevOps Build и поместил полученную папку «dist» в папку «drop». См. ниже (Изображение 2) задачи, из которых состоит моя сборка. Это работает нормально и создает ожидаемые файлы.

Приложение Angular CLI не запускается при развертывании в службе приложений Linux

  1. Создал выпуск в DevOps, развернув все dist-файлы в папке wwwroot в службе приложений Azure в Linux. Ниже показаны как папка wwwroot (слева), так и моя локальная папка dist (справа) после запуска ng build --prod.

Приложение Angular CLI не запускается при развертывании в службе приложений Linux

У меня есть подозрение, что мне нужно запустить angular, подав некоторое время команды при развертывании. Я попытался запустить «ng serve --host 0.0.0.0», но это не сработало.

О чем ты говоришь? это вопрос создания приложения, а не сети. в SO есть тысячи вопросов, подобных этому.

Dustin 10.03.2019 23:17
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
4
1
2 928
7
Перейти к ответу Данный вопрос помечен как решенный

Ответы 7

Если вы посмотрите на шаблон выпуска по умолчанию «Развертывание приложения Node.js в службе приложений Azure», он использует задачу «Развернуть службу приложений Azure» и добавляет к задаче следующие команды. это может помочь вам.

Да, я обнаружил, что это необходимый шаг при развертывании в службе приложений на базе Windows. Однако я не считаю необходимым включать службу web.config для службы Linux.

Dustin 11.03.2019 15:44

о да, часть «iisnode» должна была дать мне фейспалм. При использовании Linux кажется, что в раздел настроек приложения добавляется «-WEBSITE_NODE_DEFAULT_VERSION 6.9.1». но кроме этого я не вижу какой-либо интересной конфигурации, которая передается

Remco Brilstra 11.03.2019 16:04
Ответ принят как подходящий

Существует тонкая и большая разница между службой приложений Linux и Windows: IIS, который в Windows активно ищет возможность обслуживать любое приложение, тогда как в Linux вам нужно что-то самостоятельно запускать для его обслуживания — например, Express.

После некоторых исследований я обнаружил, что мне не нужна полная служба приложений, предназначенная для запуска статического приложения (например, Angular или React). Это можно сделать так же эффективно и намного дешевле с чем-то вроде хранилища. -> https://code.visualstudio.com/tutorials/static-website/getting-started

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

Leo Liu-MSFT 20.03.2019 08:28

Если вы все еще хотите использовать Службу приложений — веб-приложение, вы можете просто использовать ОС Windows вместо Линукс..

Вот параметры, которые я использовал:

Поскольку результатом создания angular является статическое веб-приложение, IIS сразу же будет обслуживать сайт.

Проверьте раздел Служба приложений Azure > Linux на этой странице. По сути, вы должны обслуживать приложение. Вы можете настроить это с помощью файла ecoysystem.config.js PM2 в корневом каталоге, с этим внутри.

module.exports = {
    apps: [
        {
            script: "npx serve -s"
        }
    ]
};

Я также добавил npx serve -s в «Конфигурация службы приложений»> «Общие настройки»> «Команда запуска».

См. также: https://burkeholland.github.io/posts/static-site-azure

это больше не работает, проверьте stackoverflow.com/questions/63660012/…

barracuda317 31.08.2020 14:29

Мой все еще работает с этой настройкой стоковые диаграммы.azurewebsites.net

Dave Skender 01.09.2020 15:59

При использовании контейнера службы приложений Linux вы также можете выбрать стек PHP, содержащий сервер Apache2. Поскольку файлы Angular являются статическими (JS, CSS, HTML), вам просто нужен веб-сервер для обслуживания этого контента.

Пример конфигурации:

Мне пришлось указать npx serve -s в качестве команды запуска

Затем установите Runtime Stack с фреймворком узла 10.16 (NODE|10.16). См. ниже

Потом все стало работать.

У меня была такая же проблема в Службе приложений Azure с Linux и Node, и я решил ее с помощью следующей команды запуска.

pm2 служить /home/site/wwwroot --no-daemon --spa

Snapshot from my DevOps pipeline

Развертывание работает нормально, но после развертывания я получаю 404

CBC_NS 15.01.2022 02:19

Другие вопросы по теме