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

Вид: 32993|Ответ: 0

[Источник] Опубликуйте свой проект на удалённый IIS-сервер с помощью VS 2019

[Скопировать ссылку]
Опубликовано 09.10.2020 12:09:22 | | | |
Раньше при публикации проектов файлы копировали и вставлялись в каталог сайта или загружались в каталог сайта через FTP, но теперь, с появлением непрерывной интеграции, автоматизированной эксплуатации и обслуживания, а также автоматизированной публикации, издательские проекты тоже меняются с каждым днём.

В этой статье описывается, как публиковать удалённо на удалённом сайте IIS через VS 2019.

Система удалённых серверов: Windows Server 2019 64-битный

Конфигурация сервера

1. Добавить IIS, установить .NET фреймворк (опущено)

2. Скачать и установить Web Deployment

Web Deployment можно использовать для локального и удалённого развертывания веб-проектов по следующему адресу:Вход по гиперссылке виден.



Во время установки выберите«Завершено»После установки вы увидите сервис «Web Management Service» в сервисе, как показано на рисунке ниже:



Если он не установлен, VS получит следующую ошибку при удаленной публикации:

---------------------------
Microsoft Visual Studio
---------------------------
Не удалось подключиться к удалённому компьютеру («xx»). Убедитесь, что Web Deployment установлен на удалённый компьютер и запущен необходимый процесс («Web Management Service»).  Узнайте больше на:https://go.microsoft.com/fwlink/ ... ATION_NOT_REACHABLE。 Не удаётся подключиться к удалёным серверам
---------------------------
Уверен   
---------------------------


3. Установите «скрипты и инструменты управления IIS»

Перейдите в раздел «Выберите роли сервера > веб-сервер (IIS) > «Административные инструменты», затем выберите роль «Административные скрипты и инструменты IIS», нажмите «Далее» и установите роль.



4. IIS обеспечивает удалённые соединения

Найдите сервис управления в IIS и включите удалённые соединения, как показано на следующем изображении:





(Примечание:Откройте входящий порт 8172 в группе фаервола и безопасности

5. Создайте новый сайт IIS

Создайте новый сайт с названием test1, как показано на следующем рисунке:



6. IIS добавляет административных пользователей

Добавьте пользователя IIS Manager, как показано на следующем изображении:



Одновременно на сайте test1 добавьте авторизацию, как показано на рисунке ниже:



Если вы не добавите авторизацию, при удаленной публикации будет сообщена следующая ошибка:

---------------------------
Microsoft Visual Studio
---------------------------
Вы подключились к удалённому компьютеру («xxx») через сервис управления вебом, но не смогли его авторизировать. Убедитесь, что вы используете правильное имя пользователя и пароль, что сайт, к которому вы подключены, уже существует, и что пользователь, чьи учетные данные представляют собой доступ к сайту.  Узнайте больше на:https://go.microsoft.com/fwlink/ ... R_USER_UNAUTHORIZED。 Удалённый сервер возвращает ошибку: (401) Unauthorized.
---------------------------
Уверен   
---------------------------
Выпуск ASP.NET MVC проекта

Во-первых, создать новый проект .NET 4.6.2 asp.net mvc под названием WebAutomatedDeployment с использованием VS 2019,

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


Попробуйте начать проект, как показано ниже:



Кликните правой кнопкой мыши по проекту, выберите Publish, Web Server (IIS)-> Web Deployment и заполните информацию о сервере, как показано на следующем рисунке:



Проверьте соединение, и тест проходит, как показано на следующем изображении:



Когда я попытался опубликовать, ошибка была следующей:

Задача развертывания веб-платформы провалилась. ((2020/10/9 11:34:38) Запрос на обработку ошибок на удалённом компьютере. )

(2020/10/9 11:34:38) Запрос на обработку ошибок на удалённом компьютере.
Сервер испытывает трудности с обработкой запроса. Свяжитесь с администратором сервера для получения подробностей.        WebAutomatedDeployment 0
Вы можете просматривать конкретные ошибки через Server Event Viewer, как показано на следующем рисунке:



User: itsvse
IP клиента: xxx
Content-Type: application/msdeploy
Version: 9.0.0.0
MSDeploy.VersionMin: 7.1.600.0
MSDeploy.VersionMax: 9.0.3802.0
MSDeploy.Method: Sync
MSDeploy.RequestId: def8d9f7-1a72-4b19-8b75-919f8c6a9604
MSDeploy.RequestCulture: zh-CN
MSDeploy.RequestUICulture: zh-CN
ServerVersion: 9.0.1973.0
Skip: objectName="^configProtectedData$"
Provider: auto, Path:
Произошёл исключение агента развертывания trace, распространявшееся на клиента. Идентификатор запроса "def8d9f7-1a72-4b19-8b75-919f8c6a9604", метка времени: "2020/10/9 11:51:29". Детали ошибок:
System.UnauthorizedAccessException: 尝试执行未经授权的操作。
   В System.Security.AccessControl.Win32.SetSecurityInfo(тип ResourceType, имя строки, дескриптор SafeHandle, securityInfos securityInformation, владелец SecurityIdentifier), SecurityIdentifier group, GenericAcl sacl, GenericAcl dacl)
   в System.Security.AccessControl.NativeObjectSecurity.Persist(имя строки, дескриптор SafeHandle, AccessControlSections includeSections, Object exceptionContext)
   В System.Security.AccessControl.NativeObjectSecurity.Persist(Имя строки, AccessControlSections includeSections, Object exceptionContext)
   at Microsoft.Web.Deployment.FileSystemSecurityEx.Persist(String path, Boolean isFile)
   at Microsoft.Web.Deployment.SetAclProvider.Add(DeploymentObject source, булевый whatIf)
   на Microsoft.Web.Deployment.DeploymentObject.Update (DeploymentObject source, DeploymentSyncContext syncContext)
   на Microsoft.Web.Deployment.DeploymentSyncContext.HandleUpdate(DeploymentObject destObject, DeploymentObject sourceObject)
   на Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildrenOrder(DeploymentObject dest, DeploymentObject source)
   на Microsoft.Web.Deployment.DeploymentSyncContext.ProcessSync(DeploymentObject destinationObject, DeploymentObject sourceObject)
   В Microsoft.Web.Deployment.DeploymentObject.SyncToInternal(DeploymentObject destObject, DeploymentSyncOptions syncOptions, PayloadTable payloadTable, ContentRootTable contentRootTable, Nullable'1 syncPassId, String syncSessionId)
   на Microsoft.Web.Deployment.DeploymentAgent.HandleSync(DeploymentAgentAsyncData asyncData, Nullable'1 passId, String user, String siteName)
   at Microsoft.Web.Deployment.DeploymentAgent.HandleRequestWorker(DeploymentAgentAsyncData asyncData)
   на Microsoft.Web.Deployment.DeploymentAgent.HandleRequest(DeploymentAgentAsyncData asyncData)
Решение:

Перезапустите VS Tools, нажмите Опубликовать, и появится следующее изображение:



Проверка «Сохраните этот сертификат для будущих сессий в Visual Studiaможет быть решено.

В первый раз публикация шла медленно, потому что все файлы нужно было загрузить на сервер, как показано на рисунке ниже:



Попробуйте изменить файл страницы Index.cshtml и нажмите Republish, обновятся только следующие 3 файла, как показано на рисунке ниже:



Обновите сайт и узнайте, что он был обновлён, как показано ниже:



(Конец)




Предыдущий:Постройте ocserv vpn-прокси на CentOS 7
Следующий:Апос. Клетки Три мушкетёра
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com