定制化使用您自己的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,深度定制化生效了:

定制化Azure站点Java运行环境(4)的更多相关文章

  1. 定制化Azure站点Java运行环境(1)

    Azure website提供了为现代化的web应用程序快速部署的PAAS平台,可以让用户几分钟之内快速的将自己的应用部署到云端,并且提供了自动扩展(auto-scaling),SSL,多种语言(Ja ...

  2. 定制化Azure站点Java运行环境(5)

    Java 8下PermGen及参数设置 在上一章节中,我们定制化使用了Java 8环境,使用我们的测试页面打印出了JVM基本参数,但如果我们自己观察,会发现在MXBeans中,没有出现PermGen的 ...

  3. 定制化Azure站点Java运行环境(3)

    定制化Azure Website提供的默认的Tomcat和JDK环境 在我们之前的测试中,如果你访问你的WEB站点URL时不加任何上下文,实际上你看到的web界面是系统自带的测试页面index.jsp ...

  4. 定制化Azure站点Java运行环境(2)

    Azure Website上发布Java web应用 在Azure站点上发布Java Web应用非常简单,可以使用git从源代码发布,也可以使用FTP/FTPs直接发布,本节介绍FTP方式. 准备好你 ...

  5. Java 运行环境的安装、配置与运行

    (一)SDK 的下载与安装 1. 下载SDK 为了建立基于SDK 的Java 运行环境,需要先下载Sun 的免费SDK 软件包.SDK 包含了一整套开发工具,其中包含对编程最有用的是Java 编译器. ...

  6. Windows7系统下JAVA运行环境下载、安装和设置(第二次更新:2012年03月14日)

    1.下载 地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html,(由于Sun于2009年被oracle收购所以网址 ...

  7. Windows7下的Java运行环境搭建过程图解

    第一步:下载JDK 地址:http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html,(由于Sun于20 ...

  8. Java运行环境的配置(JDK和JRE)

    Jdk 表示java开发环境,包含开发环境和运行环境 Jre 表示java运行环境 JDK就是Java Development Kit.简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发 ...

  9. Editplus配置java运行环境

    Editplus配置java运行环境 下载及安装: editplus官网下载地址:https://www.editplus.com/ 安装方法和安装普通exe应用程序一样,选在安装路径,下一步下一步, ...

随机推荐

  1. mysql之6备份恢复

    基本意义: 将数据另存到其他设备,以便于出现问题时恢复数据     为什么要备份: 灾难恢复:需求改变:测试     几个事先需要考虑的问题: 可以容忍丢失多长时间的数据?恢复要在多长时间内完成?是否 ...

  2. 关于C语言静态链接的个人理解,欢迎指正

    摘要:本篇主要介绍在静态链接中多个文件合并.地址确定.符号解析和重定位相关问题,以GCC编译器为例.     首先,链接器链接多个文件时,采用何种方式合并为一个文件?方式一,按序叠加,即多个文件依次叠 ...

  3. github page使用

    github page介绍: https://help.github.com/categories/20/articles 使用GitHub Pages建立博客 与GitHub建立好链接之后,就可以方 ...

  4. python手记(45)

    python 声音编辑,减少音量 #!/usr/bin/env python # -*- coding: utf-8 -*- #http://blog.csdn.net/myhaspl #code:m ...

  5. PhpEclipse插件

    PHP开发工具 PHPEclipse PHPEclipse 是一个相当强大的一个Eclipse下开发PHP的插件,包括的功能有:PHP语法分析,调试,代码格式化,大纲视图,代码模板定制等. 安装地址: ...

  6. Grid++Report支持CS/BS模式的表报插件

    Grid++Report 可用于开发桌面C/S报表与WEB报表(B/S报表),C/S报表开发适用于VB.NET.C#.VB.VC.Delphi等.WEB报表开发适用于ASP.ASP.NET.JSP/J ...

  7. 学习《Python核心编程》做一下知识点提要,方便复习(一)

    学习<Python核心编程>做一下知识点提要,方便复习. 计算机语言的本质是什么? a-z.A-Z.符号.数字等等组合成符合语法的字符串.供编译器.解释器翻译. 字母组合后产生各种变化拿p ...

  8. 【Java基础】可变参数

    下面是一个简单的小程序: import java.util.Arrays; class lesson6 { public static void main(String[] args) { ,,,,, ...

  9. .net 链接oracle

    虽然EF6都快要出来了,但是对于Oracle数据库,仍然只能用DB first和Model First来编程,不能用Code First真是一个很大的遗憾啊. 好了,废话少说,我们来看看EF中是如何用 ...

  10. 自动匹配HTTP请求中对应实体参数名的数据(性能不是最优)

    /// <summary> /// 获取请求参数字段 /// </summary> /// <typeparam name="T"></t ...