定制化使用您自己的Tomcat版本和JDK环境

在上面章节中,介绍了如何通过web.config,定制默认的Azure website的Java运行环境,默认情况下,Azure站点的Tomcat是7.0.50,Java版本是1.7.0_51,但用户自己测试开发或者生产环境的Tomcat和Java版本有可能是更高版本的,那么在Azure Website上是否可以深度定制化,使用用户自己的Tomcat和Java呢?

在本节中,我会介绍下在Azure website的PAAS服务中,你如何深度定制使用你自己版本的Tomcat,JDK,设置相关参数。

  1. 首先在你的本地安装或者下载JDK,此过程凡是有Java开发经验的开发者应该已经可以闭着着眼睛做了吧:)我安装在C盘,使用的Java版本是1.8.0_60如下:

  2. 使用你的FTP工具连接到你的web站点,在根目录下建一个bin子目录,并将你的本地JDK目录下的所有文件,包括JDK目录上传到bin目录下,上传完的目录结构如下:

  3. JDK上传完毕后,在Apache官网下载Tomcat,由于Azure使用的是Tomcat7.0.50,在本测试中,我们下载Tomcat 8.0,解压缩到本地:

  4. 在Azure的website PAAS服务中,你所定制化使用的Tomcat实际上是放到了一个托管环境,所以在你上传之前,需要做一些定制化修改,请打开本地你的Tomcat的conf目录下server.xml文件,打开进行编辑。

  5. 找到Server,Shutdown这一行,将port的值改为"-1",如下图所示:

  6. 找到Connector port这一行,将port值修改为"${port.http}"

  7. 注释掉https,AJP段:

  8. 打开当前目录下web.xml,设置<listings>参数为true:

  9. 打开当前目录下的context.xml文件,设置context的reloadable参数为"true":

  10. 保存并退出,然后使用FTP工具,将Tomcat所有文件上传到根目录的bin目录下,如下图所示:

  11. 最后我们需要创建自己的定制化的web.config文件,打开你的编辑器,将下面我下好的web.config文件内容拷贝粘贴,如果你的JDK、tomcat有所不同,请修改相关路径,你也可以直接从我的github直接下载:

    https://github.com/kingliantop/azurelabs/blob/master/Java/websites/indepth/web.config

     <?xml version="1.0" encoding="UTF-8"?>
    
     <configuration>
    
     <system.webServer>
    
     <handlers>
    
     <add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />
    
     </handlers>
    
     <httpPlatform processPath="%HOME%\site\wwwroot\bin\apache-tomcat-8.0.32\bin\startup.bat"
    
     arguments="">
    
     <environmentVariables>
    
     <environmentVariable name="CATALINA_OPTS" value="-Dport.http=%HTTP_PLATFORM_PORT%" />
    
     <environmentVariable name="CATALINA_HOME" value="%HOME%\site\wwwroot\bin\apache-tomcat-8.0.32" />
    
     <environmentVariable name="JRE_HOME" value="%HOME%\site\wwwroot\bin\jdk1.8.0_60" /> <environmentVariable name="JAVA_OPTS" value="-Djava.net.preferIPv4Stack=true -Dsun.java2d.d3d=false -Xms512m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=256m" />
    
     </environmentVariables>
    
     </httpPlatform>
    
     </system.webServer>
    
     </configuration>
  12. 最后一步,将web.config文件上传到你的web站点的根目录:

  13. 这个时候Tomcat服务器会重启,PAAS环境会重新部署,大约等1分钟左右,打开你的website站点,你会看到:

    证明你的website站点的确已经开始使用你自己的Tomcat 8.0作为容器了,但为什么显示的页面不是我们之前可以看到Heap size的页面呢?这是因为你部署了自己的tomcat后,工作目录变成了你的tomcat 8下面的webapps目录。

  14. 打开FTP工具,连接到你的站点,上传之前修改过的index.jsp到Tomcat 8的webapps目录下的ROOT下:

  15. 打开你的web站点主页,可以看到显示的已经是我们之前修改过的index.jsp页面了,从页面可以看出,Java使用的是我们定制的Java 8,而Tomcat是我们定制的Tomcat 8,深度定制化生效了:

最新文章

  1. DTMF三种模式(SIPINFO,RFC2833,INBAND)
  2. Qt Model/View(官方翻译,图文并茂)
  3. javaSE之线程联合
  4. csharp_ToJson的正确写法
  5. Servlet获取当前服务器的实际路径
  6. js 中 json对象 与 json字符串 间相互转换
  7. 在SystemOut.log中发现HMGR0152W: 检测到CPU 饥饿的消息 &lt;转载&gt;
  8. cocos2d-x 2.2.3 之菜单分析(1)
  9. windows打开和关闭默认共享方法汇总
  10. android scrollview嵌套listview计算高度的问题
  11. idea 的Maven执行异常终止(退出代码1)
  12. Windows Message ID 常量列表大全
  13. node-sass下载失败 关于webpack
  14. 关于 IOS 时间的一下用法
  15. JMS 消息队列
  16. talend 将hbase中数据导入到mysql中
  17. bzoj4974 字符串大师 KMP
  18. Kafka集群环境搭建(2.9.2-0.8.2.2)
  19. 工作流JBPM_day01:4-管理流程定义
  20. 老齐python-基础9(函数)

热门文章

  1. mysql之主从复制
  2. C语言程序的结构分析
  3. Roads in the North(POJ 2631 DFS)
  4. Gnome快捷键
  5. 关于《s3c2416裸跑环境配置》一文的一些补充
  6. Uubntu scrot 的简单使用
  7. SD card技术了解并WINCE下SDHC驱动开发(updated)
  8. 活生生的例子:qInstallMessageHandler接受指定类型的函数指针,这样就可以随心所欲的让程序员自定义函数名以及函数位置
  9. Java如何访问Axis2服务端
  10. hdu 5610 Baby Ming and Weight lifting