Получение поддоменов для локальной работы с Laravel - PullRequest
0 голосов
/ 03 мая 2018

Мне трудно заставить поддомен работать локально. У меня есть Docker, обслуживающий приложение к порту 8080, и я вижу экран приветствия Laravel. Затем у меня есть простая настройка маршрута, как это:

Route::domain('{name}.localhost:8087')->group(function () {
    return 'Hello World';acrylic dns
});

Я использую базовый сервер Laravel, т.е. php artisan serve --host=0.0.0.0 --port=8087

Когда я пытаюсь просмотреть страницу, ничего не происходит. Это просто идет на экран приветствия. Я даже пытался добавить 'test.localhost' в файл / etc / hosts. Пара вопросов:

1) У вас может быть порт в хосте, как у меня там (в маршруте Laravel)?

2) Мне показалось несколько похожих постов, где решением было использовать акриловые днс (на окнах). Я использую Mac. Это то, где мне нужен настоящий DNS-сервер?

3) Я планирую использовать nginx, нужен ли для этого «более мощный» веб-сервер?

На базовом сервере Laravel я пробовал жестко кодировать test.localhost на маршруте, с портом и без него. Я уверен, что я что-то обманул, просто не уверен, где. Я работаю на Mac и использую Laravel 5.6. Заранее спасибо!

1 Ответ

0 голосов
/ 04 мая 2018

1) Нет, конфигурация веб-сервера будет прослушивать порт.

// nginx
server {
    listen 8080;
    ...
}

2) Вы добавляете субдомены в свой файл /etc/hosts и создаете отдельные конфигурации nginx:

// /etc/hosts
subdomain1.foo.localhost    127.0.0.1
subdomain2.foo.localhost    127.0.0.1
subdomain3.foo.localhost    127.0.0.1

// nginx subdomain1.foo.localhost.conf
server {
    listen 8080;
    server_name subdomain1.foo.localhost;
    ...
}

// nginx subdomain2.foo.localhost.conf
server {
    # set different port if needed
    # listen 8082
    listen 8080;
    server_name subdomain2.foo.localhost;
    ...
}

// nginx subdomain3.foo.localhost.conf
server {
    # set different port if needed
    # listen 8083
    listen 8080;
    server_name subdomain3.foo.localhost;
    ...
}

3) Nginx - это готовый к работе веб-сервер, для масштабирования может потребоваться балансировка нагрузки и несколько экземпляров веб-серверов, но nginx будет более чем достаточно.

...