Как перенести сайт IIS 7 на другой сервер?

Мне интересно, что является наилучшей практики для переезда сайта на другой сервер (вместе со всеми настройками и т. д.)

  • вручную воссоздать сайт на новом сервере (не поддерживается по понятным причинам)
  • скопируйте applicationHost.файл настроек конфигурации
  • используйте appcmd для создания резервной копии и восстановления
  • используйте MSDeploy для публикации сайта на новом компьютере
  • используйте сторонний инструмент

просто интересно каким был опыт других.

7 ответов


Я бы сказал, экспортируйте конфигурацию сервера в IIS manager:

  1. В диспетчере IIS щелкните узел сервера
  2. перейти к общей конфигурации в разделе "Управление"
  3. Нажмите "Экспорт Конфигурации". (Вы можете использовать пароль, если вы отправляете их через интернет,если вы просто собираетесь переместить их через USB-ключ, то не потейте.)
  4. переместить эти файлы на новый сервер

    administration.config
    applicationHost.config
    configEncKey.key 
    
  5. на новом сервере перейдите вернитесь к разделу " Общая конфигурация "и проверьте" включить общую конфигурацию."Введите местоположение в физическом пути к этим файлам и примените их.

  6. он должен запрашивать пароль шифрования (если вы его установили) и сбросить IIS.

БАМ! Иди выпей пива!


MSDeploy может переносить все содержимое, конфигурацию и т. д. это то, что рекомендует команда IIS. http://www.iis.net/extensions/WebDeploymentTool


вот полезный веб-сайт по использованию appcmd для экспорта/импорта конфигурации сайта. http://www.microsoftpro.nl/2011/01/27/exporting-and-importing-sites-and-app-pools-from-iis-7-and-7-5/


Microsoft Web Deploy v3 можете экспортировать и импортировать все ваши файлы, параметры конфигурации и т. д. Он помещает все это в zip-архив, готовый к импорту на новый сервер. Он может даже обновляться до более новых версий IIS (v7-v8).

http://www.iis.net/extensions/WebDeploymentTool

после установки инструмента: Щелкните правой кнопкой мыши сервер или веб-сайт в консоли управления IIS, выберите "развернуть", " экспорт Приложение...- и пройтись по экспорту.

на новом сервере импортируйте экспортированный zip-архив таким же образом.


используйте appcmd для экспорта одного или всех сайтов, а затем реимпорта на новый сервер. Это может быть iis7.0 или 7.5 при экспорте с помощью appcmd пароли расшифровываются, затем повторно импортируются, и они будут повторно зашифрованы.


Я не могу комментировать поток из-за отсутствия репутации. Другой комментатор заявил, что они не могут перейти с более низкой версии на более высокую версию IIS. Это верно, если вы не объединяете некоторые файлы, но если вы это сделаете, вы можете, поскольку я только что перенес свой сайт IIS 7.5 в IIS 8.0, используя ответ, опубликованный chews.

при создании экспорта (II7.5), есть два ключевых файла (администрирование.config и applicationHost.config), которые имеют ссылки на ресурсы на IIS7.5 сервер. Например, DLL будет передаваться с открытым ключом и версией, специфичной для 7.5. Это не то же самое на сервере IIS8. Конфигурация функции также может отличаться (я гарантировал, что мои были идентичны). Есть некоторые новые функции в 8, которые никогда не будут существовать в 7.5.

Если вы достаточно храбры, чтобы объединить два файла - это будет работать. Мне пришлось удалить IIS один раз, потому что я испортил его, но получил его во второй раз.

Я использовал инструмент слияния (вне сравнения) и без чего-то эквивалентно это была бы огромная Пита-но было довольно легко с хорошим инструментом diff (пять минут).

чтобы выполнить слияние, файлы 8.0 должны быть разделены на экспортированные файлы 7.5 перед попыткой импорта. По большей части файлы 8.0 должны перезаписывать определенные материалы сервера в экспортированных файлах 7.5, оставляя определенные материалы пула сайтов/приложений.

Я нашел эту администрацию.конфигурация была почти идентичной, без информации о версии многих записей. Этот можно было легко.

applicationHost.config имеет намного больше отличий. Некоторые записи упорядочены по-разному, но в остальном идентичны, поэтому вам придется выбирать каждую разницу и выяснять ее.

перед слиянием я помещаю файлы экспорта 7.5 в папку System32\inetsrv\config\Export.

я слился из папки System32\inetsrv\config в папку System32\inetsrv\config\Export для обоих файлов, упомянутых выше. Я перевернул все в файлах FROM за исключением тегов/элементов сайта (например, applicationPools, customMetadata, sites, authentication). Следует особо отметить, что было также много блоков тегов "местоположение", которые я должен был сохранить, но новый сервер имел свой собственный блок тегов "местоположение" с определенными значениями по умолчанию для сервера, которые должны быть сохранены.

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

Если кто - то, кто может прокомментировать этот пост вниз поток-это, вероятно, поможет кому-то еще, как я, у которого есть много сайтов на одном сервере со сложными конфигурациями.

с уважением,

Стюарт


в моем случае файлы уже были скопированы, я нашел самый простой способ выполнить шаги в этом руководстве: https://www.ryadel.com/en/exporting-importing-app-pools-and-websites-configuration-between-multiple-iis-instances/

Я экспортировал AppPools / веб-сайты, скопировал xml-файлы на целевой сервер и импортировал AppPools, а затем веб-сайты. Работать очень хорошо. Это также еще один отличный вариант для этого вопроса.