我正在使用PowerShell脚本构建SharePoint 2016服务器场。
SharePoint场服务器拓扑是: - 一个WFE服务器(带分布式缓存的前端) - 一个应用服务器(带搜索的应用程序) - 一个搜索服务器(搜索)和 - 一个数据库服务器
管理中心位于应用程序服务器上。 Web应用程序配置PowerShell脚本是这样的:
$params = @{
Name = $webAppName;
ApplicationPool = "$($applicationPool.Name)";
ApplicationPoolAccount = "$($applicationPool.ProcessAccountName)";
AllowAnonymousAccess = $allowAnonymousAccess;
AuthenticationMethod = $authenticationMethod;
DatabaseName = $databaseName;
DatabaseServer = $databaseServer;
HostHeader = $hostHeader;
Url = $publicUrl;
Path = $path;
Port = $port;
SecureSocketsLayer = $useSSL;
}
if($useWindowsClaims)
{
$params["AuthenticationProvider"] = $(New-SPAuthenticationProvider)
}
# create the web application
$webApp = New-SPWebApplication @params -WarningAction SilentlyContinue
我的问题是:在哪个SharePoint Server(WFE或应用程序)上执行此PowerShell脚本以便以最佳方式创建Web应用程序?
我首先想到的是脚本应该在应用服务器上运行,因为它托管了管理中心。然后我认为脚本执行的位置无关紧要,在WFE或应用程序服务器上运行它会产生存储在SharePoint配置数据库中的相同服务器场配置。
无论如何,我首先在应用服务器上运行脚本:
然后我删除了带有网站集的Web应用程序,并在WFE服务器上再次运行该脚本。
如您所见,不同之处在于服务器的IIS可以浏览到该站点(或哪个服务器处理Web请求)。 所以进一步的问题是:
谢谢。
答案 0 :(得分:0)
可以从服务器场中的任何SharePoint服务器运行创建Web应用程序或网站集等内容的通用脚本。从哪里开始运行绝对没有问题。至于你的问题
至于能否在当前服务器上浏览到新创建的Web应用程序取决于两件事。 A.)是否在本地计算机上配置了 Microsoft SharePoint Foundation Web应用程序服务。这就是SharePoint创建与您的SPWebApplications对应的IIS站点。在多服务器SharePoint场中,无论运行此服务,SharePoint都将创建SPWebApplication。从盒子中取消配置服务,SPWebApplications消失。 B.)使用您在创建Web应用程序时使用的Web应用程序主机名,来自真实DNS或本地HOSTS文件的DNS解析是否可以帮助您解决问题。
在创建新应用程序池的情况下,您可以看到一些怪癖。在多服务器环境中完全正常工作之前,IIS通常需要重置。
见上文。
您不必提前提交DNS条目,但如果您不打算这样做,那么通常您可以更轻松地制作HOST文件条目,以便您可以按照自己的方式进行操作期待在浏览器中。