[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Marcelo Joia
Criador Marcelo Joia 27/07/2023

Por que eu não consigo acesso no localhost:80

Retorno

404 Not Found


nginx/1.25.1
Criador Marcelo Joia 27/07/2023
server {
    # escuta a porta 80
    listen 80;
    # Arquivo de ponto de partida para o PHP
    index index.php;
    # root /var/www/public;
    root /var/www/html;

    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 / {
        try_files $uri $uri/ /index.php?$query_string;
        gzip_static on;
    }

    error_log  /var/log/nginx/error.log;
    access_log /var/log/nginx/access.log;
}
Marcelo Joia
Criador Marcelo Joia 27/07/2023
version: '3.8'

services:
  php:
    image: php:8.1.1-fpm
    restart: unless-stopped
    volumes:
      - ./:/var/www
    networks:
      - minha-rede

  nginx:
    image: nginx:alpine
    restart: always
    ports:
      - 80:80
    volumes:
      - ./docker/nginx/:/etc/nginx/conf.d/
      - ./:/var/www
    networks:
      - minha-rede

  mysql:
    image: mysql:5.7.22
    restart: always
    ports:
      - 3307:3306
    volumes:
      - ./.docker/mysql:/var/lib/mysql
    environment:
      MYSQL_DATABASE: nome_db
      MYSQL_ROOT_PASSWORD: 123456
      MYSQL_USER: root
      MYSQL_PASSWORD: 123456
    networks:
      - minha-rede

networks:
  minha-rede:
    driver: bridge
Marcelo Joia
Criador Marcelo Joia 27/07/2023

E nesse caso eu só consigo acessar o MySQL usando o Localhost.

Não da para acessar com [ mysql ]

Como eu posso resolver isso?

Marcelo Joia
Criador Marcelo Joia 27/07/2023

https://uploaddeimagens.com.br/imagens/hFxwv2g

Marcelo Joia
Manager Carlos Ferreira 27/07/2023

Olá, Marcelo! Como vai?

O seu DocumentRoot está apontando para /var/www/html, precisa ser para /var/www/public -> deixa assim: root /var/www/html

Carlos Ferreira
Criador Marcelo Joia 27/07/2023

Rode um

1. $ docker-compose down

2. $ docker-compose up -d

3. $ docker-compose exec php bash

Result: https://uploaddeimagens.com.br/imagens/leSIQlM

Ele cria esse diretório [/var/www/html;] automaticamente e não respeita as diretrizes informadas [ root /var/www/public;

Reletei tudo, desliguei o docker e subi os containersnovamente  e o resultado foi esse: https://uploaddeimagens.com.br/imagens/khwkVaQ

Marcelo Joia
Manager Carlos Ferreira 27/07/2023

Tem este setup no GitHub?

Vou dar uma olhada para vc, e te ajudar a entender o que está acontecendo.

Carlos Ferreira
Criador Marcelo Joia 27/07/2023

Tá na mão: https://github.com/MarceloJoia/php-setup

Marcelo Joia
Manager Carlos Ferreira 27/07/2023

Você está usando o PHP-FPM + Nginx, é melhor usar um ou o outro, de qualquer forma, é melhor montar o seu próprio php-fpm com um Dockerfile, e usar o nginx para fazer o proxy reverso.

--

Tenho este setup aqui prontinho, só usar e ser feliz:
https://github.com/especializati/setup-docker-laravel

Carlos Ferreira
Criador Marcelo Joia 27/07/2023

Top de ^(.+)$

Do jeito que está posso usar com PHP puro e composer?

Marcelo Joia
Manager Carlos Ferreira 27/07/2023

Pode sim! =D

Carlos Ferreira
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!