2015-01-23 2 views
0

У меня есть проект, построенный с использованием генератора углового ползуна для Йомана. Я хотел бы развернуть это на Windows Server под управлением IIS. Я успешно сгенерировал папку «dist» с помощью Grunt и переместил папки «public» и «server» с файлами в ящик IIS.Хостинг угловой-фуллстак Йомен-сайт на IIS

Как настроить мой Windows Server для размещения моего приложения? Нужно ли иметь два сайта IIS (один для «общедоступный» и один для «сервера»)? Мне нужно установить grunt, bower и т. Д. На Windows Server?

ответ

1

Вам не нужно вручную устанавливать grunt или bower. Установить локально узловые компоненты, объявленные в package.json с помощью следующей Comman:

npm install 

Угловое-fullstack генератор создает приложение для Node.js, поэтому все, что вам нужно сделать, это запустить приложение на стороне сервера. Запуск /server/app.js с Node.js

Вы можете проверить, как запускать приложения Node в IIS здесь: http://www.hanselman.com/blog/InstallingAndRunningNodejsApplicationsWithinIISOnWindowsAreYouMad.aspx

0

Вы должны развернуть приложение на iisnode в сделать правильную конфигурацию для вас файл web.config I в настоящее время могут запускать приложение, используя сервер nodejs, но не в приложениях iisnode, потому что мой файл web.config все еще работает правильно. Я задал вопрос с дополнительной информацией. here

0

Это просто, чтобы дать вам намек на путь к решение. Это не подробный шаг за шагом ответ.

Если alredy использует Grunt, вы можете использовать this grunt plugin. Это оболочка команды msdeploy.exe, поэтому вам нужно узнать об этом here.

Прежде всего вам необходимо установить Web Deploy на свой сервер. Есть серверные страты и сообщения об этом. Я выбрал путь Remote Agent.

Я вручную создаю веб-сайт (пока не знаю, как это сделать удаленно. Работая над этим. Вот почему я нашел этот вопрос), прежде чем развертывать. Затем я просто синхронизирую каталоги на своем компьютере (папку/dist) и путь на удаленном сервере.

Это часть моего Gruntfile.js с 2 примером определен в grunt.initConfig()

«Резервное копирование» сохраняет в пакете (почтовый файл) текущий удаленный каталог. Вторая задача называется 'Опер' синхронизирует ваш текущий билд расположен на <% = yeoman.dist%>

msdeploy: { 
    backup: { 
     options: { 
      verb: "sync", 
      source: { 
       dirPath: '<%= deploy.Config.basePathOper %><%=deploy.Oper.Web %>,computerName=<%=deploy.Config.computerName %>,username=<%=deploy.Config.username %>,password=<%= deploy.Config.password %>' 
      }, 
      dest: { 
       package: '<%= deploy.Config.basePathOper %>\\backups\\web_' + grunt.template.today("yyyy-mm-dd-HH-MM-ss") + '.zip,computerName=<%=deploy.Config.computerName %>,username=<%=deploy.Config.username %>,password=<%= deploy.Config.password %>' 
      } 
     } 
    }, 
    Oper: { 
     options: { 
      verb: 'sync', 
      source: { 
       dirPath: process.cwd() + '\\<%= yeoman.dist %>' 
      }, 
      dest: { 
       dirPath: '<%= deploy.Config.basePathOper %><%=deploy.Oper.Web %>,computerName=<%=deploy.Config.computerName %>,username=<%=deploy.Config.username %>,password=<%= deploy.Config.password %>' 
      } 
     } 
    } 

Задача, которую я создал выглядит что-то вроде этого

grunt.registerTask('deploy', function (target) { 
    if (target === 'Oper') { 
     grunt.task.run([ 
     'msdeploy:backup', 
     'msdeploy:Oper' 
     ]); 
    } 

});

Не забудьте загрузить плагин:

grunt.loadNpmTasks('grunt-msdeploy'); 
Смежные вопросы