估计很多同学都还不知道WebsitePanel是什么东东吧,WebsitePanel简称wsp是微软旗下,开源免费的虚拟主机系统,我们机房用来做虚拟空间的的工具集,是个很强大的家伙。
第一,我们来看看WebsitePanel(wsp)的工作原理吧
WSP包括三个部分:
WSP Portal:WSP的门户网站
WSP Enterprise Server:WSP的企业服务器
WSP Server:WSP服务器
如图所示:
很明显,这是个大型架构,并且模块化设计的,这和国内的一些收费的比起来不晓得要好多少,安全性,性能,等等方面都要好不少
我们来讲一下这个架构
第一个是WSP Portal,也就是WSP门户,这个是指针对用户的界面,包括管理员和普通用户,他们可以在这里来配置他们的虚拟机,不同权限当然有不同的设置界面,说白了这只是个界面,是个UI而已,是用户操作后台的一个借口,他不涉及逻辑业务方面。她要连接到WSP企业服务器上(例如通过http://192.168.1.1:9002这样来连接),也就是用户和WSP企业服务器之间的一个桥梁和“媒人”。他不需要直接操作数据库,都是通过WSP企业服务器来操作的。
第二个是WSP Enterprise Server,也就是WSP企业服务器,这个就很重要了,他负责处理用户端数据和WSP服务器的逻辑业务,属于这里的主干,他保存用户的数据到数据库,并调用数据库给用户,同时保存WSP企业服务器的信息到数据库。
第三个是WSP Server,也就是WSP服务器,这个就是我们要做虚拟空间的载体服务器,也就是这个才是真正的虚拟空间的母机
当然,这三个可以同时放在同一个服务器上,也可以全部都分开,如果你是IDC,你的可客户量足够大,那么可以分开来,构成一个分布式架构
安装部分
系统环境:Windows Server 2008 Datacenter R2 SP2 64位系统
第一步:安装系统环境1,安装Windows Server 2008 Datacenter R2 SP2 64位,这个就不多说了,这个目前没有破解工具,可以去淘宝买个密钥5块钱,用来做做实验还是不错的。
2,安装系统组件:IIS 7.5 和 .net框架
打开服务器管理器,角色---添加角色
选择web服务器IIS按照向导安装完毕
注意选择组件的时候我选择的是全部功能,大家可以根据自己需要自定义选择。
打开服务器管理器,功能---添加功能
OK,安装完之后可以重启了
3,安装.net 4.0
到官方网站去下载独立安装包
http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=0A391ABD-25C1-4FC0-919F-B21F31AB88B7
接着安装即可
4,安装SQL SERVER 2005
下载地址:
http://bbs.ywlm.net/thread-838-1-1.html
这个我就不多说了,注意安装用混合模式安装,密码我这里是123456.cc
第二步:安装WebsitePanel三个组件
WebsitePanel官方下载地址:http://websitepanel.codeplex.com/releases/view/69982#DownloadId=258992
安装原理:他是通过一个安装工具来统一安装,安装设置和程序更新的,只需要下载这个工具即可,其他组件可以通过这个工具来自动下载和安装的
第一种安装方法:单独安装(推荐)
1,安装WSP Enterprise Server 企业服务器,为什么先安装这个呢,因为安装WSP Portal的时候需要先安装这个,以便在安装WSP的时候通过http://wsp.test.com:9002来连接WSP Enterprise Server
下载好之后先安装“安装工具:WebsitePanelInstaller12.msi”
双机他开始安装:
自定义安装目录,我这里默认
安装完成后在桌面上回生存个快捷方式:WebsitePanel Installer,双击它
得到一个操作界面,这要点击“view available”,它会自动在网上搜索工具源
我们先选择WSP Enterprise Server
看到了吧,点击install之后会自动下载这个组件的
检查环境
设置安装目录
设置连接端口,这里是给WSP Portal准备的,注意,WSP enterprise server并不能直接对其操作配置,而是要通过WSP Portal来管理的,这里要设置留给WSP Portal来连接的URL,默认端口是9002,我们就用这个吧
设置IIS允许用户,因为WSP enterprise server也是以站点的方式来允许的,这里会生成个站点,这个站点需要用个独立的来宾(匿名)用户来允许
设置连接数据库信息
安装完成后,直接访问http://domain:9002即可,注意,这里不要用http://IP:9002,这样会爆400错误的
2,安装WSP Portal门户
自动下载
自动检测环境
设置安装目录
设置端口,域名和IP
设置IIS运行账户
输入访问WSP enterprise server的地址和端口,到这里应该知道他们是怎么工作的了吧
安装完成
点击桌面上的快捷方式即可登录了
输入刚刚设置的密码吧
进来了
我们这里可以添加服务器,也就是添加WSP Server即WSP服务器
看添加服务器也是通过HTTP来添加的,因此,我们可以吧真实的服务器安装在其他服务器上,远程连接即可
3,安装WSP Server WSP服务器
这个具体安装和上面一样,可以和上面的安装在同一个服务器上也可以在单独的服务器安装的,只需要在添加服务器的时候指定好URL路径即可
注意:尽量用域名访问,用IP访问会出现400错误
##############################################################################
第二种方法安装:通过 WebsitePanel Standalone Server Setup来安装
这个安装可以一次性都安装完,但这个灵活性较差,极力不推荐,第一种方法搞懂了这个权且当做扩张,实际安装一般不这样做的
检查环境成功
设置WSP Portal 门户的访问地址,域名,和端口
我这里是9001
输入数据库信息,这里简历WSP后台数据库,注意,这里不是你给客户用的,而是WSP虚拟机系统自己用的,用来保存用户信息,WSP服务器配置信息等等
如图:
依次输入:
数据库服务地址,这里可以输入IP地址(数据库是远程的话)也可以输入计算机名(本地的话)
认证方式,用SQL自身的认证
输入用户名:SA
输入密码:123456.cc
数据库名字,您随意即可
下一步,如果连接错误,您看一下您的数据库服务是否启动了呢
输入WSP Portal后台管理员密码
下一步:
安装完成:
这里提示有两个用户,serveradmin是最高权限
OK,你会发现,这三个组件同时安装上了
测试安装结果:
发现有访问:http://wsp.test.com:9001报如下错误
Could not load type ‘System.ServiceModel.Activation.HttpModule‘ from assembly ‘System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089‘.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.TypeLoadException: Could not load type ‘System.ServiceModel.Activation.HttpModule‘ from assembly ‘System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089‘.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[TypeLoadException: Could not load type ‘System.ServiceModel.Activation.HttpModule‘ from assembly ‘System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089‘.]
System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMarkHandle stackMark, Boolean loadTypeFromPartialName, ObjectHandleOnStack type) +0
System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark, Boolean loadTypeFromPartialName) +314
System.Type.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase) +95
System.Web.Compilation.BuildManager.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase) +97
System.Web.Configuration.ConfigUtil.GetType(String typeName, String propertyName, ConfigurationElement configElement, XmlNode node, Boolean checkAptcaBit, Boolean ignoreCase) +58
[ConfigurationErrorsException: Could not load type ‘System.ServiceModel.Activation.HttpModule‘ from assembly ‘System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089‘.]
System.Web.Configuration.ConfigUtil.GetType(String typeName, String propertyName, ConfigurationElement configElement, XmlNode node, Boolean checkAptcaBit, Boolean ignoreCase) +766
System.Web.Configuration.ConfigUtil.GetType(String typeName, String propertyName, ConfigurationElement configElement, Boolean checkAptcaBit, Boolean ignoreCase) +26
System.Web.Configuration.ConfigUtil.GetType(String typeName, String propertyName, ConfigurationElement configElement, Boolean checkAptcaBit) +18
System.Web.Configuration.Common.ModulesEntry.SecureGetType(String typeName, String propertyName, ConfigurationElement configElement) +59
System.Web.Configuration.Common.ModulesEntry..ctor(String name, String typeName, String propertyName, ConfigurationElement configElement) +74
System.Web.HttpApplication.BuildIntegratedModuleCollection(List`1 moduleList) +301
System.Web.HttpApplication.GetModuleCollection(IntPtr appContext) +1372
System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +152
System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +352
System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +405
System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +368
[HttpException (0x80004005): Could not load type ‘System.ServiceModel.Activation.HttpModule‘ from assembly ‘System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089‘.]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +646
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +141
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +771
--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.1
处理方法的:
这里需要注册一下ASP.NET 4.0
在命令窗口里运行一下命令即可:
aspnet_regiis.exe /iru
如果‘aspnet_regiis.exe‘ 不是内部或外部命令,也不是可运行的程序,那么就用绝对路径吧:
C:/Windows/Microsoft.NET/Framework/v4.0.30319/aspnet_regiis.exe -iru
在访问试试呢,就能看到登陆界面啦,你输入serveradmin用户即可登陆你的虚拟空间管理系统进行设置管理了,在三楼我会相信介绍如何配置管理的
配置部分
首先我们要配置好WSP Server(WSP服务器)部分,例如我这里要配置的虚拟空间要支持:PHP,MYSQL,ASP,ASP.NET,.NET2.0/3.0/4.0,那么首先要在WSP Server上配置好这些环境,那么怎么配置呢,下面一一道来
我们先通过WSP Portal来看看服务器已经安装了哪些服务:
我们可以看到,服务器已经安装了
Windows Server 2008 Internet Information Services 7.0 Microsoft FTP Server 7.0 Microsoft SQL Server 2005
这些服务就是我们以后可以分配给用户虚拟空间的服务器资源,那并没有我们要的PHP+MySQL资源,那么下面我们就来安装呗
第一步,配置环境
我们还是按照老方法手动配置吗,不用的,我们这里用微软提供的一个配置面板来配置:weplatform(Web 平台安装程序 3.0)
1,下载:
http://www.microsoft.com/web/gallery/install.aspx?appid=websitepanel
2,安装:
安装完之后出现下图所示:
这个时候不要点击安装,先退出,然后在开始菜单里面找到Microsoft Web Platform Installer,如图:
打开后
3,安装服务,这里我要安装一个WMP(mysql+php)环境
所以,这里我就用weplatform来自动安装这个环境
按图添加PHP和PHPcache
按图添加mysql,windows版
点击安装,并接受
输入mysql的root密码
点击继续,即可到安装界面,这里是边下载边安装,效率还是很高的
稍等片刻即可安装好
OK,安装好了,我们来测试一下环境是否没问题了
OK,PHP和MySQL都没有问题了
第二步:添加服务器到服务器
环境虽然配置好了,但并没有添加到WSP服务器上,这是还是不可分配给各个虚拟空间的资源,那么这里我们要通过WSP enterprise server和WSP Portal来添加这些资源
PHP不用添加了,因为PHP只是IIS的一个框架,IIS已经添加了,那么PHP自然就包括了
这里主要讲添加mysql
1,首先要安装Connector/Net 6.5.4
官方下载地址:
http://dev.mysql.com/downloads/connector/net/
本文出自 “云昊科技” 博客,请务必保留此出处http://yunhao.blog.51cto.com/8544825/1761916
原文地址:http://yunhao.blog.51cto.com/8544825/1761916