林炳文Evankaka原创作品。转载请注明出处http://blog.csdn.net/evankaka
摘要:本文主要介绍了IBM Bluemix,并详细说明了如何部署Java Web项目,如何添加MySql服务。最后,提出了自己的一些看法。
文章目录
- 一、Bluemix简单介绍
- 二、BlueMix空间申请试用
- 三、BlueMix创建Cloud Foundry应用
- 四、添加新的服务
- 五、总结
一、Bluemix 简单介绍
1、Bluemix 带来了什么
Bluemix 致力于解决上述在软件开发过程中遇到的问题,旨在帮助程序员更快速的开发,测试,部署和运维云平台应用。
什么是 Bluemix?
简单的讲,Bluemix 就是一个开放的公有云平台,允许程序员在上面运行几乎所有类型的应用,而不用为硬件,软件,网络等其他因素分心。如上文提到,Bluemix 处于云世界的中间层,也就是 PaaS 层。如下图所示:
2、选择 Bluemix 的理由
第一,节省时间和精力,程序员可以把所有的心思都放在应用程序的编写和调优上,而不用去担心繁杂的平台基础架构和设施,更有利于发掘程序员的创造力,开发出更高质量,高性能的应用;
第二,加速应用程序上线,在实际的操作中,只需要简单的几条命令或者 UI 界面的几次点击操作就能轻松的完成各种应用程序的部署,而完全不用去担心硬件采购,软件安装等等这些先期准备工作;
第三,很容易的满足应用程序对各种新功能和新服务的需求,IBM 及其合作伙伴负责提供优质的服务,程序员只需要简单的“绑定”操作就能将服务加入到应用程序中;
第四,Bluemix 支持的语言,运行时,框架等都是程序员已经熟知的,采用 Bluemix 平台几乎不需要增加新的学习成本;最后一点是,Bluemix 底层采用 IaaS 是可以提供企业级需求的 Softlayer,可以有效的保证平台的高性能和高安全性。
二、BlueMix空间申请试用
1、进入官网
官方首页:https://console.ng.bluemix.net/ 可以看到,主要分成了三大类,CF应用程序、容器及虚拟机。
2、注册
BlueMix目前对用户免费申请注册都没有什么限制,每个注册用户有30天的免费使用,过了免费试用期后不知道会怎么样了。注册过程也很简单,一下就好了
3、激活登陆
这是BlueMix空间的控制面板,可以看到操作分为了4个版块:Cloud Foundry、Docker容器、虚拟机、服务和API。其中虚拟机是要交钱才可以用的。不能免费试用。
4、创建空间
默认情况下为会你自动创建一个叫dev的空间,当然,你也可以自己再重新创建新的空间
注:初始申请时,Cloud Foundry、容器都是免费试用2GB的,但是一个月后需要绑定信用卡,Cloud Foundry可以一直免费使用的配额是256MB空间。
三、BlueMix创建Cloud Foundry应用
下面笔者将来讲下如何在Bluemix中部署JavaWeb项目,将本地JavaWeb项目打包上传到Bluemix中去。
1、创建
在BlueMix控制面板中点击创建Cloud Foundry应用
选择Web应用或者是移动应用。这里笔者选择Web应用
2、选择应用类型
你可以选择你的应用类型,支持Liberty for Java、SDK for Node.js、Go、PHP、Python、Ruby、ASP.NET 5、IBM XPages、社区 buildpack、个人已有代码。这里笔者选择Liberty for Java
然后点击继续进行下一步
3、命名
选择应用后,然后填写应用名称,点击完成。
5、选择编码
创建应用完成后,接下来就是开始编码了,这里有三种方式:Eclipse 插件、CF和Git。这里使用CF方式是最简单的,本文也都是采用这个方式,也建议你采用这种方式。
6、安装CF命令行界面
选择CF方式编码比较简单,点击CF按钮后,接下来就是提示你安装CF命令工具和下载起动器代码包了。
这里主要分为两步:
7、CF命令工具下载
CF命令工具官网:https://github.com/cloudfoundry/cli/releases,支持Debian 32 bit与64 bit、Redhat 32 bit和 64 bit、Mac OS X 64 bit、Windows 32 bit和64 bit,这里是CF命令工具Windows 32 位和CF命令工具Windows 64 位下载地址。
8、下载应用起动器代码包
下载你的应用起动器代码包,解压后你就可以看到文件了,这是BlueMix提供给你的应用代码包示例。只有通过下载这个起动器代码包,你才能连接到个人Bluemix中心,通过电脑的控制台(win +r,然后输入cmd,确定即可)来操作个人Bluemix中心
下载的路径就在:这个下面蓝色按钮中,里面有下载的路径!
如果找不到,请进入到个人创建的项目中,然后点击开始编辑
起动器代码解压后的内容如下图,JavaHelloWorld.war就是默认下进入这个网页访问到的内容http://javawebproject.eu-gb.mybluemix.net/。我们默认的个人Bluemix中心放在war包就是下面这个,后头就是要把个人Bluemix中心的这个war包替换掉。
9、连接并登录到个人Bluemix中心
打开Windows命令工具,cd 进入到你存放起动器代码文件夹中,连接到 Bluemix:cf api https://api.ng.bluemix.net。,注意,这里我直接把解压后的文件放在了c盘下了
(1)进入目录
(2)连接Bluemix
cf api https://api.ng.bluemix.net
(3)登录Bluemix
cf -u [email protected] -o [email protected] -s dev
-u 后面表示用户,-s后面表示创建的空间,这里我直接使用了默认的,如果是自己创建的空间要记得改过来,然后输入密码后就可以了
这里做好之后,这个黑框就一直开着,后台的操作都需要应用到这里!
10、打包本地war文件
首先来看看本地跑的效果,在MyEclipse(或Eclipse)下新建一个web工程,然后写入内容,这里不细讲了,本地启动Tomcat跑起来后的效果如下:
然后把整个工程的war文件导出去:在工作空间选择到项目,然后在FILE->EXPORT中,弹出如下内容。输入对应的参数即可
11、上传本地war包到Bluemix
本地java web项目打包成war包后,使用命令,
cf push JavaWebProject -p D:\JavaWeb\JavaWebHello.war -m 512
这里一定要记得-p 后面跟的是本地war包的路径和名称
接下来它会自动上传。编码、重新部署。这一过程大概等 了几分钟。最后如果显示如下,表示发布成功了。
12、访问
在自己的浏览器中输入http://javawebproject.eu-gb.mybluemix.net/(现在你也可以访问,到2015.11.30试用期就会到了,到时可能访问不了)
动画如下:这里是是一个统计访问请示的次数的一个简单的用JSP写的页面
四、添加新的服务
这里要写一个Mysql+servlet+jsp实现用户登录的小页面,并最终部署Mysql数据库和页面到IBM Bluemix,最终的效果如下:
1、添加MySql服务
(1)、打开自己的项目。添加服务或API
(2)、服务有很多,可以自己选择
我们可以通过搜索来过滤 ,输入Mysql
(3)创建服务
创建后它会要求你重新编译的打包,确定就是
(4)绑定服务
怎么来看数据库服务已经和我们的工程绑定了呢?很简单。进入项目后就可以看到了!
2、本地访问远程Mysql数据库
即然后已创建数据库,那么接下为就是要建立数据表,同时,插入一些初始数据来验证!
(1)、查看数据库源信息
还是上面,选择显示凭证,这里就是远程的数据库名称、访问的用户名、密码了!
这里name就是数据库的名称,hostname就是数据库的远程地址,username是用户名,password就是密码,jdbcUrl这个是给jdbc用的,或者spring中配置数据源也可以用
(2)、本地连接个人Bluemix的MySql服务
打开我们的MySQL Workbench (本地电脑安了MySQL都会有),选择Database->Connect To Database,在弹出的框中,输入如下内容
(3)建立表、插入数据
在上面确定后,我们就可以连接到远程的数据库了,下一步就是建表、插入一条数据
脚本如下:
create database example; use example; create table user( userid int primary key auto_increment, name varchar(30) NOT NULL, password varchar(30) NOT NULL ); insert into user(userid,name,password) values (null,‘lin‘,‘1234‘);
可以看到数据库名ad_ab59b5772bf96a3 就是对应实例化凭证中的数据库
接下来验证下数据,看看是不是真的插入成功了。
3、建立Web项目
数据库有了,那么接下来就是通过web项目来连接,进行数据的查询了!
整个web工程的创建就不说了,不懂看这里Servlet+Jsp+MySql用户登录实例,工程下载路径在这里http://download.csdn.net/detail/evankaka/8714563
这里主要来看看连接数据库的代码,将jdbcurl、username、password改成你自己的Bluemix创建的Mysql服务的内容,然后打包成war包,你也可以直接用。
/** *功能 定义数据库操作类 *作者 林炳文([email protected] 博客:http://blog.csdn.net/evankaka) *时间 2015.4.22 */ package com.mucfc.dbc; import java.sql.Connection; import java.sql.DriverManager; public class DatabaseConnection { //定义数据库驱动程序 private static final String DBDRIVER="com.mysql.jdbc.Driver"; //数据库连接地址 private static final String DBURL="jdbc:mysql://us-cdbr-iron-east-03.cleardb.net/ad_ab59b5772bf96a3?user=b1b48dec447479&password=1aa5dc06";//company表示数据库 private static final String DBUSER="b1b48dec447479"; private static final String DBPASS="1aa5dc06"; private Connection connection=null; public DatabaseConnection() throws Exception{ try{ //数据库操作可能出现异常 Class.forName(DBDRIVER); connection=DriverManager.getConnection(DBURL,DBUSER,DBPASS); }catch(Exception exception ){ throw exception; } finally { } } public Connection getConnection(){ return connection; } public void close() throws Exception{ if(connection!=null){ try { connection.close(); } catch (Exception e) { throw e; } } } }
这个就是了,本地来跑下Web项目吧!!!效果如下
4、打war包、上传war包
最后关键一步当然就上传了!
打包过程在上面已说了,这里不再细讲。将整个打包出去的war包命名为JavaWebLogin.war
上传命令:一定要选择通过cf api 然后cf login来登录到自己的空间后,才能使用cf push命令!!!,同时注意上传war包的路径和名称!!
最后输出如下,表示成功:
5、访问
打开浏览器,输入http://javawebproject.eu-gb.mybluemix.net/(到2015.11.30之前都还一直可以访问)正确的用户名/密码:lin/1234
效果如下:
五、总结
优点:
1、可免费使用30天,2G应用程序、2G容器,10个服务
2、整体操作都比较简单,对运维人员来说也能学习
3、功能很齐全、光应用程序就支持了很多种,还有虚拟机、容器、服务
缺点:
1、响应太慢,后面部署的登录web项目,因为连接了数据库,验证返回等了将近2秒,如果是表多了,数据多了,不知道可靠性能不能保证了
2、网上教程较少,特别是关于容器这一块,整个bluemix的网站响应好慢!
参考文章:
IBM PaaS平台BlueMix免费申请使用支持Cloud Foundry,Docker容器和虚拟机
版权声明:本文为博主林炳文Evankaka原创文章,转载请注明出处http://blog.csdn.net/evankaka