Pups::ExecError

您好,我想设置多站点,但这个错误似乎有其他计划:

Pups::ExecError: cd /var/www/discourse && sudo -E -u discourse bundle exec rake otherside:migrate failed with return #<Process::Status: pid 776 exit 1>

不确定,但也许这会有帮助

您安装了任何插件吗?有些插件与多站点不兼容。

1 个赞

等等,什么?是 multisite 而不是 otherside

我已经重命名它以隐藏我实际使用的名称。

这已经处理好了!显然,我还必须更改 $home/config/otherside.yml 的名称。

请详细说明你一直在做什么,我完全不明白你的意思。
你一直在隐藏一个名字?重命名配置文件?而且你在提交支持问题时认为这不值得一提?

1 个赞

我有以下配置:

hooks:
  after_postgres:
     - exec: sudo -u postgres createdb discourse_rubyhub || exit 0
     - exec:
          stdin: |
            grant all privileges on database discourse_rubyhub to discourse;
          cmd: sudo -u postgres psql discourse_rubyhub
          raise_on_fail: false
  
     - exec: /bin/bash -c 'sudo -u postgres psql discourse_rubyhub <<EOF "alter schema public owner to discourse;"EOF'
     - exec: /bin/bash -c 'sudo -u postgres psql discourse_rubyhub <<EOF "create extension if not exists hstore;"EOF'
     - exec: /bin/bash -c 'sudo -u postgres psql discourse_rubyhub <<EOF "create extension if not exists pg_trgm;"EOF'

  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - mkdir -p plugins
          - chmod -R 755 plugins
          # Official
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-adplugin.git
          - git clone https://github.com/discourse/discourse-solved.git
          - git clone https://github.com/discourse/discourse-topic-voting.git
          - git clone https://github.com/discourse/discourse-post-voting.git
          - git clone https://github.com/discourse/discourse-oauth2-basic.git
          - git clone https://github.com/discourse/discourse-data-explorer.git
          - git clone https://github.com/discourse/discourse-spoiler-alert.git
          - git clone https://github.com/discourse/discourse-whos-online.git
          - git clone https://github.com/discourse/discourse-calendar.git
          - git clone https://github.com/discourse/discourse-ai.git
          - git clone https://github.com/discourse/discourse-checklist.git
          - git clone https://github.com/discourse/discourse-staff-alias.git
          - git clone https://github.com/discourse/discourse-assign.git
          - git clone https://github.com/discourse/discourse-shared-edits.git
          - git clone https://github.com/discourse/discourse-translator.git
          - git clone https://github.com/discourse/discourse-theme-creator.git
          # Paviliondev
          - git clone https://github.com/paviliondev/discourse-discord-bot.git
          - git clone https://github.com/paviliondev/discourse-ratings.git
          - git clone https://github.com/paviliondev/discourse-multilingual.git
          - git clone https://github.com/paviliondev/discourse-news.git
          - git clone https://github.com/paviliondev/discourse-events.git
          - git clone https://github.com/paviliondev/discourse-layouts.git
          - git clone https://github.com/paviliondev/discourse-custom-wizard.git
          # Coopcreds
          - git clone https://github.com/coopcreds/discourse-verifiable-credentials.git

  before_bundle_exec:
    - file:
        path: $home/config/multisite.yml
        contents: |
         multisite:
           adapter: postgresql
           database: discourse_rubyhub
           pool: 25
           timeout: 5000
           db_id: 2
           host_names:
             - rubyhub.store

  after_bundle_exec:
    - exec: cd /var/www/discourse && sudo -E -u discourse bundle exec rake multisite:migrate

除了配置文件 multisite.yml 的名称外,其他地方都将 multisite 替换为 rubyhub!这导致了错误!

但是,multisite 的 HTTP 端口是多少,或者我如何在 multisite 中更改它,以便为 rubyhub.store 设置一个额外的反向代理?

1 个赞

您只能更改所有站点的端口,不能只更改一个站点的。

这应该如何运作?网络服务器如何知道正在添加另一个站点?反向代理不能多次使用同一个端口。

您将所有请求发送到同一个地方。我可以通过标头判断它属于哪个站点。

1 个赞

但是,在 rubyhub.store 下,没有 Discourse

1 个赞

您是否遵循了 使用 Docker 进行多站点配置

2 个赞

是的,我已遵循

1 个赞