部署PaaS应用(Part6)Tomcat / JBoss(后半部分)
部署PaaS应用(Part6)Tomcat / JBoss本文档是在已经完成“PaaS基础平台配置.docx”,Openshift平台没有部署任何应用的基础上编写的。 部署PaaS应用(Part6)Tomcat - JBoss完整版这是IaaS、PaaS和开发的一个可能的结合点。1、配置Openshift支持Tomcat / JBoss(1)使用SFTP将PaaS光盘中paas-java目录中除swift.war以外的所有文件传到Node节点的/root目录中。
(2)安装JAVA-JDK# rpm -ivhttmkfdir-3.0.9-32.1.el6.x86_64.rpmPreparing... ########################################### 1:ttmkfdir ###########################################
# rpm -ivhxorg-x11-fonts-Type1-7.2-9.1.el6.noarch.rpmPreparing... ########################################### 1:xorg-x11-fonts-Type1###########################################
# rpm -ivhjava-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64.rpmwarning:java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64.rpm: Header V4 DSA/SHA1Signature, key ID 192a7d7d: NOKEYPreparing... ###########################################1:java-1.7.0-openjdk ###########################################
# rpm -ivhjava-1.7.0-openjdk-devel-1.7.0.45-2.4.3.3.el6.x86_64.rpmPreparing... ###########################################1:java-1.7.0-openjdk-deve###########################################
(3)安装Maven# tar -zxfapache-tomcat-6.0.43.tar.gz# tar -zxfapache-tomcat-7.0.57.tar.gz# tar -zxf apache-maven-3.1.1-bin.tar.gz# unziporigin-server-master.zip
# cp -rf/root/apache-maven-3.1.1 /etc/alternatives/maven
# echo -e 'exportM2_HOME=/etc/alternatives/maven\nexport PATH=${M2_HOME}/bin:${PATH}' >/etc/profile.d/maven.sh
# cat /etc/profile.d/maven.shexport M2_HOME=/etc/alternatives/mavenexport PATH=${M2_HOME}/bin:${PATH}
# source/etc/profile.d/maven.sh(机器重启后须重复执行)# mvn -v(验证Maven是否安装成功)Apache Maven 3.1.1 (0728685237757ffbf44136acec0402957f723d9a;2013-09-17 11:22:22-0400)Maven home: /etc/alternatives/mavenJava version: 1.7.0_45, vendor: OracleCorporationJava home:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.45.x86_64/jreDefault locale: en_US, platform encoding:UTF-8OS name: "linux", version:"2.6.32-431.el6.x86_64", arch: "amd64", family:"unix"
(4)安装JBossews# cp -rf/root/apache-tomcat-6.0.43 /etc/alternatives/jbossews-1.0
# cp -rf/root/apache-tomcat-7.0.57 /etc/alternatives/jbossews-2.0
# cp -rf/root/origin-server-master/cartridges/openshift-origin-cartridge-jbossews/usr/libexec/openshift/cartridges/jbossews
# chmod a+x/usr/libexec/openshift/cartridges/jbossews/bin/*
(5)安装cartridge在node节点执行:# /usr/sbin/oo-admin-cartridge--recursive -a install -s /usr/libexec/openshift/cartridges/succeeded
在paas节点执行:# cd/var/www/openshift/broker/
# oo-admin-broker-cache--clear --consoleClearing broker cache.Clearing console cache.
# bundle exec raketmp:clear
(6)访问paas.example.com,可以看到Openshift现在支持部署Tomcat / JBoss应用。
2、部署Tomcat / JBoss应用
(1)使用浏览器打开paas.example.com,在设置标签的Namespace填写paas,点击Save保存。
(2)在Node节点查看自己的RSA公钥。# cd /root/.ssh/# cat id_rsa.pub ssh-rsaAAAAB3NzaC1yc2EAAAABIwAAAQEAs3WBUIFef4FtbWSEQVCoeUUiUsIFYB+YgXidW2MajYqlYvjCqtLJcLg2dZFjKwJ0JgoLbaJhi+3V0EtsVCyXK/pAyn56QkxZia/BzgSp0n3kNVxZ5KkLWnZ/xkMXaQH7CYk0e++4FgxUEviPv34hs58dXvR7IKbSSc2WDsJEpX78a82HnNiLoKtAs+h5im1aF25o6vzaqLHPzZkht4xcR/7oP5YNr9wwaVFmaqr0hyfgzZMwvQqJlX2Bx1GhHCTqQHKqshW+Ia1cGzGnVGNmI0bybP1pKRQTGwUS1yKTzgB7UxGYHZn3lN5I2aVUbFYccHD83qNa92Qhu/DTVO/2jw==root@node
(3)将Node节点的RSA公钥复制到这里,点击保存。
(4)以下为创建好的域和导入的公钥。
(5)在Openshift应用标签创建新应用,点击Tomcat 7(JBoss EWS 2.0)。
(6)在公共URL处输入swift,点击Create Application。
(7)点击查看应用程序。
(8)点击Add MySQL 5.1,添加MySQL应用套件。
(9)点击添加套件。
(10)点击Add phpMyAdmin 4.0,添加phpMyAdmin套件。
(11)点击添加套件。以下为添加完成的套件。
l记下phpMyAdmin的URL: https://swift-paas.example.com/phpmyadmin/l记下用户名adminxG83rN2,密码eTGWKUxUEt2F。l复制右侧的SourceCode:ssh://55717a5113db8cde18000001@swift-paas.example.com/~/git/swift.git/。
(12)在新的标签页打开phpMyAdmin的网址https://swift-paas.example.com/phpmyadmin,输入之前记下来的用户名adminxG83rN2,密码eTGWKUxUEt2F。点击Databases(数据库)。
(13)选中swift数据库,点击Drop(删除)。
(14)确认删除。
(15)将PaaS光盘中paas-java目录中swift.war复制到本机,重命名为swift.zip,解压WEB-INF\classes目录中的jdbc.properties,以及WEB-INF\classes\sql目录中的mysql.sql。
(15)点击左上角的Home,点击SQL,将mysql.sql中的create database swift character set utf8;复制进去,点击Go(执行)。
(16)执行成功。
(17)点击Databases(数据库),点击数据库swift。
(18)切换到SQL栏,将mysql.sql中的这些语句复制进去,点击Go(执行),创建数据库表t_user。
(19)点击t_user数据库表,可以看到表中的项目。
(20)点击Insert(插入),创建登录用户,输入id、username、realname、email、password,点击Go(执行),其中e10adc3949ba59abbe56e057f20f883e是用户密码123456的MD5值。
(21)执行成功。
(22)点击数据库表t_user,可以看到其中的内容。
(22)修改解压出来的jdbc.properties,将MySQL数据库服务器的IP地址、用户名和密码修改为Openshift所提供的。(建议将文件通过SFTP传送到Linux系统中修改。)# vi jdbc.properties #Mysql - linkxjdbc.driverClassName=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://127.1.244.2:3306/swift?useUnicode=true&characterEncoding=UTF-8jdbc.username=adminxG83rN2jdbc.password=eTGWKUxUEt2F##oracle#jdbc.driverClassName=oracle.jdbc.driver.OracleDriver#jdbc.url=jdbc:oracle:thin:@localhost:1521:ora9i#jdbc.username=stamen#jdbc.password=abc
(23)将修改好的jdbc.properties添加到swift.zip中的WEB-INF\classes目录中,替换原有的文件。
(24)重命名swift.zip为swift.war,通过SFTP传送到Node节点的/root目录。
(25)git clone源文件到Node节点的/root/sourcegit目录。(源地址为第(11)步记下来的Source Code。)# mkdir /root/sourcegit
# cd /root/sourcegit/
# git clone ssh://55717a5113db8cde18000001@swift-paas.example.com/~/git/swift.git/Initialized empty Git repository in/root/sourcegit/swift/.git/The authenticity of host'swift-paas.example.com (192.168.200.102)' can't be established.RSA key fingerprint is90:b6:9e:d0:3e:76:27:ce:34:3b:d6:b4:41:5d:e7:31.Are you sure you want to continueconnecting (yes/no)? yesWarning: Permanently added'swift-paas.example.com,192.168.200.102' (RSA) to the list of known hosts.remote: Counting objects: 41, done.remote: Compressing objects: 100% (31/31),done.remote: Total 41 (delta 2), reused 41(delta 2)Receiving objects: 100% (41/41), 51.28 KiB,done.Resolving deltas: 100% (2/2), done.
# lsswift
(26)修改源文件。# cd/root/sourcegit/swift
# rm -rf pom.xml src/
# cp /root/swift.warwebapps/
# lsREADME.mdwebapps
# ls webapps/swift.war
(27)提交修改。# git add .
# git commit -am"changes"
# git pushCounting objects: 6, done.Compressing objects: 100% (4/4), done.Writing objects: 100% (4/4), 24.43 MiB,done.Total 4 (delta 0), reused 0 (delta 0)remote: Stopping MySQL cartridgeremote: Stopping PHPMyAdmin cartridgeremote: PassEnv variable SHELL was undefinedremote: PassEnvvariable USER was undefinedremote: PassEnv variable LOGNAME was undefinedremote: Waiting for stop to finishremote: Stopping jbossews cartridgeremote: Sending SIGTERM to jboss:6774 ...remote: Building git ref 'master', commitb0edf60remote: Skipping Maven build due to absenceof pom.xmlremote: Preparing build for deploymentremote: Deployment id is 1c5a3601remote: Activating deploymentremote: Starting MySQL cartridgeremote: Starting PHPMyAdmin cartridgeremote: Starting jbossews cartridgeremote:/var/lib/openshift/55717a5113db8cde18000001/jbossews/bin/control: line 106:/usr/bin/logshifter: No such file or directoryremote: Found 127.1.244.1:8080 listeningportremote: Result: successremote: Activation status: successremote: Deployment completed with status:successTossh://55717a5113db8cde18000001@swift-paas.example.com/~/git/swift.git/2a70495..b0edf60master ->master
(28)打开http://swift-paas.example.com/swift,输入第(20)步添加的用户名和密码。
(29)以下为登陆成功的页面。图文详情请查看附件。
页:
[1]