打通版微社区(4):微信第三方服务部署——JSP的IIS部署

写在前面:

本机环境2008R2、tomcat8

网上搜了很多JSP的IIS部署,内容大部分是相近的,这些文章最早出现在2012的样子。大概的原理就是通过ISAPI方式对IIS进行扩展(这个扩展是tomcat官方的,是官方comcat-connectors项目的IIS子集),让IIS将JSP提交给tomcat进行处理。官网有英文版本的详细介绍http://tomcat.apache.org/connectors-doc/webserver_howto/iis.html 另外csdn上down了一个文档,指出了官网原文有不正确的地方。两者是我参考的主要文献。
PS:所谓指出官方文档有不正确的地方就是64位的2008R2在使用ISAPI这个扩展文件时是否使用64位,如果是64位则参考官方文档,如果不是则参考网上的文档。在具体部署这一步骤的时候我详细记录了。

其他参考文档

http://blog.sina.com.cn/s/blog_68b0cad1010168hf.html
http://www.it165.net/os/html/201402/7156.html

一、部署jre

我下载的是1.8.0.45 x64,放到D盘Server目录下

配置环境变量

Path:               %JAVA_HOME%\bin;
JAVA_HOME:    D:\Server\Java\jre1.8.0_84
 CLASSPATH:    .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

 

二、部署tomcat

我下载的是apache-tomcat-8.0.23 8.0.23 用的是安装版,安装版本自动匹配64

安装到D:\Server目录下。好了直接访问8080端口可以发现tomcat已经OK了

三、配置Tomcat Connectors

1.下载Tomcat Connectors JK 1.2。说的好听,就是ISAPI扩展文件,官网直接放出源码。我下载的是“1.2.40X64”。

2.拷贝isapi_redirect.dll文件到Server\Tomcat8\bin\win32\x86_64文件夹下。

3.注册isapi_redirect.dll,我直接弄reg文件并没有完全导入成功,后面两项我是手动添加上去的。

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Jakarta Isapi Redirector\1.0]
"extension_uri"="/jakarta/isapi_redirect.dll"
"log_file"="D:\Server\Tomcat8\logs\isapi.log"
"log_level"="debug"
"worker_file"="D:\Server\Tomcat8\conf\workers.properties"
"worker_mount_file"="D:\Server\Tomcat8\conf\uriworkermap.properties"

PS:

a.extension_uri:tomcat这个isapi工作原理,是通过iis的虚拟目录调用tomcat的,在这里也就是site下面有个虚目录jakarta,jakart指向了存放dll的目录。通过调用这个虚目录在调用tomcat。

b.worker_file与worker_mount_file者两个文件是配置的是iis调用tomcat后,tomcat自己的工作方式及站点挂载方式。

c.在2008R2中如你想使用32位的isapi接口文件,也是可以的。只需要将isapi换成32位的dll文件。然后在IIS里面将允许jsp的site对应的应程序的高级设置里将 将启用32位程序设置为true(官方的介绍就是讲应用程序模式改为WOW64模式),注册表注册项目路径改为HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Jakarta Isapi Redirector\1.0 也就在wow64模式下注册。

4.在tomcat安装目录下conf文件夹下建立两个文件

文件1:workers.properties 其中worker1代表一个应用标签 

#这里的worker1是worker们的名字。worker相当于一个tomcat运行实例,可以允许多个,就在此定义命名,命名规则为大小写字母数字与下划线减号
worker.list=worker1
#指定运行实例的工作类型,分为ajp12(一个旧的协议,为了兼容而保留,不赞成使用的),ajp13(常用的),lb(负载均衡方式工作的)
worker.worker1.type=ajp13

worker.worker1.port=8009
worker.worker1.host=localhost
worker.worker1.lbfactor=1
worker.worker1.connection_pool_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=60

  ##官方的例子 Define 3 workers, 2 real workers using ajp12, ajp13, the last one being a loadbalancing worker
  #worker.list=worker1, worker2, worker3
  # Set properties for worker1 (ajp12)
  ##worker.worker1.type=ajp12
  #worker.worker1.host=localhost
  #worker.worker1.port=8007
  #worker.worker1.lbfactor=1
  ## Set properties for worker2 (ajp13)
  #worker.worker2.type=ajp13
  #worker.worker2.host=localhost
  #worker.worker2.port=8009
  #worker.worker2.lbfactor=1
  #worker.worker2.connection_pool_timeout=600
  #worker.worker2.socket_keepalive=1
  #worker.worker2.socket_timeout=60
  ## Set properties for worker3 (lb) which use worker1 and worker2
  #worker.worker3.balance_workers=worker1,worker2

文件2:uriworkermap.properties 

/examples/* = worker1
/TZCGS/*=worker1

PS:

a.worker_file一般指向一个tomcat的工作实例类似iis的site.

b.worker_mount_file类似iis里面的虚目录配置文件。这里就是如果请求uri是hostlocal/examples和hostlocal/TZCGS 就用worker1实例来解析,其他还有iis来判断如何执行。其中的*是转义字符代表匹配任意后缀,也可以配置相关规则具体可详见官网说明。如果直接说/*=worker1那整个整个站点都有worker1实例来执行。

c.如何让IIS的一个site同时使用jsp,php,.net jsp的配置重点就是这里,你得告诉iis什么uri规则让tomcat执行。

 

四.配置IIS

1)在IIS的根节点即计算机节点中选择“ISAPI和CGI限制”里面增加isapi_redirect.dll扩展,参考如下

PS:这里的的描述可以自己设置,我建议可以为jakarta也可以为jsp

2)在iis增加一个site用来跑jsp程序,配置可以参考如下

3)在该站点的ISAPI筛选器中添加isapi筛选模块。名称自定义可以参考如下。

4)建立映射jsp执行的虚目录,此虚目录不做实际的虚目录使用,只是跟注册表中注册的extension_uri配合指向tomcat。所以这个虚目录的名称一定要对应注册表中extension_uri的值。在这里就是jakarta。然后其物理路径一定要指向isapi_redirect.dll的目录,在这里是D:\Server\Tomcat8\bin\win32\x86_64

5)配置虚目录的“应用程序映射”,编辑功能权限,将“执行”打勾,配置参考如下

ps:在这一步,有网文说需要添加一个*.jsp的映射指向到isapi的dll,在2008r2环境中本人实测根本不需要。

五.添加php程序,我这里是一个dz3.2的论坛。因为我直接配置了phpmanager且使用FASTCGI模式,只要在IIS的根节点配置成功,添加PHP程序就像添加.NET程序一样简单根本不需要配置任何东西。

PHP的IIS配置参考我之前的文章。

2)添加执行PHP程序的虚目录。即可

至此,根据我上文的配置,localhost/examples 就是访问tomcat 下webapps\examples中的jsp程序 ,访问localhost/bbs就是访问此虚目录指向的php dz程序。

 

六、32位的isapi_redirect.dll的总结

32配置的注册表文件

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Jakarta Isapi Redirector\1.0]
"extension_uri"="/jakarta/isapi_redirect.dll"
"log_level"="debug"
"worker_file"="D:\\Server\\Tomcat8\\conf\\workers.properties"
"worker_mount_file"="D:\\Server\\Tomcat8\\conf\\uriworkermap.properties"
"log_file"="D:\\Server\\Tomcat8\\logs\\isapi.log"

 

32位在IIS中需要单独配置的地方,正因为32程序是基于WOW64模式,所以注册表才会要在相应的目录下配置

时间: 2024-08-02 07:57:51

打通版微社区(4):微信第三方服务部署——JSP的IIS部署的相关文章

打通版微社区:总结及目录

前言 因为单位准备运营微信了,才有了此次部署的工作.此次运营微信主要是准备整个各种原有的PCweb应用的资源.业务方面准备单独开发对应的微信程序,使用微信的第三方服务器应用来实现,包括主动推送.在线业务.在线相关信息查询.多客服在线回复.另外整合互动交流功能,准备使用现有的DZ论坛与其对应的打通版微社区,实现PC.手机互动交流. Q&A Q:首先为什么选择打通版微社区,而不是选择普通版微社区(现在叫部落了)? A:这次是是我们部门开通的一个服务号,微社区相当于互动论坛的角色.定位这个角色之后,自

打通版微社区(6):部署微信插件及开通QQ云服务

写在前面: 此文是我最后写的.其实实际部署的时候,我是先安装了论坛并试图开通微信的微社区.发现微社区需要在微信公众平台的开发者中心里配置 "网页账号,网页授权获取用户基本信息"为论坛的根uri.原来我的论坛是单独发布在一个服务器上单独享用一个二级域名.我配置这个用户授权的uri为论坛URL后,发现我的公众平台的第三方平台服务器应用不好工作,那个服务器应用也是需要用户授权这个接口的,同样需要配置url,可悲的是公众平台的服务器应用是在另一个服务器上,哎url不同!最后我的解决办法是将js

从友盟微社区看Android第三方SDK架构实践【转载】

从友盟微社区看Android第三方SDK架构实践[转载] “先写在前面吧,本来想通过链接来转载这篇文章,发现没找到有相关的按钮.上网查了一下,都说博客园没有这功能.我在博客园也有一段时间了,鼓励原创是必须的,不过适当的转载也算是一种将有价值的文章进行分享的方式,不知道以后会不会支持呢!” 原文链接:http://www.csdn.net/article/2015-05-08/2824648-micro-community 摘要:第三方SDK的开发需要考虑很多因素,比如稳定性.灵活性等,并且还要做

微信订阅号登陆DZ论坛,不是微社区

订阅号中进入自己的微站,发帖还要登陆,用户体验非常不好. 而微信的登陆只有认证服务号才能开启,服务号一个月才能发那么可怜的4条 微社区里的功能少得令人发指 在这里可以使用微社区的登陆功能,让微信秒登微站 首先在DZ的插件里先开启微社区的微信登陆 把微社区打开 在DZ的源文件里找到source/plugin/wechat/response.class.php这个文件. 查找 $in_wechat = $_G['wechat']['setting']['wsq_wapdefault'] ? true

微信第三方服务商高度同质化 刷量服务难以持久

原文地址: http://finance.ifeng.com/a/20140813/12913613_0.shtml 业内人士表示,微信第三方开发开始进入深水区,“微网站+刮刮卡+会员卡”的时代已经终结,微信第三方服务向个性化.垂直化.服务化发展 ■本报见习记者 张 敏 微信的出现给移动互联网创业者新的机会.在大量的企业进驻微信的同时,一些微信第三方服务商也如雨后春笋般成长起来.这些第三方服务商针对客户需求提供了相应的服务,例如目前最受关注的刷点击量.涨粉丝.点赞等服务.但值得注意的是,第三方服

对话陈亮:站长可在微社区重新找到生存空间

在传统互联网时代,站长群体作为一股不容忽视的力量,曾是中国互联网业的中流砥柱,在整个互联网发展历程中起着推动性的作用.随着移动互联网时代的到来,站长们面临着向移动端转型和现有资源价值如何得以延续的难题,而拥有200万站长用户,国内最大的开源软件系统Discuz!,将如何利用微社区等移动端产品一如既往的帮助站长完成移动化转型呢?Discuz!总裁陈亮在5月10日的中国互联网创业者大会上接受了笔者采访. 为使命而生:微社区帮助站长适应新形势 陈亮:Discuz!2010年进入腾讯之后,我带领康盛团队

《小猪CMS(PigCms)多用户微信营销服务平台系统V6.1完美破解至尊版带微用户管理CRM+微信支付》

<小猪CMS(PigCms)多用户微信营销服务平台系统V6.1完美破解至尊版带微用户管理CRM+微信支付> 之前发布了不少微赢的多用户微信网站源码,今天为我的小伙伴们准备的是功能非常强悍,最新版小猪CMS(PigCms)多用户微信营销服务平台系统V6.1完美破解至尊版带微用户管理CRM,其功能非常不错的,安装也很简单.目前不少用微信管家的童鞋,估计都知道微信管家几百M的源码,实际上很多都是多余的文件,而且安装起来也是超麻烦.小猪CMS(pigcms)多用户微信营销系统也是个非常棒的选择哦. 这

PHP版微信第三方实现一键登录及获取用户信息的方法

本文实例讲述了PHP版微信第三方实现一键登录及获取用户信息的方法.分享给大家供大家参考,具体如下: 注意,要使用微信在第三方网页登录是需要"服务号"才可以哦,所以必须到官方申请. 一开始你需要进入微信公众平台开启开发模式,并且填写oauth2的回调地址,地址填写你项目的域名就可以了.比如:www.baidu.com或zhidao.baidu.com.如果你的项目在二级域名就写二级域名 前端url授权地址,在url中填写appid与你项目中方法中的oauth的地址,具体在下面的代码中可以

在sae上面运行微信第三方平台微擎,带视频录像

这次这个版本简化了配置,降低了小伙伴安装的门槛.部署前提条件:需要申请一个SAE空间,开通php应用和mysql. 前言:sae环境无法自动安装,兄弟们需要把代码和数据库分别上传上去. 前提:首先解开rar包. 1.把sql文件夹下面的数据库导入到mysql数据库.(sae空间点击应用然后服务管理下面创建一个mysql) 2.src.zip上传到php应用.(在sae控制面板上传,或者自己解压下通过svn上传到SAE应用根目录) 3.创建一个公有storage名称是weiqinpicture,千