Как правильно настроить хосты для yii2 advanced?

Говорим о серверах, развёртывании, нагрузках, выборе и использовании разных технологий и продуктов
Ответить
ZaurK
Сообщения: 19
Зарегистрирован: 2015.01.21, 10:15

Как правильно настроить хосты для yii2 advanced?

Сообщение ZaurK » 2018.07.19, 19:03

Здравствуйте!
Надеюсь я пишу в правильную ветку. Долгое время разворачивал yii2 на OpenServer, но теперь решил перейти на ubuntu + docker. В принципе развернул приложение, но есть некоторые трудности с хостами, в файле vhost.conf прописываю такие настройки, как указано в доках:

Код: Выделить всё

<VirtualHost *:80>   
ServerName frontend.test
DocumentRoot /app/frontend/web/

<Directory "/app/frontend/web/">
......
<VirtualHost *:80>   
ServerName backend.test
DocumentRoot /app/backend/web/

<Directory "/app/backend/web/">
.......
При переходе на localhost:8000 я получаю страницу фронтенда, причем frontend.test не работает. Как сделать так, чтобы сайт открывался по указанным именам серверов, отдельно фронтенд и бэкенд? Подскажите, что я делаю не так?

Аватара пользователя
ElisDN
Сообщения: 5266
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Как правильно настроить хосты для yii2 advanced?

Сообщение ElisDN » 2018.07.19, 22:27

Не используйте в Docker свои домены. Сделайте два хоста с портами 80 и 81 или два отдельных контейнера frontend и backend с портом 80. И пробросьте их на localhost:8080 и localhost:8081.

И советую перейти на Nginx вместо Apache.
Последний раз редактировалось ElisDN 2018.07.20, 16:58, всего редактировалось 1 раз.

ZaurK
Сообщения: 19
Зарегистрирован: 2015.01.21, 10:15

Re: Как правильно настроить хосты для yii2 advanced?

Сообщение ZaurK » 2018.07.19, 22:52

Спасибо за ответ, Дмитрий! То есть, если я правильно понял, бэкенд и фронтенд рассматривать как два разных сайта и для каждого свой контейнер создавать... я надеялся, что можно на одном контейнере. А какой image посоветуете для yii2 с nginx? Или лучше самому попробовать собрать?

anton_z
Сообщения: 388
Зарегистрирован: 2017.01.15, 15:01

Re: Как правильно настроить хосты для yii2 advanced?

Сообщение anton_z » 2018.07.20, 04:20

ZaurK писал(а):
2018.07.19, 22:52
Спасибо за ответ, Дмитрий! То есть, если я правильно понял, бэкенд и фронтенд рассматривать как два разных сайта и для каждого свой контейнер создавать... я надеялся, что можно на одном контейнере. А какой image посоветуете для yii2 с nginx? Или лучше самому попробовать собрать?
Мне вот тоже не очень понятно, зачем два разных контейнера, тем более что тут речь идет об окружении для разработки. Используйте port-based virtual host https://httpd.apache.org/docs/2.4/vhosts/examples.html пример Running different sites on different ports.
Откройте в контейнере два порта, 80 и 8001, например, на один поставьте в конфиге апача фронтенд, на другой бэкенд.

ZaurK
Сообщения: 19
Зарегистрирован: 2015.01.21, 10:15

Re: Как правильно настроить хосты для yii2 advanced?

Сообщение ZaurK » 2018.07.20, 10:12

anton_z писал(а):
2018.07.20, 04:20
Мне вот тоже не очень понятно, зачем два разных контейнера, тем более что тут речь идет об окружении для разработки. Используйте port-based virtual host https://httpd.apache.org/docs/2.4/vhosts/examples.html пример Running different sites on different ports.
Откройте в контейнере два порта, 80 и 8001, например, на один поставьте в конфиге апача фронтенд, на другой бэкенд.
Спасибо за ответ, но, к сожалению, у меня так не получилось. Сделал по-другому, переписал пути к папкам:

Код: Выделить всё

<VirtualHost *:80>   
    ServerName project.loc
    DocumentRoot /app

    <Directory "/app/>
    
Теперь получаю доступ к фронтенду и бэкенду соответственно как http://localhost:8000/frontend/web/ и http://localhost:8000/backend/web/
Наверняка, не самое блестящее решение, но вроде рабочее.

anton_z
Сообщения: 388
Зарегистрирован: 2017.01.15, 15:01

Re: Как правильно настроить хосты для yii2 advanced?

Сообщение anton_z » 2018.07.20, 15:24

ZaurK писал(а):
2018.07.20, 10:12
anton_z писал(а):
2018.07.20, 04:20
Мне вот тоже не очень понятно, зачем два разных контейнера, тем более что тут речь идет об окружении для разработки. Используйте port-based virtual host https://httpd.apache.org/docs/2.4/vhosts/examples.html пример Running different sites on different ports.
Откройте в контейнере два порта, 80 и 8001, например, на один поставьте в конфиге апача фронтенд, на другой бэкенд.
Спасибо за ответ, но, к сожалению, у меня так не получилось. Сделал по-другому, переписал пути к папкам:

Код: Выделить всё

<VirtualHost *:80>   
    ServerName project.loc
    DocumentRoot /app

    <Directory "/app/>
    
Теперь получаю доступ к фронтенду и бэкенду соответственно как http://localhost:8000/frontend/web/ и http://localhost:8000/backend/web/
Наверняка, не самое блестящее решение, но вроде рабочее.
Норм, если самому удобно

Ответить