设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 技术文摘 查看内容

如何在 OpenShift 上运行 Apache Tomcat 8

2013-8-7 11:19| 发布者: 红黑魂| 查看: 5690| 评论: 0|来自: 开源中国编译

摘要:   Redhat公司推出了OpenShift服务。开发者可以在OpenShift上面尝试新的框架,编程语言或者服务器。当我在学习WebSockets的时候了解到目前Apache Tomcat 8已经支持JSR356规范。JSR356是Java下WebSockets的标准API规 ...

第七步:拷贝tomcat8的执行包

构建完成之后,tomcat8的执行包就位于output/build文件夹。拷贝这个生成包到$OPENSHIFT_DATA_DIR里的Tomcat8文件夹。

$ cd $OPENSHIFT_DATA_DIR
$ mkdir tomcat8
$ cd tomcat8
$ cp -r ../source/tomcat/output/build/* .

现在所有的tomcat8相关的文件已经都在tomcat8文件夹里了。 

第八步:修改server.xml

现在我们以及给你构建了tomcat源代码,并且包它拷贝到tomcat8文件夹里了,我们需要修改server.xml文件,以指定我们打算使用的端口和要绑定的IP地址。因为OpenShift是一个多用户环境,因此你需要使用给你提供的内部IP地址。为了找到这个地址,运行下面命令:

$ env | grep OPENSHIFT_DIY_IP

返回的结果类似于下面所示:

OPENSHIFT_DIY_IP=127.8.97.129

我们需要修改 server.xml文件使用这个IP地址,同时更改一些正在运行的服务所使用的默认端口。默认情况下给其他服务配置的端口号无法运行,因为OpenShift不允许用户绑定除了8080外任何小于15000的端口。由于这个原因,我么需要更改以下配置项。你可以在 这儿访问完全可以运行的server.xml。只是用$OPENSHIFT_DIY_IP值替换了地址值。

修改前的Connector:

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

修改后的Connector:

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000" address="127.8.97.129"
               redirectPort="8443" />

更改关闭端口

<Server port="8005" shutdown="SHUTDOWN">

<Server port="15005" shutdown="SHUTDOWN">

接着最后更改如下所示的运行在8009端口上的AJP 1.3连接器。

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>

<Connector port="15009" protocol="AJP/1.3" redirectPort="8443" address="127.8.97.129" />


第九步:启动Tomcat的servlet容器

最后我们通过执行startup.sh文件启动tomcat8的servlet容器。

$ cd ../bin
$ ./startup.sh && tail -f ../logs/*

这应当启动了Tomcat,同时让外面的世界通过80端口访问到它。你可能正在问自己:我们设置它使用的是8080端口,它是怎样在80端口上可访问的呢?OpenShift实际上安装了一个代理,这个代理把通过80口进入你主机的所有流量都传递给你正在8080口运行的本地服务器上。这个端口在系统环境变量OPENSHIFT_DIR_PORT里指定的。 通过把你的浏览器指向你tomcat-yourNamespce.rhcloud.com的应用来验证你的tomcat服务器是否已经运行。你可以访问http://tomcat8-cix.rhclound.com/ 

上的Apache Tomcat 8的安装样例。你可以访问位于http://tomcat8-cix.rhclound.com/examples/下的例子。

如果你想使用Tomcat的管理控制台,并增加用户到位于conf目录下的tomcat-users.xml文件。例如增加下面的角色和用户到这个文件,并删除下面这些已存在的:

<role rolename="manager-gui"/>
<user username="tomcat" password="openshift" roles="manager-gui"/>


第十步:更新启动和停止脚本的动作钩子

最后,我们需要更新启动和停止的动作钩子,这样它们才能启动和停止tomcat。这是必须的,这样你可以从rhc命令行工具里管理tomcat。 这样,当你运行rhc app stop -a tomcat8的时候,它将停止tomcat8,而当你运行rhc app start -a tomcat8的时候,它将启动tomcat8。 打开.openshift/action_hooks文件夹下的start脚本,增加下列行。

cd $OPENSHIFT_DATA_DIR/tomcat8/bin
./startup.sh

 为了停止Apache的tomcat 8,增加下面行到停止脚本。

cd $OPENSHIFT_DATA_DIR/tomcat8/bin
./shutdown.sh

 最后,提交代码,接着上传代码到应用gear里。

$ git commit -am "added start and stop commands"
$ git push


你需要一个快速脚本吗?

如果你不想随着这些步骤,我还写了一个快速脚本,它自动执行了以上提到的所有步骤。快速脚本位于https://github.com/shekhargulati/openshift-tomcat8-quickstart 。只需要打开一个命令行并执行下面的命令。

rhc app create tomca8 diy
cd tomca8
git remote add upstream https://github.com/shekhargulati/openshift-tomcat8-quickstart.git
git pull -s recursive -X theirs upstream master
git push

结论

在这篇博客中,我陈述了如何使用OpenShift运行Apache Tomcat 8。OpenShift给你提供了一个平台去运行前沿的技术。在下一篇博客中,我将讲述怎样使用JSR 356 API开发实时的应用。所以,如果你在找寻运行Java应用的平台,就试试OpenShift吧。


英文原文:How To Run Apache Tomcat 8 on OpenShift

参与翻译(3人)

酷毙
2

雷人

鲜花

鸡蛋

漂亮

刚表态过的朋友 (2 人)

  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部