K3CLOUD V5 部署多应用服务器详解
金蝶云社区-huly
huly
2人赞赏了该文章 988次浏览 未经作者许可,禁止转载编辑于2017年06月09日 10:44:11

因为测试的需求,我需要多建一个完全独立的环境,于是就想着新建一个应用服务器,我对K3是个小白,面对这么艰巨的任务我在论坛上翻了2天,把论坛上七零八落的资料都看了个遍,终于解决了全部问题,然后才发现,其实 。。。SO。。。EASY~~~
论坛上的各位大牛和版主解答问题有个共性,就是说点不说点,看的我是连蒙带猜。。。下文中的技术实施方案非本人原创,全部材料均来自于金蝶K3CLOUD论坛,我只是做资料整合而已,所以,我只是个搬运工哈~~~

背景:
阿里云ECS服务器A,部署了管理中心+应用服务+数据库,三合一大全,嘿嘿~~~

目的:
创建一台单独的应用服务及数据库服务器B,复制现有的数据中心,使之可以成为一个单独的运行环境,方便各种测试各种重启。

开始:直接用服务器A创建自定义镜像,然后购买新服务器,使用刚创建的镜像,如此,完成了服务器B的建立(复制A)。

新服务器建好后,把IIS里的管理中心站点服务停掉,我是在高级设置里面把服务类型的HTTP直接删掉了,不过我复制的服务器B里面的管理站点本来也无法启动,有报错,我也没理它,反正8000端口不要用了,防火墙那里我也把8000端口给封了。
这样就完成最开始的准备工作了,由于是复制的,数据库的SA密码是一样的。如此就又多了一个应用服务器和数据库。

1.首先,管理中心里的主机地址不能是127.0.0.1localhost,请用主机名,如果已经是这样了,请重新注册,不是创建。
http://iz94********pz:8000/Silverlight/CMC.aspx


2.应用服务器上在HOSTS文件内添加管理中心服务器的地址解析。c:/windows/system32/drivers/ect/hosts注意这个文件不能直接编辑,因为不能保存,拷贝出来改完再覆盖回去。
(App:代表拟作纯应服务机器,MC:代表管理中心所在机器 3. 修改App{安装目录}\WebSite\App_Data\Common.config 文件中的 我在上面的MCIP这里填入的是MC的主机名,由于我做了本地域名解释,所以这样是可以的。当然从理论上来说,可以直接填IP,也不用改HOSTS文件,我为啥要兜这圈子呢,我也不知道。。。
4. 修改MC{安装目录}\MangeSite\App_Data\KDEnvironment.xml 文件中的添加下述行 IP" Type="All" />这个很简单,我就直接填入了IP,是阿里云的内网IP,因为我的服务器都是阿里云的,所以服务器之间通讯都使用的内网IP,可以不占流量,省钱哈,虽然没几个钱,不过苍蝇也是肉啊~~~
5. 开放MC机器的8000/21端口(或关闭防墙,不推荐)
6. 开放App机器的8088/8087端口(或关闭防墙,不推荐),我没开8087端口。做完上面这些重启IIS,重启K3CloudManage服务,应该就可以在管理中心的站点关联里面看到多了一个站点了,如果还看不到就重启下服务器吧。
7. 应用服务器中这个路径下的:\Kingdee\K3Cloud\WebSite\App_Data,这个配置文件SiteInfo.xml打开编辑:就在最顶部几行有这个K3CloudID字段改成不一样的,比如:K3Cloud01修改后,重启IIS,重启K3CloudManage服务。说明一下这一步的作用,由于我是克|隆的服务器,所以里面的所有文件都是一模一样的,最初配置完之后发现在管理中心里面的站点关联里点一个掉任何一个站点再进去看发现还是关联的2个站点,就是因为两个服务器里的这个文件的这个字段是一样的,所以修改一下应用服务器的这个,使之与MC的不一样,一切就都正常了,正常的情况下是这样的,没选的那个是红色的,之前没选的那个不会变成红色,还是黑色。正常的情况如下图。


最后,在管理中心注册新的数据中心,使用服务器B上复制的数据库,然后为每个数据中心关联不同的站点。
如此,就可以有一个单独的应用服务器跑一个现有的复制出来的数据中心,这对于有需要开发测试的人来说是非常好用的,可以为所欲为了。
如果只是为了做服务器分流,最后就不用注册新的数据中心了,只需要为不同的数据中心关联不同的站点就行了,我看到许多人有这样的需求,就是不同的人登录不同的服务器只看到特定的数据中心,也可以用这个方法来实现。
当然论坛上还有教在同一台物理机器上建多站点的教程,但是好像只有6.0猜支持,我没试过,附上一个详细的教程文档,不是我写的哈,我只是转载。
希望能帮到有需要的同学,不用再各种翻贴:/victory::/victory::/victory:
补充说明:若做多应用服务器集群实现站点负载平衡或冗余,单据所涉及到的插件文件必须要在每个站点上都有一份同样的才行。