Microsoft Azure是一个开放的,灵活的云平台,除了对自家的.Net平台有良好的支持外,对于各种开源的软件,语言,工具,框架都有着良好的支持,比如Java,Php,Python等等,你可以使用自己喜欢的语言开发任何应用部署在Azure的web site或者云服务中。

Azure的云服务是Azure的一个PAAS平台,同样支持多种不同的语言和框架,并且可以基于多种不同的阈值如CPU负载,队列,定时等等实现Auto scaling等高级功能,如下图所示:

本文简单介绍如何使用Azure所提供的Java的Eclipse插件,快速部署你的Java Web应用到Azure的Cloud Service,在你正式使用这项功能之前,希望你能了解以下一些限制,以便于你能更好的设计你的云端体系架构:

  1. 目前Azure的cloud service底层的虚拟机是Windows 2008/2012,如果你有一些应用是跑在Linux上需要迁移到Azure Cloud Service,并且依赖于一些Linux的系统调用,那么你需要做写一些代码修改
  2. Java应用在Cloud Service目前只能是workrole,没有.Net中web role和work role的定义和机制,但对于各项云服务如队列,存储,数据库等的使用并不受限制,你可以通过开发实现

    回到正文,我们开始我们的Java On Azure之旅,首先你需要安装JDK,Eclipse,也必须要有一个Azure的账号,这些基础的部分就不赘述了,关于Azure账号申请的部分请登录官方网页或者联系你的IT管理人员(如果你们公司已经购买了Azure服务)

  3. 打开Eclipse,安装Azure for Eclipse插件。你或许使用各个Eclipse的不同版本或发行版本,比如Spring Tool Suite, JBOSS IDE, Oracle IDE, IBM IDE等等,只要是Eclipse based,安装过程都大同小异。
  4. 选择"Install New Software", 输入Azure插件的安装地址:http://dl.msopentech.com/eclipse,选择确定,在出现软件选择的时候选择全部安装,接受全部条款,然后一直next,知道安装完成,你的Eclipse会重启一次。

    3. 完成安装后,我们就来创建我们第一个Azure Java的项目,因为本次主要是展示如何部署Java应用程序部署到Cloud Service,所以你需要准备一个一个你自己的WAR包,如果没有的话也ok,Azure自带了一个测试的helloworld.war,来进行简单的测试。打开Eclipse,选择New project,找到Azure deployment project,选择新建项目。

    4.给你的项目写个名称,然后选择下一步:

    5.在这个页面,你需要指定你部署到云服务中的JDK,应用服务器,以及应用。那么我先来看一下JDK的部分,有几种不同的选项,第一种是你可以部署你本地的JDK到云端,比如Oracle的JDK 1.8,你可以部署第三方的,从云端直接下载的JDK,目前只支持OpenJDK,你可以制定一个远端的站点进行下载,但必须要注意的是,远端的JDK必须是zip包,因为不属实脚本只负责将JDK解开,在本示例中,我选择部署我本地的Oracle JDK 1.8.0-60到云端:

    6.第二个页面是需要选择你要部署的应用服务器,目前有多种服务器可供选择比,常见的Tomcat,Jetty,JBoss,GlassFish等都在列表中,本例中选择Jetty 9作为Java应用服务器;同样的,如果你有一些特殊的设置,你可以选择将本地的应用服务器上传到云端,只需要你指定本地服务器的路径即可。

    7.最后一部分,是选择你要部署的Java Web应用程序,是一个标准的war包,默认情况下,Azure的应用程序会提供一个非常简单的HelloWorld的war包,他的基本功能就是输出经典的Hello Wolrd,如果你只想测试一下部署过程,可以选择该部署包,在本例中我会部署一个我的测试包Greenhouse.war:

    8.点击完成,创建新的项目,创建完成后,你会看到如下图所示的项目结构。cert目录会存放一些项目需要的证书,比如远程桌面连接的证书,cloudtools是一些发布和构建工具,deploy里面是打包完成需要发布的包,workrole1是一些启动运行脚本和示例HelloWorld包,另外三个文件是包的定义,云端服务配置文件和定义文件。

在Azure Cloud Service中部署Java Web App(1)的更多相关文章

  1. 在Azure Cloud Service中部署Java Web App(2)

    接上文. 9.在进行发布之前,需要对我们的订阅做一些设置,因为默认情况下,Azure的service end指向的是Azure global的站点,如果我们要将服务发布在Azure的中国站点,需要做下 ...

  2. 【Azure 云服务】如何从Azure Cloud Service中获取项目的部署文件

    问题描述 在历史已经部署的云服务(Azure Cloud Service)中,如何获取到项目在很久以前的部署包文件呢? 解决办法 1)如果部署云服务是通过门户上传部署包到存储账号中,则可以直接从存储账 ...

  3. CentOS6.5中部署java web环境

    原来在linux中部署java web环境,没有做好总结,这次在部署的过程中,将部署的过程做了记录,希望对大家有帮助.主要内容包括CentOS安装以后的网络设置,系统自带jdk的卸载,新版本jdk的安 ...

  4. 【转】Tomcat中部署java web应用程序

    http://www.blogjava.net/jiafang83/archive/2009/06/02/279644.html 转载:今天给大家介绍怎样在Tomcat5.5.9中部署Java Web ...

  5. 在Tomcat中部署Java Web应用程序

    在Tomcat中部署Java Web应用程序有两种方式:静态部署和动态部署.在下文中$CATALINA_HOME指的是Tomcat根目录. 一.静态部署      静态部署指的是我们在服务器启动之前部 ...

  6. Tomcat中部署Java Web应用程序的方式

    Tomcat中部署Java Web应用程序的几种方式: #PetWeb是工程名 1.在TOMCAT_HOME\conf\server.xml文件的HOST节点中加入 <Context docBa ...

  7. 在Tomcat中部署Java Web应用程序几种方式

    在Tomcat中部署Java Web应用程序有两种方式:静态部署和动态部署.在下文中$CATALINA_HOME指的是Tomcat根目录. 一.静态部署      静态部署指的是我们在服务器启动之前部 ...

  8. Windows Azure Cloud Service (11) PaaS之Web Role, Worker Role(上)

    <Windows Azure Platform 系列文章目录> 本文是对Windows Azure Platform (六) Windows Azure应用程序运行环境内容的补充. 我们知 ...

  9. Windows Azure Cloud Service (12) PaaS之Web Role, Worker Role, Azure Storage Queue(下)

    <Windows Azure Platform 系列文章目录> 本章DEMO部分源代码,请在这里下载. 在上一章中,笔者介绍了我们可以使用Azure PaaS的Web Role和Worke ...

随机推荐

  1. 【转】Memcached管理与监控工具----MemAdmin

    原文连接:http://blog.csdn.net/ajun_studio/article/details/6746877 原文作者:halfMe 转载注明以上信息! 使用MemCached以后,肯定 ...

  2. [XMPP]iOS聊天软件学习笔记[三]

    今天做了好友界面,其实xmpp内部已经写好很多扩展模块,所以使用起来还是很方便的 开发时间:五天(工作时间) 开发工具:xcode6 开发平台:iOS8 XMPP框架:XMPPFramework gi ...

  3. usb开发笔记

    U盘应属于海量存储类. USB海量存储设备,又包括通用海量存储子类,CDROM,Tape等,U盘实际上属于海量存储类中通用海量存储子类.通用海量存储设备实现上是基于块/扇区存储的设备. USB组织定义 ...

  4. QT---线程间通信(要先编译libqt-mt.so?)

    在 Qt 系统中,运行着一个GUI 主事件线程,这个主线程从窗口系统中获取事件,并将它们分发到各个组件去处理.在 QThread 类中有一种从非主事件线程中将事件提交给一个对象的方法,也就是 QThr ...

  5. cf472A Design Tutorial: Learn from Math

    A. Design Tutorial: Learn from Math time limit per test 1 second memory limit per test 256 megabytes ...

  6. WebStorm JavaScript 开发神器

    WebStorm 百度百科 http://baike.baidu.com/view/5443872.htm?fr=aladdin

  7. UESTC_王之迷宫 2015 UESTC Training for Search Algorithm & String<Problem A>

    A - 王之迷宫 Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) Submit  ...

  8. Java中的native方法

    博客引用地址:Java中的native方法 今天花了两个小时把一份关于什么是Native Method的英文文章好好了读了一遍,以下是我依据原文的理解. 一. 什么是Native Method 简单地 ...

  9. 【转】C++实现RTMP协议发送H.264编码及AAC编码的音视频

    RTMP(Real Time Messaging Protocol)是专门用来传输音视频数据的流媒体协议,最初由Macromedia 公司创建,后来归Adobe公司所有,是一种私有协议,主要用来联系F ...

  10. 为什么学微信小程序开发

    微信小程序是什么? 触手可得,不用安装,不体验过自己是想不到的 ---张小龙 小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜 一下即可打开应用.也体现了“用 ...