2016-09-21 4 views
19

Я действительно изучаю Angular 2 с Typcript и разработал небольшое приложение на основе проекта с угловым посевом (angular-seed). Я построил приложение для производственных целей и получил расстояние папки готова к развертыванию, содержащему узелок файлов, как это:Как я могу развернуть приложение Angular 2 + Typcript + Webpack

dist/      
    main.bundle.js    
    main.map   
    polyfills.bundle.js   
    polyfills.map    
    vendor.bundle.js   
    vendor.map 

Однако, как свежее, я понятия не имею, как развернуть его теперь на моем EC2 сервере. Я прочитал, что мне нужно настроить сервер Nginx для обслуживания моего статического файла, но мне нужно его настроить, чтобы работать с моими файлами пакетов?

Извините, если у вас есть ошибки. Заранее большое спасибо!

ответ

22

Вы на правильном пути .....

Просто установите Nginx на вашем EC2. В моем случае у меня был Linux Ubuntu 14.04, установленный на «Digital Ocean».

Сначала я обновил APT-получить пакет списков:

sudo apt-get update 

Затем установить Nginx с помощью APT-получить:

sudo apt-get install nginx 

Затем откройте файл конфигурации блока сервера по умолчанию для редактирования:

sudo vi /etc/nginx/sites-available/default 

Удалить все в этом конфигурационном файле и вставить следующий контент:

server { 
    listen 80 default_server; 
    root /path/dist-nginx; 
    index index.html index.htm; 
    server_name localhost; 
    location/{ 
     try_files $uri $uri/ =404; 
    } 
} 

Для того, чтобы изменения вступили в силу, перезапустите веб-сервер Nginx:

sudo service nginx restart 

Затем скопировать index.html и расслоение файлов /path/dist-nginx на вашем сервере, и вы и работает.

+0

Это случается, чтобы дать мне 404 .. Вы случайно знаете, почему и как его решить? – Mellkor

+0

Являются ли файлы пакетов в каталоге 'node_module'? – Mellkor

+1

Когда вы используете Angular Router и создаете приложение с тегом --prod, вы должны немного изменить свою конфигурацию nginx. Проверьте страницу [angular.io Deployment] (https://angular.io/guide/deployment). – Superbyte

0

Я использую официальный angular CLI вместо этого для развертывания на производстве и очень прост в использовании. Вы можете развернуть предварительно производства т.е. или производство таким образом:

нг сборки --env = предварительно --output-путь = сборки/до/

нг сборки --env = тычок - выход-путь = сборки/прод/

+5

Это не дает ответа на вопрос. Вопрос заключается в вопросе развертывания на сервере и уже имеет приложение, встроенное в папку 'dist'. Вопрос заключается в том, чтобы развернуть эту папку 'dist' на внешнем сервере, а не о создании папки' dist'. – Harry

+0

Вопрос спрашивает о развертывании с помощью webpack not Cli –

+0

Да, это действительно развертывание на nginx только на сервере! – JoelParke

4

Более быстрый способ развертывания:

1. Установите nginx, как упоминалось Германом.
2. Скопируйте ваши файлы dist/* в/var/www/html/без нарушения/etc/nginx/sites-available/default.
Судо ф/ваш/путь/к/расстояние/*/вар/WWW/HTML/
3. Перезапустите Nginx:
Судо рестарт systemctl Nginx

Смежные вопросы