Как переносить сайт IIS 7 на другой сервер?
Мне интересно, что лучше всего подходит для перемещения веб-сайта на другой сервер (вместе со всеми настройками и т.д.).
- Вручную воссоздать сайт на новом сервере (не поддерживается по понятным причинам)
- Скопировать файл настроек приложенияHost.config
- Используйте appcmd для создания резервной копии и восстановления
- Используйте MSDeploy для публикации сайта на новом компьютере.
- Использовать сторонний инструмент
Просто интересно, что произошло с другими людьми.
Ответы
Ответ 1
Я бы сказал, экспортировать конфигурацию вашего сервера в диспетчере IIS:
- В диспетчере IIS выберите Сервер node
- Перейдите в общую конфигурацию в разделе "Управление".
- Нажмите "Экспорт конфигурации". (Вы можете использовать пароль, если вы отправляете их через Интернет, если вы просто собираетесь переместить их через USB-ключ, тогда не потейте его.)
-
Переместите эти файлы на новый сервер
administration.config
applicationHost.config
configEncKey.key
-
На новом сервере вернитесь в раздел "Общая конфигурация" и установите флажок "Включить общую конфигурацию". Введите местоположение в физический путь к этим файлам и примените их.
- Он должен запросить пароль шифрования (если вы его установили) и reset IIS.
BAM! Иди, пиво!
Ответ 2
MSDeploy может переносить весь контент, конфигурацию и т.д., Что рекомендует команда IIS. http://www.iis.net/extensions/WebDeploymentTool
Чтобы создать пакет, выполните следующую команду (замените веб-сайт по умолчанию на имя вашего веб-сайта):
msdeploy.exe -verb:sync -source:apphostconfig="Default Web Site" -dest:package=c:\dws.zip > DWSpackage7.log
Чтобы восстановить пакет, выполните следующую команду:
msdeploy.exe -verb:sync -source:package=c:\dws.zip -dest:apphostconfig="Default Web Site" > DWSpackage7.log
Ответ 3
Вот вам полезный сайт об использовании appcmd для экспорта/импорта конфигурации сайта.
http://www.microsoftpro.nl/2011/01/27/exporting-and-importing-sites-and-app-pools-from-iis-7-and-7-5/
Ответ 4
Microsoft Web Deploy v3 может экспортировать и импортировать все ваши файлы, настройки конфигурации и т.д. Он помещает все это в архив zip, готовый для импорта на новый сервер. Он может даже обновиться до более новых версий IIS (v7-v8).
http://www.iis.net/extensions/WebDeploymentTool
После установки инструмента:
Щелкните правой кнопкой мыши ваш сервер или веб-сайт в консоли IIS Management Console, выберите "Deploy", "Export Application..." и выполните экспорт.
На новом сервере импортируйте экспортированный zip-архив таким же образом.
Ответ 5
используйте appcmd для экспорта одного или всех сайтов, а затем reimport на новый сервер. Это может быть iis7.0 или 7.5. Когда вы экспортируете с помощью appcmd, пароли дешифруются, затем reimport, и они будут повторно шифроваться.
Ответ 6
Я не могу прокомментировать нить из-за отсутствия репутации. Другой комментатор заявил, что они не могут перейти от более низкой версии к более высокой версии IIS. Это верно, если вы не объедините некоторые файлы, но если вы это сделаете, я просто перенесла свой сайт IIS 7.5 на IIS 8.0, используя ответ, отправленный chews.
Когда создается экспорт (II7.5), есть два ключевых файла (administrator.config и applicationHost.config), которые имеют ссылки на ресурсы на сервере IIS7.5. Например, DLL будет передаваться с открытым ключом и версией, относящейся к 7.5. Это не то же самое на сервере IIS8. Конфигурация функции также может отличаться (я гарантировал, что мои были идентичны). Есть несколько новых функций в 8, которые никогда не будут существовать в 7.5.
Если вы достаточно смелы, чтобы объединить два файла - он будет работать. Я должен был удалить IIS один раз, потому что я испортил его, но получил его второй раз.
Я использовал инструмент слияния (Beyond Compare) и без чего-то эквивалентного, это было бы огромным PITA - но было довольно легко с хорошим инструментом diff (пять минут).
Чтобы выполнить слияние, файлы 8.0 должны быть удалены по сравнению с экспортированными файлами 7.5 ПЕРЕД ПОИСКОМ. По большей части, файлы 8.0 должны перезаписывать специфичные для сервера материалы в экспортированных файлах 7.5, оставляя конкретные материалы для сайта/приложения.
Я обнаружил, что администратор .config был почти идентичен, без информации о версии многих записей. Это было легко.
ПриложениеHost.config имеет гораздо больше отличий. Некоторые записи упорядочены по-разному, но в остальном идентичны, поэтому вам придется выбирать каждую разницу и понимать ее.
Я помещаю свои файлы экспорта 7.5 в папку System32\inetsrv\config\Export перед слиянием.
Я объединил из папки System32\inetsrv\config папку System32\inetsrv\config\Export для обоих файлов, упомянутых выше. Я проталкивал все файлы FROM, кроме тегов/элементов, специфичных для сайта (например, applicationPools, customMetadata, sites, authentication). Особо следует отметить, что было также много различных блоков тегов местоположения, которые я должен был сохранить, но у нового сервера был свой собственный блок тегов "location" с установленными по умолчанию значениями по умолчанию, которые необходимо сохранить.
Наконец, обратите внимание, что если вы используете учетные записи служб, эти кэшированные пароли являются нежелательными и должны быть повторно введены для ваших пулов приложений. Ни один из моих сайтов не работал на начальном этапе, но все, что требовалось, заключалось в повторном вводе паролей для всех моих пулов приложений, и я был запущен.
Если кто-то, кто может комментировать, упоминает этот пост вниз, он, вероятно, поможет кому-то другому, как я, у которого много сайтов на одном сервере со сложными конфигурациями.
Привет,
Стюарт
Ответ 7
В моем случае файлы уже были скопированы, я нашел самый простой способ выполнить шаги, описанные в этом руководстве: https://www.ryadel.com/en/exporting-importing-app-pools-and-websites-configuration-between -кратный-МИС-экземпляры/
Я экспортировал AppPools/Websites, скопировал xml файлы на конечный сервер и импортировал AppPools, затем Websites. Работал очень хорошо. Это также еще один отличный вариант для этого вопроса.