使用Laravel

时间:2018-05-03 18:19:09

标签: laravel localhost subdomain

我很难让子域名在本地工作。我有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)我似乎有点类似的帖子,解决方案是使用丙烯酸dns(在Windows上)。我正在使用Mac。这是我需要一个真正的DNS服务器吗?

3)我打算使用nginx,我需要一个“更强大”的网络服务器来实现这个目标吗?

使用基本的Laravel服务器,我尝试在路由中使用和不使用端口进行硬编码test.localhost。我确定我在搞什么,只是不确定在哪里。我在Mac上,我正在运行Laravel 5.6。提前谢谢!

1 个答案:

答案 0 :(得分:1)

1)不,Web服务器配置将侦听端口。

// 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是一个生产就绪的Web服务器,您可能需要负载均衡器和Web服务器的多个实例进行扩展,但nginx将绰绰有余。