部署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 [iyunv@node ~]# rpm -ivhttmkfdir-3.0.9-32.1.el6.x86_64.rpm Preparing... ########################################### [100%] 1:ttmkfdir ########################################### [100%]
[iyunv@node ~]# rpm -ivhxorg-x11-fonts-Type1-7.2-9.1.el6.noarch.rpm Preparing... ########################################### [100%] 1:xorg-x11-fonts-Type1 ########################################### [100%]
[iyunv@node ~]# rpm -ivhjava-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64.rpm warning:java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64.rpm: Header V4 DSA/SHA1Signature, key ID 192a7d7d: NOKEY Preparing... ###########################################[100%] 1:java-1.7.0-openjdk ########################################### [100%]
[iyunv@node ~]# rpm -ivhjava-1.7.0-openjdk-devel-1.7.0.45-2.4.3.3.el6.x86_64.rpm Preparing... ###########################################[100%] 1:java-1.7.0-openjdk-deve###########################################[100%]
(3)安装Maven [iyunv@node ~]# tar -zxfapache-tomcat-6.0.43.tar.gz [iyunv@node ~]# tar -zxfapache-tomcat-7.0.57.tar.gz [iyunv@node ~]# tar -zxf apache-maven-3.1.1-bin.tar.gz [iyunv@node ~]# unziporigin-server-master.zip
[iyunv@node ~]# cp -rf/root/apache-maven-3.1.1 /etc/alternatives/maven
[iyunv@node ~]# echo -e 'exportM2_HOME=/etc/alternatives/maven\nexport PATH=${M2_HOME}/bin:${PATH}' >/etc/profile.d/maven.sh
[iyunv@node ~]# cat /etc/profile.d/maven.sh export M2_HOME=/etc/alternatives/maven export PATH=${M2_HOME}/bin:${PATH}
[iyunv@node ~]# source/etc/profile.d/maven.sh(机器重启后须重复执行) [iyunv@node ~]# mvn -v(验证Maven是否安装成功) Apache Maven 3.1.1 (0728685237757ffbf44136acec0402957f723d9a;2013-09-17 11:22:22-0400) Maven home: /etc/alternatives/maven Java version: 1.7.0_45, vendor: OracleCorporation Java home:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.45.x86_64/jre Default locale: en_US, platform encoding:UTF-8 OS name: "linux", version:"2.6.32-431.el6.x86_64", arch: "amd64", family:"unix"
(4)安装JBossews [iyunv@node ~]# cp -rf/root/apache-tomcat-6.0.43 /etc/alternatives/jbossews-1.0
[iyunv@node ~]# cp -rf/root/apache-tomcat-7.0.57 /etc/alternatives/jbossews-2.0
[iyunv@node~]# cp -rf/root/origin-server-master/cartridges/openshift-origin-cartridge-jbossews/usr/libexec/openshift/cartridges/jbossews
[iyunv@node ~]# chmod a+x/usr/libexec/openshift/cartridges/jbossews/bin/*
(5)安装cartridge 在node节点执行: [iyunv@node ~]# /usr/sbin/oo-admin-cartridge--recursive -a install -s /usr/libexec/openshift/cartridges/ succeeded
在paas节点执行: [iyunv@paas ~]# cd/var/www/openshift/broker/
[iyunv@paas broker]# oo-admin-broker-cache--clear --console Clearing broker cache. Clearing console cache.
[iyunv@paas broker]# bundle exec raketmp:clear
(6)访问paas.example.com,可以看到Openshift现在支持部署Tomcat / JBoss应用。
2、部署Tomcat / JBoss应用
(1)使用浏览器打开paas.example.com,在设置标签的Namespace填写paas,点击Save保存。
(2)在Node节点查看自己的RSA公钥。 [iyunv@node ~]# cd /root/.ssh/ [iyunv@node .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 记下用户名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系统中修改。) [iyunv@node ~]# vi jdbc.properties #Mysql - linkx jdbc.driverClassName=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://127.1.244.2:3306/swift?useUnicode=true&characterEncoding=UTF-8 jdbc.username=adminxG83rN2 jdbc.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。) [iyunv@node ~]# mkdir /root/sourcegit
[iyunv@node ~]# cd /root/sourcegit/
[iyunv@node 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)? yes Warning: 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.
[iyunv@node sourcegit]# ls swift
(26)修改源文件。 [iyunv@node sourcegit]# cd/root/sourcegit/swift
[iyunv@node swift]# rm -rf pom.xml src/
[iyunv@node swift]# cp /root/swift.warwebapps/
[iyunv@node swift]# ls README.md webapps
[iyunv@node swift]# ls webapps/ swift.war
(27)提交修改。 [iyunv@node swift]# git add .
[iyunv@node swift]# git commit -am"changes"
[iyunv@node swift]# git push Counting 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 cartridge remote: Stopping PHPMyAdmin cartridge remote: [Fri Jun 05 07:41:46 2015] [warn]PassEnv variable SHELL was undefined remote: [Fri Jun 05 07:41:46 2015] [warn] PassEnvvariable USER was undefined remote: [Fri Jun 05 07:41:46 2015] [warn]PassEnv variable LOGNAME was undefined remote: Waiting for stop to finish remote: Stopping jbossews cartridge remote: Sending SIGTERM to jboss:6774 ... remote: Building git ref 'master', commitb0edf60 remote: Skipping Maven build due to absenceof pom.xml remote: Preparing build for deployment remote: Deployment id is 1c5a3601 remote: Activating deployment remote: Starting MySQL cartridge remote: Starting PHPMyAdmin cartridge remote: Starting jbossews cartridge remote:/var/lib/openshift/55717a5113db8cde18000001/jbossews/bin/control: line 106:/usr/bin/logshifter: No such file or directory remote: Found 127.1.244.1:8080 listeningport remote: Result: success remote: Activation status: success remote: Deployment completed with status:success Tossh://55717a5113db8cde18000001@swift-paas.example.com/~/git/swift.git/ 2a70495..b0edf60 master ->master
(28)打开http://swift-paas.example.com/swift,输入第(20)步添加的用户名和密码。
(29)以下为登陆成功的页面。 图文详情请查看附件。
|