虚拟主机管理系统开发日志(1)
2008-09-01 16:51
459 查看
虚拟主机管理系统开发遇到的一些问题
1.虚拟主机管理系统中会设置针对某一个文件夹的IUser的用户权限,但网站本身就是使用IUser登录的,怎么能设置自已的访问权限呢?
2.新建IIS站点的时候必须设置应用程序池,而这个应用程序池是由IIS来维护的,用户如何知道有哪些应用程序池是可用的并进行设置呢?
3.Ftp用户需要一个DomainID,类似于应用程序池,这个值由Serv_u来维护,该如何获取?
4.Serv_U中[Domain](Domain后面还应该带上域ID)节点中每个User后面都有一个序列号,这个序列号如何设置?
5.Ftp用户的到期时间如何设置?
针对以上几个问题的解决办法:
1.服务器端使用一个WindowsService来进行实际的对IIS和Serv-U的操作,采用数据库中的一个表作为桥梁,网站有更新数据的话只需要更新此表中的数据即可。
如果是SqlServer2005的话,数据库可以主动去调用.net Windows服务,利用此功能,当有新的更新的时候让数据库主动向Windows服务发起请求,这是最好的办法。但SqlServer2000中没有这个功能,所以我采用了在Windows服务中加一个定时器,定时去检查数据库中的表,根据检索出来的数据来进行更新。为了加快检索速度,这个桥梁表中应保存尽量少的数据,我的做法是建立一个队列表,里面只保存要更改的类型、ID、操作类型,Windows服务执行操作成功以后立即删除记录,这样可以保持此表中不会有大批量的记录(除非是大批量的还原数据),减轻数据库服务器的负担。
2-3.既然采用了Windows服务,第2和第3个问题也就变得相对简单,服务启动的时候去检查IIS和Serv-U,并初始化数据库中的表,无法解决的问题是:添加或删除应用程序池和域的时候,需要重新启动服务。也可以让服务定时去检查IIS和Serv-U,但获得的功能和耗费的资源相比是否值得需要自己去斟酌。
4.第4个问题,此序列号并没有什么用,但对此域下面的所有用户来说,序列号必须是从1开始并且连续的,一旦有一个没有,例如直接从3跳到了5,那么第5个以及后面的用户就无法登录。
5.针对第5个问题,我仔细研究了Serv-U的配置文件,Expire字段的值是一串奇怪的数字,不知道如何计算出来的,但我发现一个规律,就是用户的到期时间每增加一天,这个数字就增加 24*60*60,也就是一天的秒数。于是,我在Serv-U中添加一个用户,设置其到期时间为2000-1-1,得到配置文件中的数字为946656000,然后以2000年1月1日为基数,判断到期时间与此基数相差的天数,计算出一共有多少秒再加上946656000,得到的就是最后正确的到期时间。
1.虚拟主机管理系统中会设置针对某一个文件夹的IUser的用户权限,但网站本身就是使用IUser登录的,怎么能设置自已的访问权限呢?
2.新建IIS站点的时候必须设置应用程序池,而这个应用程序池是由IIS来维护的,用户如何知道有哪些应用程序池是可用的并进行设置呢?
3.Ftp用户需要一个DomainID,类似于应用程序池,这个值由Serv_u来维护,该如何获取?
4.Serv_U中[Domain](Domain后面还应该带上域ID)节点中每个User后面都有一个序列号,这个序列号如何设置?
5.Ftp用户的到期时间如何设置?
针对以上几个问题的解决办法:
1.服务器端使用一个WindowsService来进行实际的对IIS和Serv-U的操作,采用数据库中的一个表作为桥梁,网站有更新数据的话只需要更新此表中的数据即可。
如果是SqlServer2005的话,数据库可以主动去调用.net Windows服务,利用此功能,当有新的更新的时候让数据库主动向Windows服务发起请求,这是最好的办法。但SqlServer2000中没有这个功能,所以我采用了在Windows服务中加一个定时器,定时去检查数据库中的表,根据检索出来的数据来进行更新。为了加快检索速度,这个桥梁表中应保存尽量少的数据,我的做法是建立一个队列表,里面只保存要更改的类型、ID、操作类型,Windows服务执行操作成功以后立即删除记录,这样可以保持此表中不会有大批量的记录(除非是大批量的还原数据),减轻数据库服务器的负担。
2-3.既然采用了Windows服务,第2和第3个问题也就变得相对简单,服务启动的时候去检查IIS和Serv-U,并初始化数据库中的表,无法解决的问题是:添加或删除应用程序池和域的时候,需要重新启动服务。也可以让服务定时去检查IIS和Serv-U,但获得的功能和耗费的资源相比是否值得需要自己去斟酌。
4.第4个问题,此序列号并没有什么用,但对此域下面的所有用户来说,序列号必须是从1开始并且连续的,一旦有一个没有,例如直接从3跳到了5,那么第5个以及后面的用户就无法登录。
5.针对第5个问题,我仔细研究了Serv-U的配置文件,Expire字段的值是一串奇怪的数字,不知道如何计算出来的,但我发现一个规律,就是用户的到期时间每增加一天,这个数字就增加 24*60*60,也就是一天的秒数。于是,我在Serv-U中添加一个用户,设置其到期时间为2000-1-1,得到配置文件中的数字为946656000,然后以2000年1月1日为基数,判断到期时间与此基数相差的天数,计算出一共有多少秒再加上946656000,得到的就是最后正确的到期时间。
相关文章推荐
- 虚拟主机管理系统开发日志(2)
- cPanel发布11.32新版本 打造高性能虚拟主机管理系统
- ZPanel-开源免费的虚拟主机在线管理系统
- nginx运维(3)nginx虚拟主机,日志管理与location
- C#_会员管理系统:开发四(日志查看)
- 《当老温遭遇C#》之虚拟主机管理系统 【附核心实现源码】【另可提供中国各大域名服务端接口】[收藏]
- 基于centos 5.5定制版集成ispconfig,webmin虚拟主机管理系统
- 开源或免费虚拟主机管理系统
- CentOS 5 安装免费虚拟主机管理系统Kloxo
- 山大场馆管理系统 开发日志1
- 开源的主机管理系统/虚拟主机控制面板
- 自己开发的日志管理系统
- python 之路,Day27 - 主机管理+堡垒机系统开发
- 最简单、最傻瓜化的虚拟主机管理软件-LuManager主机管理系统
- 仓库管理系统开发日志!(C#和ASP.NET)
- wdcp服务器/虚拟主机管理系统1.1发布
- Winform开发框架之权限管理系统改进的经验总结(4)-一行代码实现表操作日志记录
- 有星外虚拟主机管理系统下MSSQL2005服务器因重装改名后出错的解决办法
- 拒绝星外虚拟主机管理系统超级用户freehostrunat远程桌面提高安全