林炳文Evankaka原创作品。转载请注明出处http://blog.csdn.net/evankaka
摘要:本文主要介绍了IBM Bluemix,并详细说明了如何部署Java Web项目,如何添加MySql服务。最后,提出了自己的一些看法。
BluxMix账号注册登陆:https://apps.admin.ibmcloud.com/manage/trial/bluemix.html?cm_mmc=CMDeveloperGCG-_-Bluemix-_-CSDN-_-onlineeventQ2
1、Bluemix 带来了什么
Bluemix 致力于解决上述在软件开发过程中遇到的问题,旨在帮助程序员更快速的开发,测试,部署和运维云平台应用。
什么是 Bluemix?
简单的讲,Bluemix 就是一个开放的公有云平台,允许程序员在上面运行几乎所有类型的应用,而不用为硬件,软件,网络等其他因素分心。如上文提到,Bluemix 处于云世界的中间层,也就是 PaaS 层。如下图所示:
第二,加速应用程序上线,在实际的操作中,只需要简单的几条命令或者 UI 界面的几次点击操作就能轻松的完成各种应用程序的部署,而完全不用去担心硬件采购,软件安装等等这些先期准备工作;
第三,很容易的满足应用程序对各种新功能和新服务的需求,IBM 及其合作伙伴负责提供优质的服务,程序员只需要简单的“绑定”操作就能将服务加入到应用程序中;
第四,Bluemix 支持的语言,运行时,框架等都是程序员已经熟知的,采用 Bluemix 平台几乎不需要增加新的学习成本;最后一点是,Bluemix 底层采用 IaaS 是可以提供企业级需求的 Softlayer,可以有效的保证平台的高性能和高安全性。
1、进入官网
官方首页:https://console.ng.bluemix.net/ 可以看到,主要分成了三大类,CF应用程序、容器及虚拟机。(其实还有一个使用 API 或服务)
2、注册
BlueMix目前对用户免费申请注册都没有什么限制,每个注册用户有30天的免费使用,过了免费试用期后不知道会怎么样了。注册过程也很简单,一下就好了
3、激活登陆
这是BlueMix空间的控制面板,可以看到操作分为了4个版块:Cloud Foundry、Docker容器、虚拟机、服务和API。其中虚拟机是要交钱才可以用的。不能免费试用。
注意:只有区域是英国的才会默认创建一个DEV空间
从这里可以看自己的区域:
如果你自己选择了美国南部,那么主界面就变成如下(它不会默认创建一个空间,一进去就会提示你创建自己的空间)
美国南部创建出来的空间如下,多了一个数据分析
4、创建空间
默认情况下为会你自动创建一个叫dev的空间,当然,你也可以自己再重新创建新的空间
注:初始申请时,Cloud Foundry、容器都是免费试用2GB的,但是一个月后需要绑定信用卡,Cloud Foundry可以一直免费使用.(免费套餐为运行时和容器提供每个月 0.5 GB 免费内存和大量服务空间,这个是官网说的)。
下面笔者将来讲下如何在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包替换掉。
它这个项目其实就是一个web 项目,可以直接导入到Eclipse中来开发,然后添加自己所需要的功能,最后再push上去(也可以通过eclipse连接到Bluemix的插件),其中mainfifest.xml就是用来配置Bluemix个人中心的,这里篇幅有限,就不细说了。
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 login -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
接下来它会自动上传。编码、重新部署。这一过程大概等 了几分钟。最后如果显示如下,表示发布成功了。
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:在配置环境用于本地测试时,该名称会包含在 JNDI 服务名称中。
port:DB 端口
db:db2 客户端中的数据库名称
username:用于身份验证,也用于模式名称
hostname:这会在配置环境用于本地测试时成为 servername
password:用于身份验证的密码
(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包的路径和名称!!
最后输出如下,表示成功: