童年原是一生最美妙的阶段,那时的孩子是一朵花,也是一颗果子,是一片懵懵懂懂的聪明,一种永远不息的活动,一股强烈的欲望。——巴尔扎克
现在位置:首页 > 网站建设
  • 企业信息系统建设的5个阶段

    转载2020-2-90评论14319
    本文作者从行业现状出发,结合企业发展过程中接入信息系统的背景,梳理阐述了信息系统在企业应用的5个阶段。 信息系统基本涵盖了公司的所有方面,从员工到业务,算一个较重的工具。 很少有公司在成功之初就上大型的信息系统,基本是企业人数、业务,发展到一定规模才会上专业的管理软件。毕竟不可能公司一成立就知道该如何规范管理,在这之前一般都会用较零散、简单的小系统来支撑部分管理要求。 所以本文以企业在正向发展壮大的过程中接入信息系统为背景来阐述这几个阶段。 第一阶段、系统记录代替手工记录 起初,新系统推广,大部分员工的接受度较低,推行阻力较大(若是年轻化、对新事物接受度较高的公司,推行起来阻力较小)。因为系统有特定的格式、要求,和现有熟悉的工作方式有所不同,但大家都习惯了原先的方式,新系统需要花时间适应,所以在推行过程中会遇到拒绝使用、不配合使用、唱反调这种情况也很正常。 这个阶段对系统的使用要求较低,主要是记录,将所有线下记录的信息、走的流程都移到线上,便于后期查询。 在这个阶段,系统设计尽量与原始工作方式相似,减少出入,让用户以最快的时间熟悉系统,接受新工作方式。此时最好还要有较高职位的管理者强制推行,否则很容易变成死系统。 第二阶段、解决简单、重复问题 使用一段时间后,用户对系统有一定认识,能感受到系统带来的便利后,会提出一些现有系统不合理或者可以优化的部分以及在工作中遇到人工不好解决但系统可以解决的问题。 这个阶段需要产品向用户了解常见问题,以及发现需要简化的环节,让用户主动向你表达他们的诉求。然后在现有基础上做优化,简化工作,比如公开审批信息、开放员工联系方式、公共资料查询等。 第三阶段、管理要求融入系统 企业管理者和员工都较依赖信息系统了,这时可以纠正管理过程中发现的一些问题,直接把管理要求嵌在系统里,达到企业管理效果。 比如:财务制度要求必须先收款再开票,技术人员必须在规定时间反馈进度,业务员在签单半个月未收到回款影响绩效等等,都可以通过系统的方式来管理。 这个阶段需要产品熟知公司的管理制度,了解各部门的管理要求。让管理者表达他们的管理诉求,将管理制度拆解为具体的系统设计,通过系统的方式达到管理效果。 第四阶段、通过数据监控企业经营情况 经过大量的数据积累,系统内的数据已经足够分析企业经营状况了。企业管理者通过数据分析就知道新产业推行情况,员工的成长期等等,并且通过系统数据也能看出企业目前经营中出现的问题。 这个阶段需要产品站在企业经营的角度,多方面整理企业数据,将各板块的数据整理后呈现给各自需要的人,方便其对下一步做规划。 第五阶段、智能办公、解放人力 经过前期管理要求梳理,流程梳理,公司的前后端都能通过系统流水的运转起来。此时我们可以将流水线上多出的人员裁掉,减少人力资源投入,让标准规范的工作通过系统来运转,减少人为干预,把人员解放出来,做非标准、设计、思考的工作。 从上文我描述的情况来看,系统是先满足普通员工的诉求,再达到企业的管理要求。虽然信息系统的付费方是企业管理主,但实际使用更多的还是普通的员工,所以我们应该先照顾员工的使用习惯,再达到企业管理者的管理要求,这样推行起来才会更顺利。 以上是个人根据工作经验得出的信息系统应用的五个阶段。不同企业在不同阶段的时间长短不一,具体要根据实际情况做分析。 本文由 @Rabbit 原创发布于人人都是产品经理,未经作者许可,禁止转载。 题图来自Unsplash,基于CC0协议。
  • Java开发者推荐的10种常用工具

    建站知识2020-2-80评论12705
    以下是Java程序员在日常生活中最常用的10种工具。如果你正在使用Java,本文介绍将会对你有所帮助,如果你还不熟悉这些工具,在这里你可以对它们进行更加系统的了解。 1) IDE:Eclipse和NetBeans IDE是Java开发人员最为重要的工具。IDE不仅提供了集成的开发环境,还能够帮助导航、调试和记录代码。Eclipse作为行业领导者,有一半的Java开发人员都在使用它。而在编写测试程序、测试和调试Java web开发的新事物方面,我更推崇Netbeans,这是因为在web开发方面Netbeans更加容易使用,它附带了tomcat已经其它的一些应用服务器,方便于项目的创建、运行与调试。 2) 文本编辑器:Edit Plus, Notepad++和Sublime Edit plus和Notepad++是两个不同用法的文本编辑器——记录随机想法,查看部分日志文件或者文档创建。Edit Plus最优秀的地方是它非常快速、流畅,并支持所有正则表达式的查找和替换任务。Notepad++可以打开任何类型的Java文件,甚至包含了未在IDE配置的文件,此外,它还支持语法高亮,这使得代码的阅读更加容易。此外,SubLime文本编辑器也备受人青睐,它有一个最大的好处就是免费。 3) 浏览器:Chrome和Firefox 无论你是在Java、C++、UNIX还是Network领域,在软件开发中,Google都是你的朋友和最重要的工具之一。为了有效地使用Google的服务,在IE没落的今日,你需要一个快速而流畅的浏览器,Google Chrome和Firefox是我最喜欢的两款浏览器。它们包含了检查和可视化等功能的内置web工具,因此,你可以使用它们检查HTML、CSS代码,进行代码修改调试,检查HTML、JavaScript文件在加载时所产生的错误等,这些信息对于Java EE开发人员和其它web开发人员是非常有用的。整个工具套件也被称为Chrome开发工具。 4)数据库开发:Aqua Data Studio Aqua Data Studio是基于Java的数据库开发工具。你可以使用Aqua Data Studio连接Oracle、Sybase或SQL Server数据库。因此,如果你没有使用Oracle developer Studio或SQL Server Management Studio等特定于数据库的工具的时候,可以考虑AquaStudio。如果你需要连接到不同类型的数据库,那么它就更有用了,此外,除开AquaStudio的另一种选择是DB Artisan,但我不是很推荐它。Aqua Data Studio和DB Artisan都是付费工具,你需要授权许可才能使用。 5) XML文件工具:XMLSpy XMLSpy是一个用于处理XML文件的收费软件,它支持XML文件搜索、XPATH查找、XPATH和XSLT的转换。XMLSpy的一个突出优点是支持对4,5M这样的大型XML文件进行处理,而不用担心其在Windows环境中崩溃。虽然你也可以使用Notepad + +或Internet explorer来打开XML文件,但在处理大型XML文件时会出现崩溃的状况,因此它们都不是最佳的选择。 6)插件:Eclipse插件 我使用过Eclipse中的大量插件,比如,用于反编译Java类文件的JadEclipse,用于创建UML图的eUML,用于创建和运行基于Maven项目的M2Eclipse,用于连接Eclipse源代码控制存储库的SVN和CVS插件以及用于静态代码分析的Findbugs插件。此外,这里还包含了许多关于Git的插件,这意味着你可以在Eclipse的Git存储库中创建Java项目。 7)服务器连接:Putty和Putty Connection Manager 由于我主要在Linux平台上工作,并且总是需要连接到不同的Linux服务器,因此我经常将Putty Connection Manager与Putty搭配一起使用。Putty是一个SSH客户端,它支持连接到任何UNIX服务器,并且通过使用Putty Connection Manager,你可以预先配置所有主机、用户名和密码,这将为你提供对任何主机的一键访问。如果你必须登录在多个环境中,例如测试、开发、验收测试、QA等,我强烈建议使用Putty Connection Manager。此外,Putty connection manager还有一些不错的替代者,比如mRemote和Putty Multi-Manager。 8)文件传输:FileZilla 如果你的开发环境是Windows,而你的应用程序需要运行在UNIX或者Linux上,那么你肯定需要一个工具来将文件从Windows转移到Linux或者从UNIX到Windows。 有许多工具和sftp客户端支持你将文件从Linux复制到Windows上,我尝试过FileZilla和WinSCP,但FileZilla才是我的最爱。通过SFTP,它可以将文件从Windows转到Linux,或者从Linux到Windows。FileZilla的下载使用是免费的,这真是一个了不起的FTP客户端。 9)文本文件对比:Beyond Compare Beyond Compare是我最喜欢的比较工具。在开发的过程中,文件对比是最常见的工作之一,有时文件产生了变更需要了解变化,有时需要对比两个不同服务器的配置文件,有时需要比较两个不同版本的文件以了解bug产生的时段。虽然,你也可以使用Eclipse中的文本文件对比功能,但是在预发布和发布后活动方面Beyond Compare更有帮助,它能够验证所有文件是否处于正确的位置。Beyond Compare还可以直接对比UNIX窗口的文件、文件夹和路径,这为你了解哪些文件被新增和移除提供了可视化。Beyond compare不是一个免费的工具,它需要授权许可才可以使用。我正在寻找一个能够提供类似功能的免费工具,虽然WinMerge可以作为一个参考,但还是不很理想。 10)命令行工具:Cygwin 由于我主要在UNIX窗口上工作,我的全部Java应用程序都运行在这个环境里。但是,当我需要在Windows山上工作时,许多工具和命令都无法再使用,比如find、grep, xargs和vi。Cygwin可以在Windows上搭建仿UNIX环境,因此,如果你碰巧喜欢Linux,并且在Windows中开发Java程序时错过了它,那么Cygwin是一个不错的选择。此外,你也可以在VirtualBox上设置环境,并在这里安装Linux。 以上就是推荐Java程序员使用的工具列表。还有一些其它的工具,比如深受Java开发者欢迎的基于Windows的SVN客户端工具tortoise SVN和CVS,微软的Office系列工具Excel、Word、PowerPoint等,我没有在列表中列举,但是非常重要。还有对Java JEE开发者非常有用的工具Chrome Developer Tools、Firebug和Postman,它们都值得一提。
  • Windows Server 2012 R2搭建IIS服务器

    建站知识2017-3-280评论16337
    windows server 2012 R2搭建IIS服务器 局域网Web服务器的主要功能是实现资源共享,同时借助于局域网服务器访问页面可有效的实现信息的同步。利用Web服务器,我们随时随地都可以将自己的信息上传到服务器端,让其它关注你的用户能在第一时间内了解的思想和动态。下面我们就来交大家如何在windows server 2012 R2的环境下搭建IIS服务器: 首先我们打开服务器管理器: 点击添加角色和功能: 系统给我们弹出了安装向导,我们点击下一步: 这里我们选择基于角色或基于功能的安装,点击下一步: 这里我们勾选从服务器池中选择服务器,并确定主机名和IP地址没有问题后点击下一步: 这里我们勾选WEB服务器(IIS): 在此我们点击添加功能: 确保web服务器(iis)处于选中状态,我们点击下一步: 在此我们直接点击下一步: 在此系统给我们解释了一下web服务器(iis)角色的一些注意事项,我们直接点击下一步即可: 这里确定我们所要安装的角色服务没有问题,点击下一步: 对于我们所要安装的内容确认无误后,点击安装: 安装开始,我们稍等片刻: OK、安装完成我们点击关闭 打开服务器管理器----工具: 点击IIS管理器: 到这里可以看到我们的IIS管理工具以及可以正常运行了,下面我们通过IE访问来看一下我们的IIS是否搭建成功: 打开IE浏览器,输入http://localhost:然后敲回车: 看到如上图所示界面就证明我们的IIS服务器搭建成功了! OK、到这里我们的实验就结束了,各位朋友搭建完成IIS后可以尝试一下发布个网站! 本文出自 “Mr、吴的微软博客” 博客,转载请与作者联系!
  • IIS上的反向代理

    建站知识2017-3-280评论20323
    一直说在IIS上做反向代理,由于沉迷在nginx一行指令完事的美好情景当中,所以IIS懒得折腾,今天终于下定决心在IIS上折腾一下反向代理,经过一晚上的捣鼓,终于搞定!搞定以后发现其实太简单了有木有!!(网上教程很晕!)首先说一下,IIS6略古老,想做反向代理也基本没戏,所以我就用IIS7.5和IIS8.5说事吧!   神马是反向代理?指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。我们可以通过反向代理实现负载平衡、突破防火墙限制等一些非常实用的Web服务器功能,目前反向代理不管在私有云还是公有云的虚拟机上用的很多很多。   第一步,下载安装ARR(Application Request Routing),http://www.iis.net/downloads/microsoft/application-request-routing: 简要说下ARR,来自微软官方的解释是: IIS Application Request Routing (ARR) 3enables Web server administrators, hosting providers, and Content DeliveryNetworks (CDNs) to increase Web application scalability and reliability throughrule-based routing, client and host name affinity, load balancing of HTTPserver requests, and distributed disk caching. With ARR, administrators canoptimize resource utilization for application servers to reduce managementcosts for Web server farms and shared hosting environments. (谷歌一下基本就知道意思) 也不知道为啥IIS都出到8.5了还不自带,每次还要下载,不过下载、安装过程很简单, 这个程序点了,根据网络情况,过一会儿点下一步就自己全安装完了,Win7/2008自己安装2.0版本,Win8/8.1/2012安装3.0,两个版本功能差的不多,就是自己生产的XML配置文件的写法不太一样而已。 第二步,简要设置ARR: 安装完成后,IIS里会多出两个图标,分别是Application Request Routing和URL重写。2.0版本(也就是2008或者Win7系统)需要双击ApplicationRequest Routing以后,在右侧Server Proxy Settings里,将代理功能开启,而Win8以后的版本自己默认就开启了: 第三步,设置反向代理: ARR基本设置好了以后,需要进入一个IIS上搭建好的网站进行URL重写配置,网上给的教程太不好懂了,反向代理可以说分为两种,一种是多域名绑定,一种是采用虚拟目录的形式,下面分别介绍。 1.      多域名绑定: 所谓多域名绑定,其实就是指一个或者多个域名(多个不同域名或一个域名的多个A记录)都指向同一IP,而通过不同的域名访问的效果还不同,如何实现?就需要使用URL重写或者重定向,使用URL重写也就是反向代理的原理。当时图样,不懂反向代理,还在ASP.NET页面里写呢,后来改进在XML里添加…… 具体操作如下: ①  打开IIS的URL重写 ②  右键->添加规则,选择“入站规则”里的“空白规则”,其他项目忽略,乱点就等着配置失败吧,我可是深有体会! 里面的内容可以按照下图所示填写,“名称”随便写,然后就在匹配URL里填个模式,^(.*)表示处理所有格式的URL字符串 ③  把下面的“条件”展开,点击右边的“添加” ④  “编辑条件”里面的项目可以按照下面的图所示的内容填写,“条件输入”填“{HTTP_HOST}”意思是请求的主机名,模式格式为:“^绑定的域名$”,比如我想让用户访问http://baidu.yuanguozheng.com时跳转到百度,也就是对百度做反向代理,就写成这样(^baidu.yuanguozheng.com$),前提是填的这个域名必须绑定在你的服务器IP上。 ⑤  接下来填写操作,默认重写,不用变,只需要填写URL,后面跟上“{R:1}”意思是把请求的域名后面的参数也带过来,确认后,点击右上角的应用即可完成反向代理配置,然后打开浏览器输入网址即可看到想要的效果。   2.      虚拟目录形式: 虚拟目录形式就类似:http://test.com/doSomething这样的链接,有些网站采用了MVC模式,看起来像虚拟目录,其实不然,这样的URL重写,在入站规则上只需要改几个地方即可。 ①  匹配URL中的模式需要加上你需要使用的类似虚拟目录的字符串,如下图,^和(.*)之间加上虚拟目录URL即可,如shop/,blog/等 ②  条件,去掉二级域名,只保留根域名,其他不变 ③  往往,这样配置完后可以正常访问网站,但网页链接资源,如CSS、JS、图片等等都有URL问题,所以要配置出站规则,但出站规则不支持动态内容压缩,所以源网站请关闭动态内容压缩功能。出站规则的添加类似入站规则,只是在那个窗口中选出站规则即可。 匹配请按图中所示的方式填写 ④  然后添加条件,这时请将“条件输入”填写成“{URL}”,模式格式为。“^虚拟目录名/.*” ⑤  重写也按如下内容填写,意思是在资源的相对URL之前加上“/shop”这样的虚拟目录名,以便获取,但是如果是绝对路径IIS自己就忽略了。应用规则后即可。   大功告成!虽然很高兴!但是和nginx的server_name和location比起来,我想死的心都有了,nginx真心方便,只可惜在Windows平台性能远不及*nix平台,IIS一贯的便捷操作在这儿体现不出来了,希望微软以后还是好好做吧!
  • Web服务器搭建(一)——IIS的搭建

    建站知识2017-3-280评论16294
    很多童鞋说自己是做移动开发的,想挂个简单的Web API,可是服务器又不会搭,这样一来测试就成了问题。看看网上的教程,发现略难懂,而且大多是一个转一个,没价值,所以干脆写几篇文章讲讲简单的Web服务器怎么搭,让不太涉及Web的童鞋快速上手。 我计划把几个主流的,比如Apache、IIS、Nginx等在Windows或者Linux上的搭建方法都说说,由于自己做的是.NET,所以,第一篇先上IIS吧! 一、IIS服务器的搭建 IIS全称Internet Information Service,中文名:Internet信息服务,专用于微软操作系统平台,兼容微软的各项Web技术,尤其是ASP.NET(其实也就在IIS上能跑),除此之外,IIS还支持CGI,IIS7以后的版本对Fast-CGI支持更好,所以PHP 5.3可以使用Fast-CGI和Zend来优化在IIS上的性能,当然早期的ASP也是可以支持的,JSP的支持相对麻烦,而且性能不好,所以基本没人拿IIS跑JSP。 现在,IIS8已经伴随着Windows Server 2012 R2和Windows 8.1的发布而出现在最新的Windows版本中,所以本文就不拿IIS7以前的古董说事了,IIS7以后的版本,变化幅度很小,应该是在优化性能、增加稳定性和添加新的MIME等一些杂项上的处理。 好了,现在让我们开始! 基本步骤如下: 启用功能 -> 设置网站路径和端口 -> 设置权限 -> 设置杂项 -> 正式发布 1.启用功能: 首先,我们以Windows 桌面版系统为例,进入Windows的“控制面板”,如图所示 (Windows 桌面版控制面板) 进入“程序”,然后点“启用或关闭Windows功能”,然后就能看到一下选项,找到Internet Information Services(在Windows 7为Internet信息服务,下同),如图所示 (Windows 桌面版的 Windows 功能) 在Internet Information Services之前的选项框上打勾,会发现有些内容是方块型的,意思是没有完全启用其中的功能,建议按照图片上的介绍把“应用程序开发功能”中的内容全部勾选,要不IIS搭好以后只能挂HTML这种静态网页。勾选完成后,如还需要其他方面的功能,如ODBC日志、动态内容压缩、HTTP重定向等功能,也可以再次勾选,当然现在不勾选以后再加也没问题。  (关闭 Windows 防火墙) 完成后,点击确定,Windows自动安装IIS功能,安装完成后,建议在“系统和安全”中,完全关闭防火墙,保证IIS的其他端口可被访问,在IE或其他浏览器中,打开http://localhost,出现如下界面,则说明搭建成功 (IIS8 欢迎界面) 接下来,我们来看看在Windows Server 2012 R2上的IIS搭建过程 首先,打开“服务器管理器”,在右上角找到“管理”->“添加角色和功能”,如图所示 (Windows Server 2012 R2 服务器管理器添加角色和功能) 接着,一直点击“下一步”,直到“服务器角色”一项,在右侧列表中找到“Web 服务器(IIS)”一项,如图所示 (Windows Server 2012 R2 添加服务器角色) 成功添加角色后,会提示你选择所需的功能,类似前面Windows 桌面版的介绍,选择自己所需的功能,推荐将“应用程序开发”中的所有选项全部勾选!如果作为真正的服务器使用,最好把功能全部配齐,省得再次配置。勾选完后,一路“下一步”等待安装完成即可。 (Windows 7和Windows Server 2008 R2的配置类似对应的桌面版和服务器版,可参照上面的介绍配置) 安装完成后,查看Windows服务,可以发现多出一项名为“World Wide Web Publishing Service”的服务,这个服务用于启动和管理IIS进程,保证Windows开机启动时,自动运行,而不需要某一个用户登录。 (IIS的服务) 2.设置网站路径和端口 虽然服务器功能启用完毕,虽然我们可以在局域网内通过IP地址或者在本机用localhost进行访问,但我们只是浏览了微软给我们的示例,我们需要让IIS展示我们自己写好的网站,此时就需要将网站相关的文件,如:aspx、html、dll等,这里,我们用ASP.NET中最简单的WebForm形式单页面演示如何部署一个真正的动态网站。 首先,假设我们的网站已经在VS中完全开发完成,如图所示,网站基本目录文件如下: (一个基本的WebForm网站) 提前说明一点:这个网站就是一个基本的Web API,根据参数id(GET或POST提交),从数据库中取出对应ID的数据,当id为0或不能转换为int型数据时,返回所有数据,超出范围则返回空数据。 如果直接运行或者调试,会看到下面的画面,其中,浏览器地址是localhost+一个随机的端口号,这是VS将网站挂在了自带的IIS Express上,但IIS Express仅允许本地调试使用,如果在局域网测试或者把VS的调试关闭,则会发现网站不能访问。 (IIS Express展示结果) 于是,我们现在可以有两种方式整理网站需要的文件,第一是自己手动去复制,第二是用VS自动打包。如果不是网站特别大,文件特别多,还是建议自己复制。如图所示,打开项目的源文件夹,我们会看到许多文件,有.cs、.vscxproj、.config等,其中,我们需要的只有以下几种类型: 第一,网站的视图或页面文件,WebForm为aspx,MVC为cshtml或aspx,WebService为asmx等等 第二,网站的资源文件,如js脚本、图片、css文件等 第三,网站的动态链接库,即整个bin文件夹,及及其中的dll文件 第四,网站的配置文件,Web.config (网站源码文件夹) 剩下的文件,不管以什么后缀名结尾,全部都可以不要,但是不要删,都是你自己的心血! 把这些文件复制到你需要挂网站的地方,如果是服务器系统,只要不是系统目录,你可以任意放,如果是桌面版系统,别放在桌面上、系统目录就行,推荐放在以下几种路径: 第一,IIS默认路径,C:\inetpub\wwwroot\ 第二,非C盘的其他路径,如D:\xxx 第三,非网络路径的其他可读写、脚本可执行路径 接着,我们要在IIS里进行网站路径设置。打开IIS,在左边的列表中看到“网站”一项,如图所示,这里列出了所有在本机IIS服务器上挂载的站点 (IIS中的网站列表) 现在要考虑是将网站挂在本机的另一个TCP端口(Default Web Site默认绑定80端口,可以将自己的网站挂在8080等端口上)上,还是将网站挂在80端口下的一个虚拟目录中,这里分别介绍。 首先,如果我们将网站挂在8080端口上,我们需要在“网站”中新建一个网站,大致操作为:右键“网站”->“添加网站”->输入信息->点击“确定”即可,其中,“网站名称”任意填写,“物理路径”选择上面放了网站相关文件的目录路径,剩下端口改为8080或者其他未占用端口都行,点击确定,访问http://localhost:8080/或者IP地址即可看到自己的网站了,如图所示 (添加一个新网站) 其次,我们来看一下虚拟路径的添加方法,所谓虚拟路径,就是类似http://www.xiyoumobile.com/admin/等访问方法,看似访问了网站中的另一个文件夹,实际上访问了另外一个网站,在IIS中可以选择“添加虚拟目录”和“添加应用程序”两种方法实现,个人推荐后者,因为不用因为新建一个虚拟目录而考虑.dll文件的放置位置。具体操作:对着要添加虚拟目录的网站右键->"添加应用程序"->填写“别名”和“路径”->确定,在浏览器中输入网站即可访问到网站,其中,“别名”请填写希望被访问的虚拟目录名,如http://www.xiyoumobile.com/admin/中,别名就应该填“admin”,而“路径”则按照新建网站的方法填写即可,如图 (添加虚拟目录) 3.设置权限 Windows NT系统出于安全性的考虑,设置了用户组和权限的划分,尤其在普通桌面版或者说家庭版的系统中体现的更为明显,服务器上经常对Administrator赋予了最高权限,有童鞋说,按照上面的方法,搭建完成服务器了以后,Web页面能打开,但是会报错,500或者401等等,基本上是因为权限,如果401就是压根儿啥权限都没有,500有可能是在写本地数据库的时候,文件禁止写入所造成的服务器错误,于是乎,就请各位童鞋仔细查看网站目录的权限是否给够了。 如何检查呢,很简单,打开IIS,在左边的列表中选择一个网站或者虚拟目录,然后在右边的“操作”一栏中,选择“编辑权限”->“安全”,如图所示 (在IIS编辑网站目录权限) 在这里可以看到,我的网站目录权限中有“Everyone”、“Authenticated Users”、“SYSTEM”、“Administrators”等几个用户组或者用户名,并允许“Everyone”用户组进行读取和执行、列出等操作,所以网站的脚本、内容都是允许任何人进行访问或者说获取的,有些童鞋的硬盘中没有设置过权限,有可能就没有Everyone的这个权限,所以有可能访问出现如下情况 (由于权限不够而造成访问失败) 遇到这种情况有就可以在刚才(网站目录文件夹)的“安全”中,添加Everyone或者IIS_IUSRS访问权限,如果需要文件上传,可以将某个文件夹设为可读可写可执行,只要在需要的权限上打上勾即可,如图 (设置IIS_IUSRS的权限) 4.设置杂项 童鞋们该等急了,这下网站应该可以算正式发布了吧,别急,还有点东西要说!! 第一,默认文档 有些童鞋说,安装你说的方法都配置好,怎么打开还是报错啊,就像下面的错误: HTTP 错误 403.14 - Forbidden Web 服务器被配置为不列出此目录的内容。 (网站未找到默认文档报错) 但是你会发现如果打http://localhost:8080/Default.aspx又可以访问了,这是因为:IIS默认的默认文档为以下几个:Default.htm、Default.asp、index.htm、index.html、iisstart.htm、default.aspx(在此说明一下,由于Windows系统在路径上不区分大小写,所以IIS上发布的网站也是不区分大小写的),如果你的主页文件不在上述文件之内,不输文档名,默认是无法访问到的(这里我故意删除了Default.aspx),所以,针对这种情况,请自行设置默认文档,方法如下(这里假设要挂php网站): (添加默认文档) 添加默认文档以后,直接敲域名或者IP及端口号即可方法默认页面了! 第二,数据库连接字符串 有些童鞋因为在本机测试时,SQL Server使用的是Windows身份验证,所以VS自动生成到Web.config中的连接字符串如下所示   <add name="ExampleConnectionString" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=Example;Integrated Security=True" providerName="System.Data.SqlClient" /> 而如果直接将这个连接字符串使用在网站上时,会发现网页提示:   无法打开登录所请求的数据库 "Example"。登录失败。 用户 'IIS APPPOOL\DefaultAppPool' 登录失败。 如图所示: (数据库异常) 所以,一定要注意,在将网站挂载到真正的IIS服务器上前,请将修改Web.config中的字符串,确保数据库使用SQL Server身份验证,且如果数据库装在本机,那么Data Source最好设为localhost,1433,如下面的代码所示: <add name="ConnectionString" connectionString="Data Source=localhost,1433;Initial Catalog=Example;User ID=sa;Password=123456" providerName="System.Data.SqlClient"/> 第三,.NET Framework版本 尤其是在Windows 7版本中,默认只支持.NET Framework 3.5,如果.NET Framework 4和IIS的安装顺序不同,还会造成.NET没有在IIS中注册的问题,所以建议不管先装.NET Framework,还是先装IIS,都在挂网站前,以管理员身份运行cmd,然后进X:Windows\Microsoft.NET\Framework\v4.0.30319(64位:X:Windows\Microsoft.NET\Framework64\v4.0.30319,X代表系统安装盘,如C),然后执行命令aspnet_regiis.exe -i,这样可以保证.NET4被注册到IIS,IIS才能正常运行.NET4版本以上的程序。 再者,如果应用开发时选择了.NET4,而网站应用程序选择的是.NET2,也是不行的。 这两者都属于运行框架异常,必须配置正确,否则就会报错! (选择正确的应用程序池) 第四,禁用调试信息 调试信息一般在本地开发时有用,正式发布后如果让访问者看到,也会暴露一些网站信息,同时显得开发者很业余,所以请在正式部署后,关闭调试信息,具体操作如下: 修改Web.config,将下面的内容修改 <system.web> <compilation debug="true" targetFramework="4.0" /> </system.web> 修改后 <system.web> <compilation debug="false" targetFramework="4.0" /> </system.web> 这样就关闭了远程访问时的调试信息 第五,添加MIME类型 如果需要让网站提供一些新文件访问的服务,必须在IIS中添加一些文件的后缀名和MIME类型,尤其是IIS7,默认没有.mp4格式文件的支持,如果不添加MIME类型,HTML5就不容易实现,还有其他的文件,如apk、ipa等安装包,由于不常用,在IIS上也需要手动添加进来,如果不添加,就会报“404 Not Found”的错误,添加方法如下: (添加MIME类型) 第六,其他设置 其他的设置包括访问控制、IP地址过滤、反向代理、SSL、日志、CGI等等,这个根据个人需要来配置,而且都不是很困难,除非你要在IIS上跑Java。关于IIS的反向代理,童鞋们可以戳我的另一篇博文:《IIS上的方向代理》,以后我会继续写面向新手的Web服务器搭建教程,涵盖Nginx、Apache和IIS上的PHP等等,感谢大家的关注!
  • Tomcat网站发布配置方案详细说明

    建站知识2017-3-270评论16368
    修改端口、修改默认发布目录、多域名绑定 一、修改发布端口号为80(Tomcat默认为8080)       打开配置文件(我的如下:E:\J2EEServer\Tomcat 6.0\conf\server.xml),找到: 复制代码 代码如下: <Connector port="8080" protocol="HTTP/1.1"                maxThreads="150" connectionTimeout="20000"                 redirectPort="8443" />    <Connector port="8080" protocol="HTTP/1.1"              maxThreads="150" connectionTimeout="20000"              redirectPort="8443" /> 修改后: 复制代码 代码如下: <Connector port="80" protocol="HTTP/1.1"                 maxThreads="150" connectionTimeout="20000"                 redirectPort="8443" />   <Connector port="80" protocol="HTTP/1.1"              maxThreads="150" connectionTimeout="20000"              redirectPort="8443" /> 其实这里就是把port:8080,修改成port:80就可以了,其他的参数不变。这样客户机在访问服务器时直接输入IP或域名就可以了。 二、修改tomcat的字符集   大 家在写程序中应该都遇到过中文乱码的问题,除了保证页面、数据库的字符集保持一致外还有一点需要注意,就是tamcat的字符集。有时从头到尾的检查程 序,发现程序一切正常,可就是有乱码,看看Tomcat的字符集吧!找到E:\Tomcat 6.0\conf\server.xml: 复制代码 代码如下: <Connector port="80" protocol="HTTP/1.1"                 maxThreads="150" connectionTimeout="20000"                 redirectPort="8443" />   <Connector port="80" protocol="HTTP/1.1"              maxThreads="150" connectionTimeout="20000"              redirectPort="8443" /> 修改后: 复制代码 代码如下: <Connector port="80" protocol="HTTP/1.1"                 maxThreads="150" connectionTimeout="20000"                  redirectPort="8443" URIEncoding="UTF-8"/>   <Connector port="80" protocol="HTTP/1.1"              maxThreads="150" connectionTimeout="20000"              redirectPort="8443" URIEncoding="UTF-8"/> 三、修改tomcat发布路径(默认路径:E:\J2EEServer\Tomcat 6.0\webapps\ROOT)  打开配置文件(我的在:E:\J2EEServer\Tomcat 6.0\conf\server.xml),找到: 复制代码 代码如下: <Engine name="Catalina" defaultHost="localhost">    <Host name="localhost"   appBase="webapps"                unpackWARs="true"                xmlValidation="false" xmlNamespaceAware="false">          </Host>    </Engine>   <Engine name="Catalina" defaultHost="localhost"> <Host name="localhost"  appBase="webapps"             unpackWARs="true"             xmlValidation="false" xmlNamespaceAware="false">      </Host> </Engine> 在<host></host>标签之间添加上: 复制代码 代码如下: <Context path="" docBase="photo" debug="0" reloadable="true" />   <Context path="" docBase="项目路径" debug="0" reloadable="true" /> path是说明虚拟目录的名字,如果你要只输入ip地址就显示主页,则该键值留为空; docBase是虚拟目录的路径,它默认的是$tomcat/webapps/ROOT目录,现在我在webapps目录下建了一个photo目录,让该目录作为我的默认目录。debug和reloadable一般都分别设置成0和true。 这样,再访问服务器时就找$tomcat/webapps/photo下的页面了~~~~~   三、多域名绑定   打开配置文件(我的如下:D:\Program Files\Tomcat\conf\server.xml),找到: 复制代码 代码如下: <Engine name="Catalina" defaultHost="localhost">    <Host name="localhost"   appBase="webapps"                unpackWARs="true"                xmlValidation="false" xmlNamespaceAware="false">               </Host>    </Engine>   <Engine name="Catalina" defaultHost="localhost"> <Host name="localhost"  appBase="webapps"             unpackWARs="true"             xmlValidation="false" xmlNamespaceAware="false">          </Host> </Engine> 方案一:多个工程在不同的目录下 复制代码 代码如下: <Engine name="Catalina" defaultHost="pic.jb51.net">         <Realm className="org.apache.catalina.realm.UserDatabaseRealm"                 resourceName="UserDatabase"/>            <Host name="xixi.jb51.net"   appBase="abcapps"                unpackWARs="true"                xmlValidation="false" xmlNamespaceAware="false">    </Host>   <Engine name="Catalina" defaultHost="pic.jb51.net">     <Realm className="org.apache.catalina.realm.UserDatabaseRealm"              resourceName="UserDatabase"/>       <Host name="xixi.jb51.net"  appBase="abcapps"             unpackWARs="true"             xmlValidation="false" xmlNamespaceAware="false"> </Host>        <Host name="haha.jb51.net"   appBase="D:\Program Files\Tomcat\test"                unpackWARs="true"                xmlValidation="false" xmlNamespaceAware="false">    </Host>            <Host name="lala.jb51.net"   appBase="webapps"                unpackWARs="true"                xmlValidation="false" xmlNamespaceAware="false">         </Host>    </Engine>   <Host name="haha.jb51.net"  appBase="D:\Program Files\Tomcat\test"             unpackWARs="true"             xmlValidation="false" xmlNamespaceAware="false"> </Host>       <Host name="lala.jb51.net"  appBase="webapps"             unpackWARs="true"             xmlValidation="false" xmlNamespaceAware="false">     </Host> </Engine> 测试在C:\WINDOWS\system32\drivers\etc下的hosts文件中添加如下内容: 127.0.0.1 xixi.jb51.net 127.0.0.1 lala.jb51.net 127.0.0.1 haha.jb51.net 按照上面的配置: 1. http://xixi.jb51.net 访问 ${tomcat}\ abcapps\ROOT 下的网站 2. http://haha.jb51.net 访问 D:\Program Files\Tomcat\test\ROOT 下的网站 3. http://lala.jb51.net 访问 ${tomcat}\webapps\ROOT 下的网站. Engine的dafaultHost:表示访问该tomcat默认进入的主机,注意一定不能是localhost,不然别人通过你的ip访问,就会默认进入tomcat的管理界面. Host 的 name:表示该主机绑定的域名,如果绑定localhost则可以通过在浏览器中输入localhost访问该Host. Host的 appBase:表示该主机绑定的文件存放路径,可以使用相对路径或绝对路径.   方案二:多个工程在同一目录webapps下,即在不同的<host></host>里面配<Context> 复制代码 代码如下: <Engine name="Catalina" defaultHost="xixi.jb51.net">         <Realm className="org.apache.catalina.realm.UserDatabaseRealm"            resourceName="UserDatabase"/>            <Host name="xixi.jb51.net"   appBase="webapps"            unpackWARs="true"            xmlValidation="false" xmlNamespaceAware="false">            <Context path="" docBase="test1" debug="0" reloadable="true" />    </Host>       <Host name="haha.jb51.net"   appBase="webapps"            unpackWARs="true"            xmlValidation="false" xmlNamespaceAware="false">            <Context path="" docBase="test2" debug="0" reloadable="true" />    </Host>       <Host name="lala.jb51.net"   appBase="webapps"            unpackWARs="true"            xmlValidation="false" xmlNamespaceAware="false">            <Context path="" docBase="test3" debug="0" reloadable="true" />    </Host>
  • TOMCAT服务器配置域名

    建站知识2017-3-270评论15858
    最近做了个网站,用的是web'服务器是tomcat,框架式SpringMVC,功能做好后,就准备上线使用了,手上已经有域名以及一台服务器,已经绑定好ip了,剩下的也就是配置 Tomcat了,比较简单,但是自己记录下防止遗忘了, 首先,访问服务器时默认的是80端口,这个好改,tomcat中的server.xml文件直接修改,这里要说明的是如果一个服务器上有多个tomcat的话,修改端口需要注意的是要修改 三个地方的  第一处是 <Server port="8085" shutdown="SHUTDOWN"> 第二处是  <Connector connectionTimeout="20000" port="80" protocol="HTTP/1.1" redirectPort="8443"/> 第三处是 <Connector port="8099" protocol="AJP/1.3" redirectPort="8443"/> 修改好端口 在修改两处地方 第一是  <Engine defaultHost="localhost" name="Catalina">  把defaultHost的值修改成你的域名    <Engine defaultHost="www.test.com" name="Catalina"> 第二是   <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false">                  把name的值修改成你的域名                   <Host appBase="webapps" autoDeploy="true" name="www.test.com" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false"> 最后再加上具体的项目指向        在Host下面加上 <Context docBase="testPro" path="" reloadable="true"/></Host>       这个testPro就是tomcat中的项目名称 保存server.xnl文件,重新启动服务,如果你的域名和ip绑定好的话就可以直接用域名访问了   如果你不确定域名是否绑上了正确的外网ip,可以直接在dos里面ping  域名   如果显示的是正确的外网ip,那么就没有问题了....
  • IIS6.0+Tomcat7.0整合总结(推荐)

    建站知识2017-3-270评论15903
    这篇文章主要介绍了IIS6.0+Tomcat7.0整合配置方法,需要的朋友可以参考下 (一)   为什么要把IIS、Tomcat整合到一起? 假如你遇到这种情况,你开发了一个javaweb项目要部署到服务器上,但是这个服务器上已经部署了asp、asp.net或者PHP项目都在IIS环境下运行着,这时你的tomcat就不能再用80这个端口了,这时你就必须考虑整合iis与tomcat一起工作。网上收集了很多关于tomcat与iis整合的文章,多数写的含糊不清,疏忽每一个细节都很难整合成功,经过分析实践,我决定花费一点时间把这个总结分享出来,希望对用的到的朋友能有所帮助。 (二)   下面介绍我整合成功的软件环境: ü  服务平台 window server 2003 ü  IIS6.0(大多服务器上默认都已经安装过了) ü  apache-tomcat-7.0.29.exe(建议到官网下载,我这里是安装版的) ü  jdk-7u1-windows-7.0.exe(建议到官网下载) ü  isapi_redirect-1.2.14.exe(我这里采用的是安装版的,非安装版的需要手都编写配置文件和手动配置注册表,其原理都是一样,为了避免出错、方便建议采用安装版的) 下载地址:http://www.jb51.net/softs/186731.html (三)   软件安装是安装顺序是非常有必要的,下面是软件安装的先后顺序: IIS6.0  =>  JDK  =>  Tomcat  => isapi_redirect,你可以按照这个顺序也可以不按照,但是顺序的前提是:IIS一定要优先于isapi_redirect 否则isapi_redirect安装会找不到IIS导致配置不正确,JDK一定要优先于Tomcat 否则安装Tomcat会找不到JRE导致无法安装。另外JDK也最好优先于isapi_redirect。 JDK环境变量的设置: 使用鼠标右击“我的电脑”->属性->高级->环境变量 系统变量->新建->变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.7.0_01 系统变量->新建->变量名:CLASSPATH 变量值:.;%JAVA_HOME%\lib 系统变量->编辑->变量名:Path 在变量值的最前面加上:%JAVA_HOME%\bin; CLASSPATH中有一英文句号“.”后跟一个分号,表示当前路径的意思 Tomcat环境变量的设置: 使用鼠标右击“我的电脑”->属性->高级->环境变量 系统变量->新建->变量名:tomcat_home 变量值:D:\Program Files\Apache Software Foundation\Tomcat 7.0 (四)   验证软件安装是否正确: ü  验证isapi_redirect是否安装正确:isapi_redirect的安装目录可以自己定义,网上说必须要安装在tomcat跟目录,这个没必要。 安装完毕isapi_redirect后你会发现IIS默认网站下会出现一个虚拟目录jakarta 右击虚拟目录jakarta 查看属性 是否存在jakarta的筛选器。至于向上的绿色箭头可能没有(网上很多都指出要求由此,实际上只有配置之后首次访问的时候,才进行加载)只要不是红色就可以。 到次为之说明您的isapi_redirect安装正确。 ü  验证JDK是否环境变量配置是否正确,开始=》运行=》输入cmd =》输入java命令或者javac或者java –version是否出现相应命令的结果,如果有则说明JDK配置正确 ü  验证tomcat是否安装正确:浏览器中输入http://localhost:8080 是否出现 如果出现这个页面则说明tomcat安装正确; 注意:检查tomcat安装目录下的lib目录是否包含tools.jar文件,如果没有到JDK中复制一个到tomcat的lib目录下,tools.jar这个文件至关重要,否则isapi_redirect就不能正常的工作。 ü  验证iis是否工作正常 浏览器中输入 http://localhost 是否出现 如果出现则说明iis工作正常 以上验证都没有出现问题的话,那么我们的准备工作就完成了。下面我们就进行相应的配置工作。 (五)   Tomcat的配置: 在tomcat的配置主要是配置虚目录,打开tomcat的server.xml文件,加入 <Host name="test.jb51.net" appBase="D:\webroot" uppackWARs="true"             xmlValidation="false" xmlNamespaceAware="false">         <Context path="" docBase="D:\webroot" debug="0" reloadable="true"/> < /Host> name:对应的是你项目的域名; appBase:虚拟目录的路径; doBase:项目的顶级目录就相当于webapps 中的目录名称; 配置完成后记得把你的项目复制到D:\webroot目录下,我的项目是ecshoping 注意:tomcat的端口为默认端口8080不要修改 为了验证你的虚拟目录配置是否正确,打开浏览器输入:test.jb51.net:8080 看看是否可以访问你的项目,如果可以则说明你的项目在tomcat中的部署是正确的。 注意:如果防火墙开启了,注意在防火墙的例外里添加端口:8080 保证该端口对外开放。另外要保证你的域名解析正确   (六)   IIS配置: ü  新建网站,名称随意 【网站IP地址】:(全部未分配) 【此网站的主机头】:域名(同tomcat\conf\server.xml <Host>标签的"name"属性中的域名相同) 【网站主目录路径】:虚拟路径+文件夹名(tomcat\conf\server.xml<Host>标签的"appBase"属性中的虚拟路径 加上<Context>子标签的"docBase"属性的文件夹名) 勾选【允许匿名访问网站】 【允许下列权限】:读取、运行脚本、执行 ü  在此网站下建立虚拟目录 名称:jakarta(必须) 【路径】: isapi_redirect 安装目录\bin (isapi_redirect.dll的目录) 【允许下列权限】:读取、运行脚本、执行 ü  网站-->右键-->属性: 1)        【ISAPI筛选器】-->添加--> 【筛选器名称】:jakarta 【可执行文件】: isapi_redirect安装目录\bin\isapi_redirect.dll (isapi_redirect.dll文件) 2)        【文档】:-->添加-->【默认内容页】:比如index.jsp(对应网站默认首页) -->确定-->把其余的都删掉 ü  Web服务扩展-->右键-->添加一个新的Web服务扩展:【扩展名】:jakarta(必须) 【要求的文件】: isapi_redirect安装目录\bin\isapi_redirect.dll (isapi_redirect.dll文件) 勾选【设置扩展状态为允许】保存 (七)   isapi_redirect的配置 打开isapi_redirect目录下conf目录,修改uriworkermap.properties文件,该文件的具体内容如下: # uriworkermap.properties - IIS # # This file provides sample mappings for example wlb # worker defined in workermap.properties.minimal # The general syntax for this file is: # [URL]=[Worker name]   /admin/*=wlb /manager/*=wlb /jsp-examples/*=wlb /servlets-examples/*=wlb /ecshoping/*=wlb   # Optionally filter out all .jpeg files inside that context # For no mapping the url has to start with exclamation (!)   !/servlets-examples/*.jpeg=wlb   # # Mount jkstatus to /jkmanager # For production servers you will need to # secure the access to the /jkmanager url # /jkmanager=jkstatus /*.jsp=wlb /*.action=wlb /*.do=wlb /*=wlb    解释:wlb可理解为过滤器名称 /*.jsp等等 为请求过滤的规则,isapi_redirect判断当iis收到该请求时交给tomcat处理。/ecshoping/*=wlb  指定你要过滤的项目 打开isapi_redirect目录下conf目录,修改workers.properties.minimal文件,该文件的内入如下: # workers.properties.minimal - # # This file provides minimal jk configuration properties needed to # connect to Tomcat. # # The workers that jk should create and work with #   worker.list=wlb,jkstatus   # # Defining a worker named ajp13w and of type ajp13 # Note that the name and the type do not have to match. # worker.ajp13w.type=ajp13 worker.ajp13w.host=localhost worker.ajp13w.port=8009   # # Defining a load balancer #    worker.wlb.type=lb worker.wlb.balance_workers=ajp13w   # # Define status worker #   worker.jkstatus.type=status   该文件为默认的配置,一般不需要修改,保证跟以上一致就行 到此为止你可以倒杯咖啡来享受一下整合成功的喜悦了。此时你输入你的域名就可以直接访问你的javaweb项目了,而不用再加8080端口了。当iis接受到一个jsp网站isapi_redirect会转发到tomcat处理,然后将处理结果再返回给客户。  
  • 如何让Tomcat支持带中文的URL

    建站知识2017-3-270评论15791
    在tomcat的配置文件server.xml中,找到如下的代码: [plain] view plain copy <Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" /> 添加属性:URIEncoding='GBK' 变成: [plain] view plain copy <Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" URIEncoding='GBK' /> 保存,重启tomcat即可。 PS:如果以上方法不起作用,则可尝试把GBK换成UTF-8或者其他编码。 还有,如果你的项目是发布在Eclipse里面的Tomcat上的,不要改Tomcat目录里面的server.xml,应该去改Eclipse里面一个叫Server的项目里面的server.xml文件,那才是Eclipse中Tomcat的配置文件
  • 双机热备、集群服务器等必须注意的事项

    建站知识2017-3-270评论15860
    在进行双机热备、集群及高可用性软件产品的选择时,可按以下步骤进行: 1. 明确应用的方式与要求: 是双机方式还是多点集群?或者是目前使用双机、以后可能升级到集群? 在应用双机热备时,有多种应用模式,典型的包括主从、互备、多点集群三大类:主从模式是最标准、最简单的双机热备,即是目前通常所说的active/standby方式。它使用两台服务器,一台作为主服务器(Active),运行应用系统来提供服务。另一台作为备机,安装完全一样的应用系统,但处于待机状态(Standby)。当active服务器出现故障的时候,通过软件诊测(一般是通过心跳诊断)将standby机器激活,保证应用在短时间内完全恢复正常使用。 双机互备,在双机热备的基础上,两个相对独立的应用在两台机器同时运行,但彼此均设为备机,当某一台服务器出现故障时,另一台服务器可以在短时间内将故障服务器的应用接管过来,从而保证了应用的持续性。这种方式实际上是双机热备的一种应用。它避免了两个应用使用四台服务器分别实现双机热备。 但双机互备存在着性能瓶颈,即如果进行切换后,在一台服务器上就有同时运行两个应用,有可能负载过大。并且,有些情况下会有不止两台服务器对外提供服务。在这种情况上,多点集群就显示出了其必要性。 多点集群可以理解为双机热备在技术上的提升。多机服务器可以组成一个集群。根据应用的实际情况,可以灵活地在这些服务器上进行部署,同时可以灵活地设置接管策略。比如,可以由一台服务器作为其他所有服务器的备机,也可以设置多重的接管关系,等等。这样,就可以充分地利用服务器的资源,同时保证系统的高可用性。 如果是双机,是采用共享的存储设备,还是采用基于镜像的纯软件方式? 双机热备有两种实现模式,一种是基于共享的存储设备的方式,另一种是没有共享的存储设备的方式,一般称为纯软件方式。基于存储共享的双机热备是双机热备的最标准方案。对于这种方式,采用两台(或多台,参见:双机与集群的异同)服务器,使用共享的存储设备(磁盘阵列柜或存储区域网SAN)。两台服务器可以采用互备、主从、并行等不同的方式。在工作过程中,两台服务器将以一个虚拟的IP地址对外提供服务,依工作方式的不同,将服务请求发送给其中一台服务器承担。同时,服务器通过心跳线(目前往往采用建立私有网络的方式)侦测另一台服务器的工作状况。 当一台服务器出现故障时,另一台服务器根据心跳侦测的情况做出判断,并进行切换,接管服务。对于用户而言,这一过程是全自动的,在很短时间内完成,从而对业务不会造成影响。由于使用共享的存储设备,因此两台服务器使用的实际上是一样的数据,由双机或集群软件对其进行管理。(典型的双机热备产品,参见:LanderCluster集群软件) 对于纯软件的方式,则是通过支持镜像的双机软件,将数据可以实时复制到另一台服务器上,这样同样的数据就在两台服务器上各存在一份,如果一台服务器出现故障,可以及时切换到另一台服务器。对于这种方式的深入分析,请参见:纯软件方式的双机热备方案深入分析纯软件方式还有另外一种情况,即服务器只是提供应用服务,而并不保存数据(比如只进行某些计算,做为应用服务器使用)。这种情况下同样也不需要使用共享的存储设备,而可以直接使用双机或集群软件即可。但这种情况其实与镜像无关,只不过是标准的双机热备的一种小的变化。 2. 了解清楚应用环境: 使用什么操作系统? 运行什么应用?(比如,数据库的版本) 使用什么服务器? 使用什么存储设备? 如果考虑纯软件方式,则还有了解清楚:数据量的大小、数据写入的频率、应用的关键性与重要性(相关内容:纯软件方式的双机热备方案深入分析) 3. 在此基础上,考虑以下因素,选择相应的软件产品: 产品是否能支持所要求的应用方式? 产品是否能支持所使用的应用环境? 产品的其他特性: 是否支持远程监控?(可以使你不用非要经常跑到机房,才知道是否一台服务器宕机了)界面语言。(对双机软件,中文界面并不是非常重要,但也是一个因素。同时,是否有中文手册等则可能非常重要) 安装的难易程度 是买贵的、买性价比高的、还是买最便宜的? 是否存在合法的供货渠道?(直接关系到产品是否能得到长期可靠的服务!!!) 是否需要安装服务? 需要什么样的售后服务? 服务要求是否有保障?如果可能会运行特别的应用系统(比如使用面较少的操作系统、数据库、自己开发的应用软件等),是否能得到原厂商在开发与调试一级的支持。(非常重要!!!) 常见产品: LanderCluster集群软件:支持多点集群及双机;远程监控;支持Unix NEC ExpressCluster集群软件:支持纯软件方式(镜像);多点集群及双机;远程监控 ICX数据库路由器软件:SQL Server数据库服务器实时热备及负载均衡 LifeKeeper集群软件:支持多点集群及双机 RoseHA双机软件:双机热备、互备 PlusWell双机软件:支持双机、镜像

sitemap