童年原是一生最美妙的阶段,那时的孩子是一朵花,也是一颗果子,是一片懵懵懂懂的聪明,一种永远不息的活动,一股强烈的欲望。——巴尔扎克
现在位置:首页 > 发表在 2017年03月 的所有文章
  • Windows Server 2012 R2搭建IIS服务器

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

    建站知识2017-3-270评论15460
    快速安装mysql之详细过程 作者:283296032(群号) 记得关注我哦 ~.~ 1.解压mysql-5.7.14-winx64.zip 解压的时候自己创建一个文件夹,文件夹的名字不要用中文,否则环境变量那一块配置后不能起作用,当然你也可以解压到当前目录下,比如mysql-5.7.14-winx64 我这里是解压到了D盘的这个目录下-----D:\mysql-5.7.14-winx64 2.配置环境变量 右击我的电脑—>属性—>高级系统设置—>环境变量—>系统变量 然后在系统变量里面找Path变量,左键点击一下这一行 再点击一下编辑按钮,进入下图所示位置,然后在变量值那一部分后面写入你的mysql安装位置,并用分号与前面的变量值分隔开 下图是mysql的路径 3.输入win+R,打开一下窗口,输入cmd,点击确定 4.进到这个命令框,输入一下命令 安装过程中如果出现什么问题,可以加群283296032找我哦!!!

sitemap