我们正在使用Grails 2.5.0。每个Grails版本都会为tomcat插件(以及其他一些插件)推荐一些插件版本,因此Grails 2.5.0建议使用Tomcat插件7.0.55.2。
当我们转到生产服务器时,是否有必要在生产服务器上使用相同版本的Tomcat进行部署,或者我们可以在1.7.xx等同一版本上使用其他升级版本?
嗯,在过去的2 - 3年里,我们还没有遇到任何与此相关的问题,但我希望对此有更多的澄清。
答案 0 :(得分:3)
我们一直在使用最新的7.x版Tomcat来处理各种Tomcat插件版本,并在发布新版本的Grails时使用最新的插件版本。与此同时,我们也一直在使用Tomcat 8发布新版本的插件,目前版本为8.0.21。
此时Tomcat 8非常稳定并且支持Servlet 3.1规范,而Tomcat 7仅支持3.0,因此Tomcat 8应该是Tomcat 7的直接替代品,如果你能使用更新的功能想。此外,它应该更快,使用更少的内存,但我没有看到任何正式的基准。
话虽如此,用于run-app
的tomcat插件几乎与您在生产中使用的内容无关。通常,任何最近的servlet容器(即支持Servlet API 2.5+的容器)应该可以正常工作,因为Grails战争是自包含的标准war文件。您可以使用Jetty,WebLogic,JBoss等。
一般情况下,你应该使用开发中与生产中使用的库非常接近的库和服务器,但这不是一个要求,只是一个好主意,因为你更有可能早先发现不一致。数据库也是如此 - 使用默认的内存H2数据库开始,如果在生产中使用H2,则继续使用它,但使用本地MySQL / PostgreSQL / Oracle /等。服务器的版本和配置与测试和生产服务器类似。