我可以在Bluemix上运行我的Tomcat应用程序吗?
我们有一个在tomcat7上运行的简单应用程序,已经运行了大约一年。我们计划对Bluemix进行测试,我们想知道是否有任何信息可以帮助我们进行这项工作。我看到一篇文章讨论了将应用程序从WebSphereApplicationServerV7迁移到Liberty概要文件,但我没有看到任何对Tomcat的引用。如果您能提供任何文件或样品,我们将不胜感激。是的。您可以使用社区Java构建包将Tomcat用作Java运行时 cf push-b 编辑:我可以在Bluemix上运行我的Tomcat应用程序吗?,tomcat,websphere-liberty,ibm-cloud,Tomcat,Websphere Liberty,Ibm Cloud,我们有一个在tomcat7上运行的简单应用程序,已经运行了大约一年。我们计划对Bluemix进行测试,我们想知道是否有任何信息可以帮助我们进行这项工作。我看到一篇文章讨论了将应用程序从WebSphereApplicationServerV7迁移到Liberty概要文件,但我没有看到任何对Tomcat的引用。如果您能提供任何文件或样品,我们将不胜感激。是的。您可以使用社区Java构建包将Tomcat用作Java运行时 cf push-b 编辑: cf推送 预安装的buildpack名称或-b选项后
cf推送
预安装的buildpack名称或-b
选项后的外部url是开源java Tomcat buildpack。推送Java应用程序时,如果未指定buildpack名称或url,将选择默认的Java buildpack。在Bluemix中,默认构建包是WebSphereLiberty构建包
Liberty buildpack的文档:是的,您可以在Bluemix上运行应用程序,但是,由于Tomcat上的配置信息分布在几个不同的xml文件(服务器、内容和web)中,我建议您采取交错的方法来移动应用程序。
您首先需要让您的应用程序在WebSphereApplicationServerV8.5.5Liberty配置文件上运行,然后可以将服务器包推送到Bluemix
基本上,您希望执行以下操作:
1) 使用WebSphere application server Migration Toolkit-Competitive Migration将Tomcat应用程序和服务器配置迁移到Liberty概要文件中。下面的文章提供了有关此工具使用的详细信息:
2) 在Liberty配置文件上测试你的应用程序
3) 将Liberty服务器包推送到bluemix。我发现下面的文章对于推送服务器包很有用:
我建议使用以下命令:
cf push-bjavabuildpack
这将使用Bluemix中的内置Java构建包。这种方法的好处是,您总能获得与Bluemix中当前CloudFoundry级别相匹配的java buildpack版本。如果您使用外部git主机,它可能工作,也可能不工作。正如其他人所解释的,Bluemix包括java\u buildpack
buildpack,其中包括Tomcat。要使用此buildpack在Bluemix中创建运行时,请运行以下命令:
cf push <appname> -b java_buildpack -p <apparchive>
cf buildpacks
输出(截至今天)为:
如您所见,java\u buildpack
buildpack由java-buildpack-v2.7.1.zip
实现。这一点记录在。如文档所示,构建包包括TomcatV8.0.20
您还可以看到,在Bluemix中创建运行时的liberty for java
buildpack是由buildpack_liberty-for-java_v1.18-20150519-1642-yp.zip实现的,后者是buildpack的v1.18。如果您需要以前的版本,您可以使用buildpack的v1.17版liberty-for-java_v1-17-20150501-1729
buildpack。解释如何使用构建包
您还可以看到Node.js(nodejs\u buildpack
)、PHP(PHP\u buildpack
)等的构建包。甚至还有一个ASP.NET 5的构建包(aspnet5实验版
)。因此,在我使用@randalanders建议的方法在Liberty上运行之后,我应该使用@ram vennam建议的“cf push”命令?我建议的命令是使用Tomcat。如果您想使用Liberty,只需使用cf push即可。感谢您的澄清,因为我实际上想在这两种环境中部署我的应用程序并监控结果。除此之外,还有几种方法可以将打包的Liberty服务器推送到Bluemix,您可以使用cf CLI(“cf push”命令),您也可以使用DevOps服务,或者如果您使用Eclipse(或基于Eclipse的产品),那么您可以使用BlueMix的Eclipse工具。在决定是否使用git主url或命名的buildpack标识符时,请务必考虑Jack Junjie Cai下面的回答。这个答案和杰克的答案应该合并,因为它们是互补的。@Ram,我在eclipse中使用tomcat7创建了一个应用程序。它在本地运行,但是当用它创建了一个war并使用您的命令部署到bluemix时,我得到了错误说明请求的资源不可用。
。你能告诉我为什么我会犯那个错误吗?
cf buildpacks
Getting buildpacks...
buildpack position enabled locked filename
liberty-for-java 1 true false buildpack_liberty-for-java_v1.18-20150519-1642-yp.zip
sdk-for-nodejs 2 true false buildpack_sdk-for-nodejs_v1.18-20150519-1759-yp.zip
noop-buildpack 3 true false noop-buildpack-20140311-1519.zip
java_buildpack 4 true false java-buildpack-v2.7.1.zip
ruby_buildpack 5 true false ruby_buildpack-cached-v1.3.0.zip
nodejs_buildpack 6 true false nodejs_buildpack-cached-v1.2.0.zip
go_buildpack 7 true false go_buildpack-cached-v1.2.0.zip
python_buildpack 8 true false python_buildpack-cached-v1.2.0.zip
php_buildpack 9 true false php_buildpack-offline-v3.1.0.zip
aspnet5-experimental 10 true false buildpack_aspnet5-experimental_v0.1.5-20150508-1205.zip
liberty-for-java_v1-17-20150501-1729 11 true false buildpack_liberty-for-java_v1.17-20150501-1729-yp.zip
sdk-for-nodejs_v1-17-1-20150519-0951 12 true false buildpack_sdk-for-nodejs_v1.17.1-20150519-0951-yp.zip