首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laradock:本地主机上的多个项目

Laradock:本地主机上的多个项目
EN

Stack Overflow用户
提问于 2020-04-10 14:22:23
回答 1查看 4.4K关注 0票数 1

我已经安装了Laradock,但无法在本地主机上设置多个项目以进行开发。

1)克隆Laradock git repo

git clone https://github.com/Laradock/laradock.git

2)创建多个项目文件夹

代码语言:javascript
复制
- laradock
- new-project
  ﹂index.php
- test-project
  ﹂index.php

3)为每个项目设置Nginx配置文件

laradock/nginx/sites/new-project.conf

代码语言:javascript
复制
server {

    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    server_name ~^(?<project>.+)\.laradock\.dev$;
    root /var/www/$project;
    index index.php index.html index.htm;
...
}

以及laradock/nginx/sites/test-project.conf的相同配置

4)组成

docker-compose up -d nginx mysql phpmyadmin

结果,Nginx容器失败:

代码语言:javascript
复制
$ docker ps -a
CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS                     PORTS                                                                                                    NAMES
3189cee03979        laradock_nginx        "/bin/bash /opt/star…"   6 seconds ago       Exited (1) 4 seconds ago                                                                                                            laradock_nginx_1
b078751511b4        laradock_php-fpm      "docker-php-entrypoi…"   6 seconds ago       Up 5 seconds               9000/tcp                                                                                                 laradock_php-fpm_1
e4c2eab1cd2b        laradock_phpmyadmin   "/docker-entrypoint.…"   8 seconds ago       Up 6 seconds               0.0.0.0:8081->80/tcp                                                                                     laradock_phpmyadmin_1
d2f5ce2fdda4        laradock_workspace    "/sbin/my_init"          8 seconds ago       Up 6 seconds               0.0.0.0:3000-3001->3000-3001/tcp, 0.0.0.0:8080->8080/tcp, 0.0.0.0:2222->22/tcp, 0.0.0.0:8001->8000/tcp   laradock_workspace_1
40da6b9cfdd5        laradock_mysql        "docker-entrypoint.s…"   8 seconds ago       Up 7 seconds               0.0.0.0:3306->3306/tcp, 33060/tcp                                                                        laradock_mysql_1
7963bf244ca6        docker:19.03-dind     "dockerd-entrypoint.…"   8 seconds ago       Up 7 seconds               2375-2376/tcp                                                                                            laradock_docker-in-docker_1

但是,如果我从nginx/sites中删除配置文件,并且只让其中一个工作,即test-project.conf,那么它可以很好地处理一个项目。我在地址栏中输入localhost,它正确地加载页面,以防nginx/sites中有一个配置文件,而不是两个或更多配置文件。

如何正确设置Nginx配置文件以处理本地主机上的多个项目?有没有办法不使用变量server_name来硬编码$project值?

EN

回答 1

Stack Overflow用户

发布于 2020-06-08 09:08:00

我复制了每个新配置的default.conf文件。在每个新创建的conf文件中,我需要删除ssl ipv6only=on部件。

由此:

代码语言:javascript
复制
listen 443 ssl;
listen [::]:443 ssl ipv6only=on;

对此:

代码语言:javascript
复制
listen 443 ssl;
listen [::]:443;

我发现这是因为reddit:https://www.reddit.com/r/laravel/comments/9ubn31/laradock_nginx_issue_for_multi_site_configuration/上的一条帖子

现在它很好用。希望这能有所帮助。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61142300

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档