Я просматривал старый проект, сделанный в 2020 году, это веб-сайт, работающий на стеке LEMP в контейнере Docker, проблема в том, что nginx не обслуживает страницы. Похоже, загрузка страниц занимает слишком много времени, но я действительно не знаю, что происходит, так как в ошибки.лог
.
здесь докер-compose.yml
версия: "3"
Сервисы:
дБ:
изображение: mysql
команда: --default-authentication-plugin=mysql_native_password
перезапуск: всегда
среда:
MYSQL_ROOT_PASSWORD: пример
MYSQL_DATABASE: инстаграм
MYSQL_USER: корень
MYSQL_PASSWORD: корень
тома:
- ./дб:/вар/библиотека/mysql
администратор:
изображение: администратор
перезапуск: всегда
порты:
- 8080:8080
phpfpm:
изображение: битнами/php-fpm:7.2-debian-10
порты:
- 9000:9000
тома:
- ./приложение:/usr/доля/nginx/html
- ./php/php.ini:/opt/bitnami/php/etc/php.ini
нгинкс:
изображение: nginx:1.16.1-alpine
порты:
- 80:80
- 443:443
тома:
- ./приложение:/usr/доля/nginx/html
- ./nginx/conf.d/:/etc/nginx/conf.d/
- ./nginx/логи/:/var/лог/nginx/
вот нгинкс default.conf
файл также
сервер {
слушать 80 default_server;
слушать [::]:80 ipv6only=on default_server;
имя_сервера ltw_local;
индекс index.php index.html;
журнал_ошибок /var/log/nginx/error.log;
журнал_доступа /var/log/nginx/access.log;
корень /usr/share/nginx/html;
client_max_body_size 256 м;
место расположения / {
try_files $uri $uri//index.php;
# убить кеш (только для разработки)
add_header Последнее изменение $date_gmt;
add_header Cache-Control 'без хранения, без кеша, обязательная повторная проверка, прокси-повторная проверка, максимальный возраст = 0';
if_modified_since выключено;
истекает;
пометка выключена;
}
расположение ~ \.php$ {
try_files $uri = 404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_passphpfpm:9000;
fastcgi_index index.php;
включить fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
Я думал, что это может быть проблема с портом, но у меня нет другого процесса, работающего на порту 80, это результат netstat-завод | группа 80
:
TCP 0 0 0.0.0.0:80 0.0.0.0:* СЛУШАТЬ 1/nginx: master pro
tcp 0 0 :::80 :::* ПРОСЛУШИВАТЬ 1/nginx: master pro
Я также пытался использовать последний образ nginx вместо 1.16.1, но возникла та же проблема.
Если вы хотите, вы также можете клонировать весь репо
(P.S. если вы работаете в Windows и получаете сообщение об ошибке относительно lower_case_table_names
параметр в образе mysql, который вам нужно запустить файл fsutil setCaseSensitiveInfo ./ включить
внутри ./дБ
папка, это связано с введением wsl2 начиная с docker 2.4)
.
Дайте мне знать, если вам нужна дополнительная информация.
Спасибо за уделенное время!