似乎人们建议使用lein-ring来部署Compojure应用程序。它不是只用于开发吗?我用lein-ring和leiningen打包的uberjar (用java -jar执行,它包含ring-jetty)对相同的应用进行了基准测试。
令我惊讶的是,使用lein-ring的性能甚至更好!我是不是遗漏了什么?
如何继续使用lein-ring,同时避免在出现异常时打印出堆栈跟踪,并避免检查修改过的文件?
谢谢
发布于 2012-04-19 23:01:38
lein-ring将允许您轻松地生成war文件以部署到容器(并作为lein-beanstalk的基础,以便轻松部署到Amazon的Elastic Beanstalk),但我不知道在生产中使用它的常见实践。当然是一个选择,但可能很少是最好的。我建议使用您的主机/容器推荐的方法进行部署;这通常意味着部署一个war (可以使用lein-ring来构建),或者使用一些带有嵌入式Jetty实例的无容器部署(就像在带有Leiningen的Heroku上一样)。
如果您确实想在生产环境中使用lein-ring,但又想关闭其开发时功能(代码重载、堆栈跟踪渲染等),则必须将RING_ENV环境变量设置为production,例如:
export RING_ENV=production
lein ring ...发布于 2011-10-28 23:10:28
lein-ring是一个仅用于开发的工具。当然,打包和部署应用程序的方式会对性能产生影响。你实际上是在比较苹果和苹果吗?
我发现lein-ring和嵌入式jetty部署有很大的不同。
这就是说,有了lein-ring,你就会错过很多东西。将您的应用程序放在适当的容器中将允许更多的操作支持和可监控性。
https://stackoverflow.com/questions/7787911
复制相似问题