Run other websites on the same machine as Discourse

Да. Сокеты доступны вне контейнера.

Я использую OpenResty, который работает в контейнере. Мне просто нужно смонтировать каталог /var/discourse/shared/standalone, где хранится файл nginx.http.sock, внутрь контейнера?

1 лайк

Это гениально! Именно это должно быть «руководством по установке», а не страница, которая сейчас помечена как «официальная»! Огромное спасибо!

Вопрос:

Обязательно ли использовать шаблон сокета (с nginx.http.sock в конфигурационном файле), если я хочу настроить другие веб-сайты, работающие на том же автономном сервере вместе с Discourse?

Недавно мы мигрировали сервер и в итоге использовали порт 8080 и nginx в качестве обратного прокси, но без использования шаблона сокета. Поскольку всё работает нормально и я не вижу смысла в использовании этого метода, я хотел бы узнать, нет ли другого способа.

Если порт работает для вас, то сокет не нужен. Некоторым людям сокет нравится больше по разным причинам, но это не имеет большого значения.

1 лайк

Это было просто и сработало для меня. Я использовал порт 8080. Я использую nginx, и так как хочу открыть приложение (вместе со всеми моими другими приложениями) на порту 80 на моей хост-машине, я просто добавил этот конфигурационный файл в sites-available (и символически связал его с sites-enabled):

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Можешь поделиться конфигурацией Caddy?