Deploy Vuejs Project
[Concluído]
Olá Carlos,
Conclui o curso "DEPLOY DE UMA APLICAÇÃO LARAVEL COM DOCKER NA DIGITAL OCEAN"
Consegui rodar uma aplicaçāo CRUA do Laravel da Digital Ocean conforme o curso.
Eu tenho uma aplicaçāo com front-end VueJS 2, back-end LARAVEL versao 7 e Setup Docker.
Essa aplicaçāo se trata de um dashboard com autentiçāo.
Localmente esta rodando perfeitamente. (localhost:8989)
Na digital Ocean eu fiz o seguinte:
- git clone https://github.com/robertotnoya/appcommercial (PRIVADO eu posso liberar para voce caso necessario)
- (sucesso) criei e editei o arquivo .env
- (sucesso) rodei o comando composer install no container
- (sucesso) gerei as chaves do meu projeto key:generate e jwt:secret
- (sucesso) rodei a migraçāo das tabelas do banco com seed
- (erro) ao tentar acessar o projeto no navegador pelo IP do droplet nāo carrega nada. Testei inclusive pelo Postman o acesso de uma rota simples e ocorre o mesmo problema
Precisa instalar pacotes NPM?
Outro ponto que achei interessante e como a Digital Ocean entende que ao colocar o IP do droplet deve apontar para a pasta /home/carlos/projects/curso-do/public ?
Olá, Roberto!
Tudo bem?
O npm você roda local, precisa gerar o build (ou usar CI/CD para automatizar isso):
npm run build
Está usando o meu setup Docker?
Se sim, local funciona certinho?
No aguardo de mais detalhes (se tiver o IP do droplet, ou domínio que já aponta para ele, ajuda demais)
Oi Carlos,
Deixei público o repositório no GIT https://github.com/robertotnoya/appcommercial
O droplet roda no seguinte IP 159.89.33.131.
O NPM eu rodo "npm run prod" para colocar em produçāo. Para mim nāo há a opçāo "npm run build"
Meu setup Docker existe uma diferença em relaçāo ao seu nas linhas 17 a 21 referente a extensao JPG do GD.
Agora pouco eu chequei os container na Digital Ocean (sudo docker-compose ps) e todos estāo "UP".
Também, chequei o banco (sudo docker-compose exec mysql bash) e as tabelas e seeders foram migrados.
Para concluir, localmente eu refiz os containers (docker-compose up -d --build) e o app roda normalmente na url http://localhost:8989
O seu nginx está usando a porta 8989, e não a porta 80 e 443, por isso você não consegue acessar
No arquivo docker-compose.yml muda as portas para:
# nginx
nginx:
image: nginx:alpine
restart: unless-stopped
ports:
- 80:80
volumes:
- ./:/var/www
- ./docker/nginx/:/etc/nginx/conf.d/
networks:
- commercial
E por último, deleta os containers:
docker-compose down
E sobe novamente:
docker-compose up -d
---
Ou, simplesmente recria o de nginx:
docker-compose up -d nginx --build
Eu fiz a alterações:
- Alterei meu arquivo docker-compose.yml as portas do nginx conforme orientado. Chequei no servidor se realmente o arquivo foi alterado com o comando: sudo nano docker-compose.yml e consta as novas portas 80:80
- No meu terminal SSH dei o comando:
sudo docker-compose down
apos isso: sudo docker-compose up -d --build
Ao tentar acessar no navegado dessa vez aparece a mensagem
502 Bad Gateway
Complementando, fiz um teste do app localmente agora com a porta 80:80 e esta rodando normalmente.
Tambem conferi o Firewall na D.O e deixei da mesma forma como a aula
Agora erro 502, está quase lá.
No seu projeto, existe o arquivo .env?
Instalou as depêndencias do projeto?
composer install
No projeto existe sim arquivo .env e eu subi um exemplo no git (menos informações sensiveis) na url abaixo:
https://github.com/robertotnoya/appcommercial/blob/main/.env.example
Eu rodei sim o arquivo compose install e consigo rodar comandos artisan usando o comando sudo docker-compose exec appcommercial bash
Inclusive o arquivo .env tem o APP_KEY e o JWT_SECRET graças aos comandos artisan.
Quando acessou o container:
sudo docker-compose exec appcommercial bash
E rodou os arquivos de migrations, gerou nenhum erro?
php artisan migrate
Todos os seus containers estão rodando com sucesso?
docker ps
Gera logs do seu container appcommercial
docker ps
docker logs container_id
----
Me envia um e-mail, que te ajudo a resolver (acesso o seu server, através da sua maquina)
Oi Carlos,
Todos os conatiners estao UP e a migracao do banco ocorreu com sucesso.
Vou enviar o email para voce.
Ao verificar os logs do container NGINX aparece o abaixo:
2022/01/31 20:17:30 [error] 22#22: *13 connect() failed (111: Connection refused) while connecting to upstream, client: 211.3.86.31, server: , request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.1.1:9000", host: "159.65.250.210"
211.3.86.31 - - [31/Jan/2022:20:17:30 +0000] "GET / HTTP/1.1" 502 559 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36"
147.182.240.154 - - [31/Jan/2022:20:22:36 +0000] "\x16\x03\x01\x01\xFD\x01\x00\x01\xF9\x03\x03\x13<\xBF\xA9\xDE#b\xE4\xA1\xA4\xBFM\x19\x8B\xCC\x81\x22*\xE0\xCE}\xDD\x22\x82\x00b \x7F\x9A^5\xC5\x00\x01<\xCC\x14\xCC\x13\xCC\x15\xC00\xC0,\xC0(\xC0$\xC0\x14\xC0" 400 157 "-" "-"
2022/01/31 20:23:13 [error] 22#22: *17 connect() failed (111: Connection refused) while connecting to upstream, client: 211.3.86.31, server: , request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.1.1:9000", host: "159.65.250.210"
211.3.86.31 - - [31/Jan/2022:20:23:13 +0000] "GET / HTTP/1.1" 502 559 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36"
211.3.86.31 - - [31/Jan/2022:20:23:14 +0000] "GET /favicon.ico HTTP/1.1" 304 0 "http://159.65.250.210/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36"
Continuamos no e-mail
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!