@maksim_fix
Junior PHP developer

Как сделать, чтобы nginx работал вне localhost на docker?

Создаю контейнер docker, вроде все ок, однако несмотря на правильную настройку nginx, сайт открывается только через localhost, а по-нормальному пути не открывается
test.conf:
server {
    index index.php;
    server_name test.dev;
    error_log  /var/log/nginx/error.log;
    access_log /var/log/nginx/access.log;
    root /var/www/frontend/web;
    listen 80;

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass php:9000;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }
    location / {
        # Redirect everything that isn't a real file to index.php
        try_files $uri $uri/ /index.php$is_args$args;
    }

    # uncomment to avoid processing of calls to non-existing static files by Yii
    #location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
    #    try_files $uri =404;
    #}
    #error_page 404 /404.html;

    # deny accessing php files for the /assets directory
    location ~ ^/assets/.*\.php$ {
        deny all;
    }

    location ~* /\. {
        deny all;
    }
}

docker-compose:
nginx:
        # используем последний стабильный образ nginx
        image: nginx:latest
        # маршрутизируем порты
        ports:
            - "80:80"
            - "443:443"
        # монтируем директории, слева директории на основной машине, справа - куда они монтируются в контейнере
        volumes:
            - ./hosts:/etc/nginx/conf.d
            - ./www:/var/www
            - ./logs:/var/log/nginx
        # nginx должен общаться с php контейнером
        links:
            - php

Конфигурация лежит в папке hosts, в файл hosts запись добавил(127.0.0.1 test.dev), при открытии нужной страницы пишет "Сайт неожиданно разорвал соединение.", в логи ничего не попадает
  • Вопрос задан
  • 173 просмотра
Пригласить эксперта
Ответы на вопрос 1
@q2digger
никого не трогаю, починяю примус
nginx точно запустился?
docker ps что пишет?

если соединяться так, что показывает
curl -v test.dev
и
curl -v localhost
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы