使用 Tomcat 部署 grails 应用程序的最佳实践

Posted

技术标签:

【中文标题】使用 Tomcat 部署 grails 应用程序的最佳实践【英文标题】:Best practices to deploy grails app w/wo Tomcat 【发布时间】:2022-01-04 16:27:33 【问题描述】:

我其实有一台服务器有很多tomcat来部署带有war文件的grails,而且,我们每3个月运行一次服务器扫描寻找漏洞,我们通常会发现安装的Tomcat版本需要升级,这很难因为我们不仅需要升级 Tomcat,还需要重新配置整个东西(文件、连接器、ssl 证书等)。

因此,考虑到这一点,我想知道是否有另一种方法可以使升级更容易(即通过保存设置)或在没有 Tomcat 的情况下部署 grails 应用程序

【问题讨论】:

"...或者在没有 Tomcat 的情况下部署 grails 应用程序" - 只要您使用其他一些受支持的容器,您就可以在没有 Tomcat 的情况下部署您的应用程序,但大多数情况下您将拥有相同的类型其他容器的问题。 【参考方案1】:

我开始只部署可运行的 jar,而不是必须部署在容器中的战争(“制作 jar,而不是战争”)。这有助于灵活并保持应用程序紧凑。尽管 Grails 4+ 将其独立应用程序命名为 xyz.war,但它是可运行的。 检查https://docs.grails.org/latest/guide/deployment.html

在 ssl 或连接器方面,我倾向于使用 nginx 作为代理来处理 ssl 内容并将域重定向到特定端口。这完美地适用于多个应用程序。例如,您甚至可以使用 Docker。

【讨论】:

以上是关于使用 Tomcat 部署 grails 应用程序的最佳实践的主要内容,如果未能解决你的问题,请参考以下文章

使用 Apache/Tomcat + 虚拟主机部署多个 grails 应用程序

如何在 Tomcat 7 上部署 Grails 3 应用程序?

如何在一个 Tomcat + Apache 上部署多个 Grails 应用程序?

在 tomcat 上部署 grails 应用程序时创建名为“transactionManagerPostProcessor”的 bean 时出错

Grails:无需重启容器即可部署 Tomcat

grails 2.0 - 在 Jetty 中运行,在 Tomcat 中运行