估计很多同学都还不知道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错误
##############################################################################
这个安装可以一次性都安装完,但这个灵活性较差,极力不推荐,第一种方法搞懂了这个权且当做扩张,实际安装一般不这样做的
检查环境成功
设置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://www.microsoft.com/web/gallery/install.aspx?appid=websitepanel
环境快速配置工具