404 Не найдено При развертывании laravel, созданного с помощью докера, в производственной среде - PullRequest
1 голос
/ 19 июня 2019

404 ошибка, при доступе к указанному URL.Я развернул laravel, построенный с помощью докера, в производственной среде.Я подтвердил, что это работает локально. Я думаю, что спецификация URL странная.Локально, URL использует localhost, а в производственной среде он использует полученный домен.

.env

APP_NAME=Laravel
APP_ENV=production
APP_DEBUG=false
APP_KEY=<<APP_KEY>>
APP_URL=<<my_domain>>

LOG_CHANNEL=stack

docker-compose.yml

version: '3'
services:
  php:
    container_name: php
    build: ./docker/php
    volumes:
      - ./server:/var/www

  nginx:
    image: nginx
    container_name: nginx
    ports:
      - 81:81
    volumes:
      - ./server:/var/www
      - ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf
    depends_on:
      - php

  db:
    image: mysql:5.7
    container_name: db-host
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: database
      MYSQL_USER: test
      MYSQL_PASSWORD: test
      TZ: 'Asia/Tokyo'
    command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    volumes:
      - ./docker/db/data:/var/lib/mysql
      - ./docker/db/my.cnf:/etc/mysql/conf.d/my.cnf
      - ./docker/db/sql:/docker-entrypoint-initdb.d
    ports:
      - 3307:3307

default.conf

 server {
      listen 81;
        index index.php index.html;
        root /var/www/laravel/public;

        location / {
        root /var/www/laravel/public;
        index  index.html index.php;
        try_files $uri $uri/ /index.php$query_string;
        }

docker ps

CONTAINER ID        IMAGE                COMMAND                  CREATED             STATUS              PORTS                                         NAMES
A        nginx                "nginx -g 'daemon of…"   3 hours ago         Up About an hour    80/tcp, 0.0.0.0:81->81/tcp                    nginx
B        mysql:5.7            "docker-entrypoint.s…"   3 hours ago         Up 2 hours          3306/tcp, 33060/tcp, 0.0.0.0:3307->3307/tcp   db-host
C        tsurikatsu_web_php   "docker-php-entrypoi…"   4 hours ago         Up 2 hours          9000/tcp                                      php

Я ожидаю, что проект laravel показан, но фактический результат - ошибка 404

, пожалуйста, помогите мне.

1 Ответ

0 голосов
/ 20 июня 2019

Из того, что я вижу в вашем файле docker-compose.yml, вы сопоставляете порт 81 сервера с портом 81 контейнера nginx, что означает, что вам нужно посещать ваш сайт, указав порт 81, если вы не перенаправляете трафик с порта.80 для местного: 81.

Если вы не используете какую-либо переадресацию прокси с вашим сервером vultr, и ваш порт 80 ничем не зарезервирован, то я предлагаю вам попробовать либо заменить сопоставление портов в службе nginx на 80:81

Если это не вариант (что-то уже использует порт 80 на вашем сервере), вам следует перенаправлять трафик с порта 80 на порт 81 всякий раз, когда запрашивается конкретное имя хоста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...