Я настраиваю многосайтовую среду с трясогузкой (возможно, это немного амбициозно, так как я новичок в трясогузке, Django и Python, но я хотел бы перенести некоторые простые сайты в трясогузку и хотел иметь правильную настройку с самого начала ). Я создал список сайтов в админке трясогузки и домашние страницы для каждого из сайтов. Я хотел бы, чтобы часть сайта была доступна через несколько URL-адресов (name.com + name.othername.com). Должен ли я создать новую настройку сайта (через «Добавить сайт» в админке) для каждого URL-адреса или есть лучший/другой способ справиться с этим?
Как работать с несколькими URL-адресами для одного и того же сайта в многосайтовой среде трясогузки
Ответы (1)
Я бы рекомендовал использовать внешний веб-сервер (например, Apache) для работы с несколькими доменами. Определите прокси-сервер виртуального хоста, чтобы он указывал на ваше приложение трясогузки.
Вот пример:
<VirtualHost *:80>
ServerName example1.com
ServerAlias www.example1.com
ServerAlias example2.com
# Here we define the proxy to your wagtail app
ProxyPass / http://localhost:8000/
# Reverse Proxy for load balancing
ProxyPassReverse / http://localhost:8000/
# Preserves the host if you use docker
ProxyPreserveHost On
</VirtualHost>
В любом случае вам понадобится внешний веб-сервер для обслуживания статического контента в режиме без отладки.
person
Tobias Ernst
schedule
13.11.2017
Я использую NGINX и организовал покрытие различных URL-адресов в настройках NGINX, но разве Трясогузка не должна понимать URL-адреса? И я понял, что в настройке с несколькими сайтами мне нужно сообщить Трясогузке, что такое домашние страницы разных URL-адресов.
- person Marco; 18.11.2017
Если все ваши страницы имеют одинаковую точку входа на веб-сайт, достаточно определить один сайт трясогузки и несколько прокси-серверов nginx, указывающих на него. Трясогузка не заботится об имени виртуального хоста. Если вы хотите использовать разные точки входа для разных страниц, создайте несколько сайтов трясогузок. Имя хоста и порт должны соответствовать конфигурации вашего виртуального хоста. Вы можете определить несколько прокси, по одному для каждого сайта трясогузки. Затем запустите отдельные экземпляры трясогузки для каждого порта с помощью:
./manage.py runserver <port>
Надеюсь, это поможет.
- person Tobias Ernst; 21.11.2017
Спасибо за ответ Тобиас! Но... я использую многосайтовую установку; примерно так, как описано здесь: wagtail.io/blog/multi-site-wagtail . Поэтому я определил URL-адреса и точки входа (используемые страницы) для разных сайтов в меню «Сайты» и определил эти (точки входа) страницы ниже корневого уровня. Все идет нормально. Я предполагаю, что мне нужно определить URL-адрес альтернативы/псевдонима (например, www.a.com как альтернативу/псевдоним для a.com) также в меню «Сайты». Звучит правильно для вас?
- person Marco; 28.11.2017
Ваш заголовок вводит в заблуждение, так как вы хотите, чтобы 1 сайт был доступен из нескольких доменов. Вместо этого вы говорите о мультисайте, то есть о 2 или более сайтах на одной установке, которая (также) доступна через 2 или более доменов. Псевдоним на уровне веб-сервера был бы выходом, а не добавлением нескольких сайтов к одной установке трясогузки.
- person moojen; 02.10.2020