小眼世界

科技成就价值 敬业,笃学,诚信,创新

windows2003 X64服务器运行php4

clock September 3, 2010 22:21 by author kobsky

由于各种原因新的dell R710服务器安装了windows 2003 x64 R2中文企业版。kobsky.aonik.com 小眼世界×g× ÒžvbJ

安装后发现在iis上运行php出错:“由于一个配置问题,无法加载 ISAPI 筛选器 php5isapi.dll'。当前配置只支持加载为 AMD64 处理器体系结构创建的映像。”kobsky.aonik.com 小眼世界×g× ÒžvbJ

32位的DLL不能在64位Windows的IIS上调用,在网上找到了解决方法。总的思路就是允许IIS支持32位程序kobsky.aonik.com 小眼世界×g× ÒžvbJ

cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1 kobsky.aonik.com 小眼世界×g× ÒžvbJ
修改IIS配置,允许32位程序运行kobsky.aonik.com 小眼世界×g× ÒžvbJ

kobsky.aonik.com 小眼世界×g× ÒžvbJ

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Windows 2003网站负载均衡实现方案

clock August 19, 2010 14:59 by author kobsky

选用windows2003 nlb实现网络负载均衡最主要的原因是零投入,不需要额外购买软硬件设备。 kobsky.aonik.com 小眼世界×g× ÒžvbJ

应用环境:运行的网站为门户首页,内容通过各种方式聚合生成后缓存在内存或本地数据库中, kobsky.aonik.com 小眼世界×g× ÒžvbJ
内容聚合程序和网站放在同一台服务器上,所以需要服务器能够访问互联网上的其他服务器。希望实现网站的负载均衡访问,一方面缓解服务器压力,另一方面确保任何一台服务器出现故障后不影响网站整体访问。 kobsky.aonik.com 小眼世界×g× ÒžvbJ

windows 2003 NLB特性: kobsky.aonik.com 小眼世界×g× ÒžvbJ
1、网络负载平衡允许你将传入的请求传播到最多达32台的服务器上 kobsky.aonik.com 小眼世界×g× ÒžvbJ
2、集群操作模式(单播/多播) kobsky.aonik.com 小眼世界×g× ÒžvbJ
如果选用单播,则必须保证所有主机都是双网卡,一个对外一个心跳。如果做负载均衡的机器不能使用NetBIOS名称解析,则可以修改机器的hosts文件,把对应NetBIOS名称和IP地址加进去。 kobsky.aonik.com 小眼世界×g× ÒžvbJ
3、使用负载均衡的注意事项:每台主机系统管理员帐号、密码必须相同。每次修改密码时,几台集群主机修改的时间间隔尽量短。 kobsky.aonik.com 小眼世界×g× ÒžvbJ

环境搭建: kobsky.aonik.com 小眼世界×g× ÒžvbJ
1,两台双网卡服务器安装windows 2003操作系统,并放置到同一个网络子网下。 kobsky.aonik.com 小眼世界×g× ÒžvbJ
2,申请同一个子网的3个公网IP地址 wip0(网站对外公布的ip地址)、 wip1(服务器A的公网地址)、 wip2(服务器B公网地址) kobsky.aonik.com 小眼世界×g× ÒžvbJ
3,将服务器A的网卡1的IP设置成wip1,网线接到外网交换机,同时在网卡1上附加一个ip地址192.168.0.1; kobsky.aonik.com 小眼世界×g× ÒžvbJ
将服务器B的网卡1的IP设置成wip2,网线接到同一个外网交换机,同时在网卡1上附加一个ip地址192.168.0.2; kobsky.aonik.com 小眼世界×g× ÒžvbJ
4,将服务器A的网卡2的IP设置成10.0.0.1,网线接到同一个外网交换机; kobsky.aonik.com 小眼世界×g× ÒžvbJ
将服务器B的网卡2的IP设置成10.0.0.12,网线接到同一个外网交换机; kobsky.aonik.com 小眼世界×g× ÒžvbJ
5,修改两台服务器的hosts文件 设定A服务器的NetBIOS地址为192.168.0.1,B服务器的NetBIOS地址为192.168.0.2 kobsky.aonik.com 小眼世界×g× ÒžvbJ
6,在服务器A中,从“管理工具”中运行打开“网络负载平衡管理器”,用鼠标右键单击“网络负载平衡群集”,从出现的菜单中选择“新建群集”,进入“群集参数”界面。 群集参数配置,主要三个地方:IP、子网掩码、Internet名称。IP为集群地址wip0,它会把客户端的请求、访问由系统自动根据网络负载路由到每个服务器上,减少单台服务器的压力。 kobsky.aonik.com 小眼世界×g× ÒžvbJ
子网掩码与服务器一致,虚拟主机名: 网站上绑了多个域名,这里留空即可;集群操作模式:单播。多播模式需要交换机支持,而我所在的网络环境当前不支持多播。 kobsky.aonik.com 小眼世界×g× ÒžvbJ
下一步:进入“附加群集IP地址”,附加群集IP地址wip1 kobsky.aonik.com 小眼世界×g× ÒžvbJ
下一步:端口规则 端口80、协议TCP、筛选模式:多主机无相似性 kobsky.aonik.com 小眼世界×g× ÒžvbJ
下一步:在“连接”界面的“主机”栏中输入当前服务器的IP地址wip1,然后点击“连接”,将在“对配置一个新的群集可用的接口”框中显示出连接的服务器的2块网卡及3个IP地址。选择网卡2 IP10.0.0.1(绑定负载均衡) kobsky.aonik.com 小眼世界×g× ÒžvbJ
7,在服务器B中,网络负载平衡管理器 连接到现存的集群,具体的NLB配置和A服务器的配置相似 kobsky.aonik.com 小眼世界×g× ÒžvbJ

技术思考:假设现在有一个对wip0的访问 kobsky.aonik.com 小眼世界×g× ÒžvbJ
1,该访问请求到达2台服务器所在的上层路由器,路由器查找wip0对应的mac地址存在,于是将请求传到服务器所在子网。 kobsky.aonik.com 小眼世界×g× ÒžvbJ
2,由于使用了NLB负载均衡 服务器A和B的网卡2都具有的和wip0同样的mac地址,所以2台服务器都收到了该请求 kobsky.aonik.com 小眼世界×g× ÒžvbJ
3,NLB软件相互通讯以决定谁来响应该请求。 kobsky.aonik.com 小眼世界×g× ÒžvbJ
由于服务器A和B的网卡2具有相同的mac地址所以它们之间不能通信, kobsky.aonik.com 小眼世界×g× ÒžvbJ
由于hosts文件中设置的NetBIOS地址是网卡1的192.168.0.1/2私网地址,所以NLB之间的通信是通过网卡1来完成的 kobsky.aonik.com 小眼世界×g× ÒžvbJ
服务器A和B根据NLB中设定的端口规则决定谁来响应这次请求,另外一台服务器直接将该请求丢弃 kobsky.aonik.com 小眼世界×g× ÒžvbJ
4,之所以在两台服务器的网卡1上配置外网地址wip1/wip2是为了聚合软件能够访问互联网,或者分别远程登录等一些与均衡负载无关的事情,如果没有这些需求也可以不配置外网地址wip1/wip2kobsky.aonik.com 小眼世界×g× ÒžvbJ

kobsky.aonik.com 小眼世界×g× ÒžvbJ

Currently rated 3.0 by 2 people

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


ipcam无线网络摄像机使用配置

clock August 16, 2010 16:55 by author kobsky

使用过程: kobsky.aonik.com 小眼世界×g× ÒžvbJ
1,使用查找器设置网络摄像机或电脑ip使得可以用web方式管理摄像机 kobsky.aonik.com 小眼世界×g× ÒžvbJ
2,设置adsl帐号,设置无线局域网,设置基本网络设置为从DHCP获取ip kobsky.aonik.com 小眼世界×g× ÒžvbJ
查找局域网后点击其他链接再点回无线局域网设置页面就才能看到搜索到的无线信号 kobsky.aonik.com 小眼世界×g× ÒžvbJ
3,设备重启后,用域名访问 kobsky.aonik.com 小眼世界×g× ÒžvbJ
4,设置邮件服务器 测试时用的qq邮箱 单qq邮箱的smtp用户名包含"."是测试失败,直接用qq号做smtp用户名,测试成功 kobsky.aonik.com 小眼世界×g× ÒžvbJ
5,设置ftp服务器 kobsky.aonik.com 小眼世界×g× ÒžvbJ
6,设置报警服务器 勾选报警后邮件通知和ftp上传图片(上传图片间隔要大于0),日程安排不勾选表示一直监控 kobsky.aonik.com 小眼世界×g× ÒžvbJ

7,在集中监控端录像或者移动侦测后录制视频时,如果使用的是无线局域网需要注意设备的摆放位置,如果放在角落或者信号弱的地方会导致设备不停的断网联网,视频没法录制,一片黑kobsky.aonik.com 小眼世界×g× ÒžvbJ

kobsky.aonik.com 小眼世界×g× ÒžvbJ

Currently rated 5.0 by 1 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


初试SQLite

clock August 9, 2010 20:51 by author kobsky

SQLite是一个软件库,用于实现自包含、非服务式、零配置、事务化的SQL数据库引擎。 kobsky.aonik.com 小眼世界×g× ÒžvbJ
SQLite是一个嵌入式SQL数据库引擎,与其它大多数SQL数据库不同的是,SQLite没有独立的服务进程。 kobsky.aonik.com 小眼世界×g× ÒžvbJ
SQLite直接读写原始的磁盘文件,一个拥有多个表、索引、触发器和视图的完整SQL数据库就包含在一个独立的磁盘文件中。 kobsky.aonik.com 小眼世界×g× ÒžvbJ
数据库文件的格式是跨平台的,你可以在32位和64位系统之间、甚至在Big-Endian和Little-Endian两种不同的架构间自由地拷贝数据库,这一特性让SQLite成为应用文件格式的一种流行选择。 kobsky.aonik.com 小眼世界×g× ÒžvbJ
SQLite已经是世界上布署得最广泛的SQL数据库引擎,被用在无以计数的桌面电脑应用中,还有消费电子设备中,如移动电话、掌上电脑和MP3播放器等。 kobsky.aonik.com 小眼世界×g× ÒžvbJ
SQLite的源码就放在公有领域(即WikiPedia的public domain)中。kobsky.aonik.com 小眼世界×g× ÒžvbJ

 kobsky.aonik.com 小眼世界×g× ÒžvbJ

1. 下载并安装SQLite:http://www.sqlite.org/download.html kobsky.aonik.com 小眼世界×g× ÒžvbJ
2. 创建SQLite数据库:sqlite3.exe mydata.db kobsky.aonik.com 小眼世界×g× ÒžvbJ
3. 下载并安装SQLite GUI工具:SQLiteMan kobsky.aonik.com 小眼世界×g× ÒžvbJ
4. 在SQLite GUI工具中创建数据表 kobsky.aonik.com 小眼世界×g× ÒžvbJ
或者使用ADO.NET 2.0 Provider打开VS中的服务器资源管理器维护表信息 kobsky.aonik.com 小眼世界×g× ÒžvbJ
5. 下载并安装ADO.NET 2.0 Provider for SQLite kobsky.aonik.com 小眼世界×g× ÒžvbJ
6. 下载并安装DLinq207用于生成DataContext kobsky.aonik.com 小眼世界×g× ÒžvbJ
复制ADO.NET 2.0 Provider for SQLite安装目录下的bin\System.Data.SQLite.DLL和bin\System.Data.SQLite.Linq.DLL到DLinq207安装目录下 kobsky.aonik.com 小眼世界×g× ÒžvbJ
在控制台下运行命令: kobsky.aonik.com 小眼世界×g× ÒžvbJ
DbMetal.exe /database:Data /namespace=LinqToSQLite /code=Mydata.cs /provider=Sqlite /conn="data source=D:\mydata.db" kobsky.aonik.com 小眼世界×g× ÒžvbJ
DbMetal.exe /database:生成的类名 /namespace=命名空间 /code=文件名 /provider=Sqlite /conn="data source=数据库路径" kobsky.aonik.com 小眼世界×g× ÒžvbJ

kobsky.aonik.com 小眼世界×g× ÒžvbJ

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


flash与js跨域调用

clock August 8, 2010 13:14 by author kobsky

之前用aflax调用网页js一直比较正常,今天将aflax移到另一个域名下再调用原来域名的js发现失败了。初步判断是跨域调用的权限问题。kobsky.aonik.com 小眼世界×g× ÒžvbJ

在FLASH脚本调用处加上参数:<param name="allowScriptAccess" value="always" />kobsky.aonik.com 小眼世界×g× ÒžvbJ

在flash里加上:System.security.allowDomain("*");kobsky.aonik.com 小眼世界×g× ÒžvbJ

问题得以解决。kobsky.aonik.com 小眼世界×g× ÒžvbJ

 kobsky.aonik.com 小眼世界×g× ÒžvbJ

allowScriptAccess 

Flash Player 自版本 6 以来, 一直支持一个称为 allowScriptAccess 的 HTML 参数。此参数用于控制是否允许 SWF 中的 ActionScript 在包含它的 HTML 页中调用 JavaScript。 (反之则不进行控制, 即 JavaScript 调用受 System.security.allowDomain 控制的 ActionScript。) kobsky.aonik.com 小眼世界×g× ÒžvbJ

allowScriptAccess 可能存在如下值: kobsky.aonik.com 小眼世界×g× ÒžvbJ

  • always: 始终允许 ActionScript 调用 JavaScript
  • sameDomain: 仅当 SWF 和 HTML 页来自同一域时, 才允许 ActionScript 调用 JavaScript
  • never: 从不允许 ActionScript 调用 JavaScript

在 Flash Player 6 和 7 中, allowScriptAccess 的默认值 (如果未由 HTML 页指定) 为“always”。需要单独说明的是, 在 Flash HTML 发布模板中, allowScriptAccess 的默认值始终为“sameDomain”。如果不修改 Flash HTML 发布进程输出, 那么您将会看到“sameDomain”行为, 这是因为 HTML 页会为 Flash Player 指定“sameDomain”。 kobsky.aonik.com 小眼世界×g× ÒžvbJ

在 Flash Player 8 中, 当 Flash Player 中的主 SWF 为 7 版或更早版本时, 未指定的 allowScriptAccess 的默认值将始终为“always”, 而当主 SWF 为 8 版或更高版本时, 该默认值会变为“sameDomain”。kobsky.aonik.com 小眼世界×g× ÒžvbJ

allowScriptAccess 参数允许 HTML 页包括 Flash 内容, 但禁止它在 HTML 页中执行脚本。当 HTML 页源自它可能并不信任的 Flash 内容时, 这一点很有用。例如, 如果您负责维护一个论坛, 其中的用户可能会包括他们自己制作的 SWF 签名, 并且生成的 HTML 将直接源自这些 SWF, 那么您可能不希望这些 SWF 能够在您的 HTML 页中执行脚本。kobsky.aonik.com 小眼世界×g× ÒžvbJ

下面是有关如何指定 allowScriptAccess 的示例: kobsky.aonik.com 小眼世界×g× ÒžvbJ

<object
classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0"
width="375" height="300" › 
<param name="movie" value="hello.swf" › 
<param name="allowScriptAccess" value="sameDomain" › 
<embed
pluginspage="http://www.macromedia.com/go/getflashplayer_cn"
type="application/x-shockwave-flash"
src="hello.swf"
width="375" height="300"
allowScriptAccess="sameDomain" › 
</object › 
          
allowDomain

从 Flash Player 8 开始, System.security.allowDomain() 接受单个星号“*”作为通配符。调用 System.security.allowDomain("*") 的结果是允许通过所有 域而非特定域中的其它 SWF 进行脚本访问。kobsky.aonik.com 小眼世界×g× ÒžvbJ

如果您所在的环境中没有需要保护的敏感数据, 并且您需要公开与其它域共享数据, 则使用此通配符权限会很方便。但在调用 System.security.allowDomain("*") 之前, 请确保调用 SWF 不包含需要保密或半保密的任何信息或 ActionScript 代码。调用 System.security.allowDomain("*") 后, 来自 Internet 中任意位置的任意 SWF 都可以加载您的 SWF 并对其进行脚本处理, 即便 SWF 由恶意作者编写时也是如此。 kobsky.aonik.com 小眼世界×g× ÒžvbJ

请注意, 在以下情况中, 您可能必须调用 System.security.allowDomain(), 即在运行之前, 您不知道提供协作 SWF 的域, 这可能是因为协作 SWF 由负载平衡簇提供, 或者是因为将在多个不同域中使用您的 SWF。在此情况下, 请勿盲目调用 System.security.allowDomain("*")!如上所述, 这将打开您的 SWF, 从而完全允许 Internet 上的其它任何 SWF 对其进行脚本处理。请等至协作 SWF 加载完毕, 然后使用 ActionScript property MovieClip._url 确定它的域。在将 _url 属性值传递给 System.security.allowDomain() 之后, 引用的影片剪辑中的 SWF 应该能够对调用 System.security.allowDomain() 的 SWF 进行脚本处理。kobsky.aonik.com 小眼世界×g× ÒžvbJ

Flash Player 8 允许任意版本的 SWF 向 System.security.allowDomain() 传递“*”。但如果您要在低于 8 版的 SWF 中调用 System.security.allowDomain("*"), 那么在执行操作前, 一定要测试播放器的版本 (System.capabilities.version) 看是否至少为 8, 这是因为较早版本的 Flash Player 不会将“*”识别为 System.security.allowDomain 的参数。kobsky.aonik.com 小眼世界×g× ÒžvbJ

kobsky.aonik.com 小眼世界×g× ÒžvbJ

Currently rated 2.0 by 1 people

  • Currently 2/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


ftp计划任务备份数据库奇怪故障

clock July 28, 2010 21:18 by author kobsky

使用计划任务下载数据库备份文件,文件大概2.3G。kobsky.aonik.com 小眼世界×g× ÒžvbJ

编写ftp自动运行脚本加入到计划任务达到每天自动异地备份数据库的目的。kobsky.aonik.com 小眼世界×g× ÒžvbJ

每次ftp已经把文件下载到本地临时目录后,客户端的dos窗口就出现吊死状态,而到服务端serv-u面板查看发现,服务端已经完成数据传输并断开了连接同时注销了用户。奇怪的是客户端对这一切都没有感知,还保持着连接状态,计划任务一直不能往下运行。kobsky.aonik.com 小眼世界×g× ÒžvbJ

因为之前在另外一台服务器上做同样的计划任务没有发现这些问题,所有初步判断服务器端应该没有问题。kobsky.aonik.com 小眼世界×g× ÒžvbJ

因为客户端服务器是新装的系统,本身应该没有问题。刚刚打了sp2补丁,怀疑需要重启。但是重启后还是故障依旧。kobsky.aonik.com 小眼世界×g× ÒžvbJ

通过进一步分析发现服务器端只允许主动模式连接,当客户端连接其21端口时正常,当服务器用20端口回连客户端的port端口时发现,服务的和客户端的端口不一致。也就是说在客户端看到其1111端口连接了服务器端的20端口,但是在服务器端看到其20端口连在了客户端的2222端口,再到客户端发现客户端根本没有打开2222端口,现在怀疑网络层有问题,有设备接管了客户端与服务器端的连接,充当了中间人的角色。kobsky.aonik.com 小眼世界×g× ÒžvbJ

将服务器的的serv-u设置成被动模式后,在客户端用FlashFXP被动模式连上服务器下载备份文件,发现一切正常了。现在判断网络层问题发生在离客户端较近的地方。kobsky.aonik.com 小眼世界×g× ÒžvbJ

现在的问题是windows自带的ftp.exe根本不支持被动模式,所以还是不能完成原先的任务:自动下载数据库备份文件。kobsky.aonik.com 小眼世界×g× ÒžvbJ

经过一番网络搜索最终发现了Ncftp这款软件,开源软件,能够在windows命令行模式下运行,且支持被动模式。还支持断点续传。kobsky.aonik.com 小眼世界×g× ÒžvbJ

其中ncftpget默认使用被动模式下载文件。kobsky.aonik.com 小眼世界×g× ÒžvbJ

set dwfile=db_%date:~0,4%%date:~5,2%%date:~8,2%* kobsky.aonik.com 小眼世界×g× ÒžvbJ
ncftpget -u 用户名 -p 密码 服务器ip D:/dbBack %dwfile%kobsky.aonik.com 小眼世界×g× ÒžvbJ

其中D:/dbBack 为本地路径 kobsky.aonik.com 小眼世界×g× ÒžvbJ
dwfile为要下载的文件名 支持通配符kobsky.aonik.com 小眼世界×g× ÒžvbJ

kobsky.aonik.com 小眼世界×g× ÒžvbJ

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Calendar

<<  September 2010  >>
SunMonTueWedThuFriSat
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

View posts in large calendar

最新评论

Comment RSS

Sign in