我刚按了更新 Discourse 引擎的按钮,现在出现了 500 错误:
此讨论论坛的软件遇到了意外问题。我们对造成的不便深表歉意。
安全模式也无法正常工作。这是论坛的 URL — https://forum.dudin.tv
如何恢复论坛?我应该检查哪些日志?
我刚按了更新 Discourse 引擎的按钮,现在出现了 500 错误:
此讨论论坛的软件遇到了意外问题。我们对造成的不便深表歉意。
安全模式也无法正常工作。这是论坛的 URL — https://forum.dudin.tv
如何恢复论坛?我应该检查哪些日志?
欢迎来到 Meta!
你不是唯一遇到此问题的人
请访问论坛上的 /logs,看看是否有任何明显的错误?
.launcher rebuild app 可以运行,但我在前端看不到任何变化(仍然出现那个 500 错误)……“重建”后我还需要运行其他命令吗?
谢谢!
我看了一下 root@forum:/var/discourse/shared/standalone/log/rails# tail -n 60 production.log
里面有一些错误,但我不是开发者,不明白该怎么处理 ![]()
Started GET "/.env" for 78.153.140.179 at 2024-05-17 15:16:40 +0000
ActionController::RoutingError (No route matches [GET] "/.env")
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
lib/middleware/request_tracker.rb:277:in `call'
Rendered exceptions/not_found.html.erb within layouts/no_ember (Duration: 181.9ms | Allocations: 3554)
Rendered layout layouts/no_ember.html.erb (Duration: 2208.3ms | Allocations: 42766)
Failed to handle exception in exception app middleware : ActionView::Template::Error : No such file or directory @ rb_sysopen - /var/www/discourse/node_modules/ember-source/package.json
Started GET "/" for 143.178.246.7 at 2024-05-17 15:16:44 +0000
NoMethodError (undefined method `custom_homepage' for #<ThemeModifierHelper:0x00007fc09c95c1d0 @theme_ids=[]>)
lib/homepage_helper.rb:5:in `resolve'
lib/homepage_constraint.rb:12:in `matches?'
lib/middleware/omniauth_bypass_middleware.rb:64:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:391:in `call'
lib/middleware/csp_script_nonce_injector.rb:12:in `call'
config/initializers/008-rack-cors.rb:14:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
lib/middleware/request_tracker.rb:277:in `call'
Started GET "/" for 5.164.29.116 at 2024-05-17 15:17:43 +0000
NoMethodError (undefined method `custom_homepage' for #<ThemeModifierHelper:0x00007fc09c94eb20 @theme_ids=[]>)
lib/homepage_helper.rb:5:in `resolve'
lib/homepage_constraint.rb:12:in `matches?'
lib/middleware/omniauth_bypass_middleware.rb:64:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:391:in `call'
lib/middleware/csp_script_nonce_injector.rb:12:in `call'
config/initializers/008-rack-cors.rb:14:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
lib/middleware/request_tracker.rb:277:in `call'
Job exception: PG::UndefinedTable: ERROR: relation "chat_mention_notifications" does not exist
LINE 1: ...ntions.chat_message_id = c_msg.id LEFT OUTER JOIN chat_menti...
^
start
done
Job exception: PG::UndefinedTable: ERROR: relation "problem_check_trackers" does not exist
LINE 1: SELECT "problem_check_trackers".* FROM "problem_check_tracke...
^
Job exception: PG::UndefinedTable: ERROR: relation "discourse_automation_automations" does not exist
LINE 9: WHERE a.attrelid = '"discourse_automation_automations"'::re...
这些日志时间戳是在您运行命令行重建之前还是之后?
所有错误都表明数据库迁移尚未运行。这很奇怪,因为它们绝对应该作为成功命令行重建的一部分来运行。
我在这些时间戳之后运行重建。
CLI 重建完成后,您还看到其他错误吗?
有新的:
Started GET "/" for 143.178.246.7 at 2024-05-17 15:31:37 +0000
NoMethodError (undefined method `custom_homepage' for #<ThemeModifierHelper:0x00007fc09e86a838 @theme_ids=[]>)
lib/homepage_helper.rb:5:in `resolve'
lib/homepage_constraint.rb:12:in `matches?'
lib/middleware/omniauth_bypass_middleware.rb:64:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:391:in `call'
lib/middleware/csp_script_nonce_injector.rb:12:in `call'
config/initializers/008-rack-cors.rb:14:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
lib/middleware/request_tracker.rb:277:in `call'
Started GET "/" for 143.178.246.7 at 2024-05-17 15:31:38 +0000
NoMethodError (undefined method `custom_homepage' for #<ThemeModifierHelper:0x00007fc09e636698 @theme_ids=[]>)
lib/homepage_helper.rb:5:in `resolve'
lib/homepage_constraint.rb:12:in `matches?'
lib/middleware/omniauth_bypass_middleware.rb:64:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:391:in `call'
lib/middleware/csp_script_nonce_injector.rb:12:in `call'
config/initializers/008-rack-cors.rb:14:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
lib/middleware/request_tracker.rb:277:in `call'
Job exception: PG::UndefinedTable: ERROR: relation "chat_mention_notifications" does not exist
LINE 1: ...ntions.chat_message_id = c_msg.id LEFT OUTER JOIN chat_menti...
^
Started GET "/" for 143.178.246.7 at 2024-05-17 15:33:36 +0000
NoMethodError (undefined method `custom_homepage' for #<ThemeModifierHelper:0x00007fc0ad283528 @theme_ids=[]>)
lib/homepage_helper.rb:5:in `resolve'
lib/homepage_constraint.rb:12:in `matches?'
lib/middleware/omniauth_bypass_middleware.rb:64:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:391:in `call'
lib/middleware/csp_script_nonce_injector.rb:12:in `call'
config/initializers/008-rack-cors.rb:14:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
lib/middleware/request_tracker.rb:277:in `call'
start
done
Started GET "/" for 90.240.110.180 at 2024-05-17 15:33:47 +0000
NoMethodError (undefined method `custom_homepage' for #<ThemeModifierHelper:0x00007fc0ad17c2d8 @theme_ids=[]>)
lib/homepage_helper.rb:5:in `resolve'
lib/homepage_constraint.rb:12:in `matches?'
lib/middleware/omniauth_bypass_middleware.rb:64:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:391:in `call'
lib/middleware/csp_script_nonce_injector.rb:12:in `call'
config/initializers/008-rack-cors.rb:14:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
lib/middleware/request_tracker.rb:277:in `call'
似乎出现了不同的错误。还有更多错误:
root@forum:/var/discourse/shared/standalone/log/rails# tail -n 60 production.log
lib/middleware/csp_script_nonce_injector.rb:12:in `call'
config/initializers/008-rack-cors.rb:14:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
lib/middleware/request_tracker.rb:277:in `call'
Started GET "/l" for 13.57.1.58 at 2024-05-17 15:34:45 +0000
ActionController::RoutingError (No route matches [GET] "/l")
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
lib/middleware/request_tracker.rb:277:in `call'
Started GET "/lo" for 13.57.1.58 at 2024-05-17 15:34:45 +0000
Rendered exceptions/not_found.html.erb within layouts/no_ember (Duration: 2.3ms | Allocations: 185)
Rendered layout layouts/no_ember.html.erb (Duration: 13.9ms | Allocations: 1405)
Failed to handle exception in exception app middleware : ActionView::Template::Error : No such file or directory @ rb_sysopen - /var/www/discourse/node_modules/ember-source/package.json
ActionController::RoutingError (No route matches [GET] "/lo")
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
lib/middleware/request_tracker.rb:277:in `call'
ActionController::RoutingError (No route matches [GET] "/logs")
config/initializers/100-silence_logger.rb:27:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
lib/middleware/request_tracker.rb:277:in `call'
Failed to handle exception in exception app middleware : ActionView::Template::Error : No such file or directory @ rb_sysopen - /var/www/discourse/node_modules/ember-source/package.json
Rendered exceptions/not_found.html.erb within layouts/no_ember (Duration: 239.6ms | Allocations: 4049)
Started GET "/lo" for 13.57.1.58 at 2024-05-17 15:34:47 +0000
ActionController::RoutingError (No route matches [GET] "/lo")
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
lib/middleware/request_tracker.rb:277:in `call'
Rendered exceptions/not_found.html.erb within layouts/no_ember (Duration: 3.9ms | Allocations: 246)
Rendered layout layouts/no_ember.html.erb (Duration: 16.0ms | Allocations: 1464)
Failed to handle exception in exception app middleware : ActionView::Template::Error : No such file or directory @ rb_sysopen - /var/www/discourse/node_modules/ember-source/package.json
Rendered layout layouts/no_ember.html.erb (Duration: 1179.6ms | Allocations: 29667)
Failed to handle exception in exception app middleware : ActionView::Template::Error : No such file or directory @ rb_sysopen - /var/www/discourse/node_modules/ember-source/package.json
Started GET "/log" for 13.57.1.58 at 2024-05-17 15:34:47 +0000
ActionController::RoutingError (No route matches [GET] "/log")
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
lib/middleware/request_tracker.rb:277:in `call'
Rendered exceptions/not_found.html.erb within layouts/no_ember (Duration: 1.4ms | Allocations: 185)
Rendered layout layouts/no_ember.html.erb (Duration: 9.5ms | Allocations: 1403)
Failed to handle exception in exception app middleware : ActionView::Template::Error : No such file or directory @ rb_sysopen - /var/www/discourse/node_modules/ember-source/package.json
Started GET "/" for 143.178.246.7 at 2024-05-17 15:35:17 +0000
NoMethodError (undefined method `custom_homepage' for #<ThemeModifierHelper:0x00007fc0a0b75800 @theme_ids=[]>)
lib/homepage_helper.rb:5:in `resolve'
lib/homepage_constraint.rb:12:in `matches?'
lib/middleware/omniauth_bypass_middleware.rb:64:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:391:in `call'
lib/middleware/csp_script_nonce_injector.rb:12:in `call'
config/initializers/008-rack-cors.rb:14:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
lib/middleware/request_tracker.rb:277:in `call'
请尝试:
cd /var/discourse
./launcher enter app
ls -l node_modules | grep ember-source
它应该会产生类似这样的输出:
# ls -l node_modules | grep ember-source
drwxr-xr-x 9 discourse discourse 4096 May 2 00:23 ember-source
drwxr-xr-x 4 discourse discourse 4096 May 2 00:23 ember-source-channel-url
看起来什么都没有 ![]()
root@forum:/var/discourse# ls -l node_modules | grep ember-source
ls: cannot access 'node_modules': No such file or directory
您运行 CLI 重建时,它是否肯定成功完成了?看起来它可能只完成了一半就失败了?
它认为\n\n您在 /var/lib/docker 所在的磁盘上剩余的可用空间不到 5GB。您需要更多空间才能继续\n\n也许是这个原因?.. 我会尝试增加卷。\n\n我以为 25GB 足够了。
我将磁盘大小调整为 35 Gb,但似乎删除了 /var/discourse
root@forum-app:/var/www/discourse# cd /var/discourse
bash: cd: /var/discourse: No such file or directory
如何恢复该文件夹?
这些文件被保留了下来:
root@forum-app:/var/www/discourse# ls
app config.ru discourse.sublime-project jsconfig.json migrations public test
bin CONTRIBUTING.md docs lefthook.yml node_modules Rakefile tmp
Brewfile COPYRIGHT.md Gemfile lib package.json README.md translator.yml
CODEOWNERS d Gemfile.lock LICENSE.txt patches script vendor
config db images log plugins spec yarn.lock
看起来您是在 Docker 容器内运行此命令。请运行 exit 返回到您的服务器。
然后运行 ./launcher rebuild app 来重建。
现在它运行的时间更长了,看起来也不错!
现在,我遇到了 502 Bad Gateway ![]()
论坛运行正常!
非常感谢!感谢您的快速回复 ![]()
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.