Развернуто приложение angular в Azure веб-приложении - но отображается страница по умолчанию Azure - PullRequest
1 голос
/ 12 января 2020

Я создал веб-приложение в Azure для размещения приложения angular. Я выбрал время выполнения, как показано ниже:

enter image description here

Но мои локальные настройки:

  1. Версия узла: v13.0.1
  2. Angular версия: 8.2.11

Я использовал Anguler cli для создания приложения, а затем запустил ng build --prod для создания dist. Затем я попробовал следующие методы для развертывания приложения Angular в веб-приложении: 1. Использовал Azure расширение службы приложений в VS Code 2. FTP с использованием FileZilla с подробностями ftp из центра развертывания веб-приложения.

Но когда я просматриваю URL: https://eventzweb.azurewebsites.net/, я вижу следующую страницу, но не мою страницу из приложения angular.

enter image description here

Есть идеи, почему это происходит? Почему я не вижу свою страницу?

Спасибо за вашу помощь в продвинутом.

Ответы [ 3 ]

2 голосов
/ 13 января 2020

Ну,

вам нужен веб-сервер для запуска вашего angular веб-сайта. В стеке Node Runtime по умолчанию не работает веб-сервер, поэтому ничего не может быть отображено.

Вы можете разместить свой веб-сайт, используя некоторый node.js веб-сервер (express. js), но это потребует дополнительных npm пакеты и конфигурация. Лучший вариант - переключить операционную систему на windows. Затем IIS будет использоваться для размещения вашего веб-сайта, который вы развернули в службе приложений. Посмотрите на https://angular.io/guide/deployment#server -конфигурацию для требуемой конфигурации правила перезаписи для angular, размещенной в IIS

1 голос
/ 20 января 2020

Я решил это следующим образом:

  1. Создание веб-приложения путем выбора стека времени выполнения в качестве ASP. NET V4.7 и выбора ОС в качестве Windows.
  2. Разверните приложение angular, используя Azure DevOps.

Шаги в этом сообщении: http://dot-net-box.blogspot.com/2020/01/deploy-angular-8-app-to-azure-with.html

0 голосов
/ 02 марта 2020

Есть еще один способ решить эту проблему. Предыстория: ОС веб-приложения: Linux, стек времени выполнения: Node.js

Здесь вы можете войти в контейнер. ssl логин

запустить pm2 list уже существует сайт c, который называется "default-stati c -st ie". Он находится в "/ opt / startup". Затем запустите pm2 show default-static-stie, после чего вы можете просмотреть соответствующие папки для получения более подробной информации.

Как указывалось в сообщении на консоли, «Все данные за пределами« / home »не сохраняются».

Итак вам нужно просто скопировать существующий проект в папку «/ home». Сделайте некоторые изменения при запуске. sh и default-stati c -site. js '.

startup. sh:

#!/bin/sh

#turn off the default static site
pm2 stop default-static-site

# Enter the source directory to make sure the script runs where the user 
 expects
cd "/home/site/wwwroot"

export NODE_PATH=$(npm root --quiet -g):$NODE_PATH
if [ -z "$PORT" ]; then
            export PORT=8080
fi

pm2 start -n my-static-site  --no-daemon /home/my-static-site/default-static-site.js

default -stati c -site. js:

server.use('/', express.static('/home/site/wwwroot', options));

Кстати, добавить фрагмент кода перед строкой выше:

server.all('/*', function(req, res, next) {
// Just send the index.html for other files to support HTML5Mode
res.sendFile('index.html', { root: '/home/site/wwwroot' });

});

В конце: введите команду запуска

введите команду запуска, чтобы обратиться к '/home/my-static-site/startup.sh '.

Итак, все сделано.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...