文章主题: Galaxy 文档

故障排除

一般建议



如果您在正常运行时间、性能或部署方面遇到问题,请检查以下项目。

- 您的 Meteor 版本。较新的版本可能会解决旧版 Meteor 版本中发现的问题。虽然反过来这种情况很少见,并且通常不应该发生,但如果您最近升级了 Meteor 版本并开始遇到困难,请考虑恢复到您上次使用的 Meteor 版本。
- 您容器的内存和 CPU 使用率。如果您的应用内存不足,您可能需要切换到更大的容器、使用更多容器或重构您的应用以减少内存使用。短期内,唯一保证的解决方案是扩展并使用足够的 Galaxy 资源来超过您的应用的内存需求。
- 您应用的日志。“全部”显示所有输出,请考虑按选项卡进行细分。如果您的应用正在运行并在失败前出现问题,请检查“应用”选项卡。如果您的应用在 Galaxy 尝试将其构建成容器镜像时失败,请检查“服务”选项卡。请注意,两者可能同时发生:您应用的早期版本可能会抛出错误,而最近创建的用于解决问题的版本可能存在阻止部署的代码问题。如果您发现特定错误,请查看我们的错误类型文章以获取更多信息。
- 如果您的用户名应该能够部署但无法部署,请考虑使用meteor logoutmeteor login。如果您使用的是部署令牌,请考虑重新颁发您的令牌,以防其已过期。
- 检查status.meteor.com,以防 Galaxy 问题影响您的部署。
- 检查GitHub,查看是否有任何相关的 Meteor 问题列表提供解决方法或解决方案。
- 检查论坛以查找相关问题和解决方案。
- 考虑运行多个容器,或运行 3 个容器以符合高可用性状态。如果您只运行一个容器,则会使您的容器所在的机器成为单点故障。如果发生硬件故障,您的应用将无法运行,直到 Galaxy 在新机器上启动它。
- 联系支持。为了最大程度地减少来回沟通,请提供受影响应用的名称、触发问题的条件(已确认或疑似)、重现步骤和相关日志。请尝试在提交问题前解决日志中列出的错误。如果您的应用容器在运行时出现错误,请尝试将其保持在运行状态,以便我们的团队进行检查。

请注意,代码级审查不在 Galaxy 支持的范围内。如果这对您很重要,请考虑Meteor 开发支持

502 错误



当您尝试访问您的 URL 时,您可能会看到一条带有消息Registered endpoints failed to handle the request的 502 错误。这意味着请求失败,尽管事实上我们的系统认为在请求开始时存在一个健康的容器。查看我们的错误类型文章以获取更多信息。

503 错误



当您尝试访问您的 URL 时,您的应用可能会抛出一个 503 错误并显示Service Unavailable: No healthy endpoints to handle the request。这意味着目前没有可用的健康容器来服务您的应用。查看我们的错误类型文章以获取更多信息。

部署失败



部署失败意味着您或您的系统无法构建容器来部署您的应用。

如果您应该能够部署但无法部署,请尝试使用命令meteor logoutmeteor login

如果我们的系统尝试构建容器来部署您的应用但失败了,则该失败将记录在您的日志中。

检查日志选项卡以查看您的应用是否崩溃。“服务”选项卡可能会显示重要的构建错误,以及容器的停止和启动。

大多数情况下,解决方案的关键将在异常或错误消息中找到。继续迭代代码修复和部署,直到错误消失、出现新的错误或您的应用成功部署。

如果以上方法均无效



考虑Meteor APM是否可以帮助您识别问题。

尝试添加更多异常处理程序,因为未捕获的异常可能会导致您的应用崩溃。

确认您能够在本地运行您的应用。如果可能,请尝试在您的应用中复制问题。这可能需要比平时更长时间地运行您的应用并在本地模拟流量,以重现现实环境。

模拟 Galaxy 的推荐方法是在本地使用--production运行。远程部署到服务器(包括 Galaxy)时拉取node_modules的方式与本地构建时不同。--production设置将最小化并将所有 JS 合并到一个文件中。

最后,尝试将更多信息打印到您的日志中。如果您无法在应用的当前表单中发现任何错误消息或警告,打印更多信息可能有助于您进行故障排除。任何启用代码的小更改都可以在您诊断完问题后禁用。您可以在我们的错误类型文章中找到特定的错误类型。

如果您认为您的问题与 Meteor 相关,您可以提交错误或在现有错误中添加评论以寻求解决。

如果适用,请在Stack Overflow上搜索解决方案。

更新时间:2024年7月15日

这篇文章对您有帮助吗?

Share your feedback

Cancel

谢谢!