Am revizuit și un proiect vechi realizat în 2020, este un site web care rulează pe stiva LEMP într-un container Docker, problema este: nginx nu va servi pagini. Se pare că durează prea mult pentru a încărca paginile, dar nu știu cu adevărat ce se întâmplă, deoarece nu există erori în erori.log
.
aici este docker-compose.yml
versiunea: "3"
Servicii:
db:
imagine: mysql
comandă: --default-authentication-plugin=parola_native_mysql
reporniți: întotdeauna
mediu inconjurator:
MYSQL_ROOT_PASSWORD: exemplu
MYSQL_DATABASE: instagram
MYSQL_USER: root
MYSQL_PASSWORD: root
volume:
- ./db:/var/lib/mysql
administrator:
imagine: administrator
reporniți: întotdeauna
porturi:
- 8080:8080
phpfpm:
imagine: bitnami/php-fpm:7.2-debian-10
porturi:
- 9000:9000
volume:
- ./app:/usr/share/nginx/html
- ./php/php.ini:/opt/bitnami/php/etc/php.ini
nginx:
imagine: nginx:1.16.1-alpin
porturi:
- 80:80
- 443:443
volume:
- ./app:/usr/share/nginx/html
- ./nginx/conf.d/:/etc/nginx/conf.d/
- ./nginx/logs/:/var/log/nginx/
aici este nginx implicit.conf
dosar de asemenea
Server {
asculta 80 default_server;
asculta [::]:80 ipv6only=on default_server;
nume_server ltw_local;
index index.php index.html;
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
root /usr/share/nginx/html;
client_max_body_size 256m;
Locație / {
try_files $uri $uri/ /index.php;
# kill cache (doar pentru dezvoltare)
add_header Ultima modificare $date_gmt;
add_header Cache-Control 'fără stocare, fără cache, revalidare obligatorie, revalidare proxy, vârsta maximă=0';
if_modified_since off;
expiră;
etag off;
}
locație ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass phpfpm:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
Am crezut că ar fi putut fi o problemă de port, dar nu am niciun alt proces care rulează pe portul 80, acesta este rezultatul netstat -planta | grep 80
:
tcp 0 0 0.0.0.0:80 0.0.0.0:* ASCULTĂ 1/nginx: master pro
tcp 0 0 :::80 :::* ASCULTĂ 1/nginx: master pro
De asemenea, am încercat să folosesc cea mai recentă imagine a nginx în loc de 1.16.1, dar apare aceeași problemă.
Dacă doriți, puteți și clona întregul repo
(P.S. dacă sunteți pe Windows și obțineți o eroare legată de nume_tabele_minuscule
parametrul din imaginea mysql pe care va trebui să îl rulați fisier fsutil setCaseSensitiveInfo ./ activare
în interiorul ./db
folder, acest lucru se datorează introducerii wsl2 începând cu docker 2.4)
.
Anunță-mă dacă ai nevoie de mai multe informații.
multumesc pentru timpul acordat!