在 heroku 中,我们可以使用命令 heroku maintenance on 或 off... 我怎样才能在我的 AWS EC2 Web 服务中做到这一点?我试图停止使用服务器,sudo service nginx stop
但我不喜欢显示的错误页面。它说 url 中的错误。在heroku中,如果我使用维护命令,错误页面将显示“建设中”“维护”或类似的东西。
我如何在亚马逊网络服务中做到这一点?谢谢
在 heroku 中,我们可以使用命令 heroku maintenance on 或 off... 我怎样才能在我的 AWS EC2 Web 服务中做到这一点?我试图停止使用服务器,sudo service nginx stop
但我不喜欢显示的错误页面。它说 url 中的错误。在heroku中,如果我使用维护命令,错误页面将显示“建设中”“维护”或类似的东西。
我如何在亚马逊网络服务中做到这一点?谢谢
你必须自己做。AWS 不提供。
是的,所以 heroku 有路由魔法,想想你的 rails 应用程序运行的默认 WebBrick 服务器在 rails 之外运行。Idk,假设您使用乘客,您不会真正注意到这一点,但在高层次上,nginx 将您应用程序的端口 3000 代理到端口 80 以处理某些请求。如果你不明白我的意思,我很抱歉。
所以(您的应用程序)--->(NGINX)----->(客户端)
这里的优势是 nginx 会继续运行,但在维护模式下,它们很可能会开始将您的页面拍摄到静态内容。如果您也通过代理而不是通过乘客运行您的 Rails 应用程序,那么您的解决方案很容易。停止您的 WebBrick、mongrel、unicorn、thin(这里有什么应用程序服务器)并为错误的网关错误(即 502 路由)设置错误消息页面。
如果您使用乘客。您可以编写一个位置块,它将覆盖您的所有路线到维护页面并在该服务器块中将乘客切换为关闭,现在您可以提供静态维护页面,而不是为您的应用程序提供服务。
Heroku 封装了很多技术并公开了一些不错的工具,因此您需要做更多的基础工作来自动化您的堆栈。但这是一个开始的地方。