Tôi đang xem xét và dự án cũ đã hoàn thành vào năm 2020, đó là một trang web chạy trên ngăn xếp LEMP trong bộ chứa Docker, vấn đề là: nginx sẽ không phục vụ các trang. Có vẻ như mất quá nhiều thời gian để tải trang nhưng tôi thực sự không biết chuyện gì đang xảy ra vì không có lỗi trong error.log
.
đây là docker-compose.yml
phiên bản: "3"
dịch vụ:
đb:
hình ảnh: mysql
lệnh: --default-authentication-plugin=mysql_native_password
khởi động lại: luôn luôn
môi trường:
MYSQL_ROOT_PASSWORD: ví dụ
MYSQL_DATABASE: instagram
MYSQL_USER: gốc
MYSQL_PASSWORD: gốc
khối lượng:
- ./db:/var/lib/mysql
quản trị viên:
hình ảnh: quản trị viên
khởi động lại: luôn luôn
cổng:
- 8080:8080
phpfpm:
hình ảnh: bitnami/php-fpm:7.2-debian-10
cổng:
- 9000:9000
khối lượng:
- ./app:/usr/share/nginx/html
- ./php/php.ini:/opt/bitnami/php/etc/php.ini
nginx:
hình ảnh: nginx:1.16.1-alpine
cổng:
- 80:80
- 443:443
khối lượng:
- ./app:/usr/share/nginx/html
- ./nginx/conf.d/:/etc/nginx/conf.d/
- ./nginx/logs/:/var/log/nginx/
đây là nginx mặc định.conf
tập tin là tốt
người phục vụ {
nghe 80 default_server;
lắng nghe [::]:80 ipv6only=on default_server;
server_name ltw_local;
chỉ mục index.php index.html;
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
gốc /usr/share/nginx/html;
client_max_body_size 256m;
địa điểm / {
try_files $uri $uri/ /index.php;
# kill cache (chỉ để phát triển)
add_header Sửa đổi lần cuối $date_gmt;
add_header Kiểm soát bộ đệm 'không lưu trữ, không lưu bộ đệm, phải xác thực lại, xác thực lại proxy, tuổi tối đa = 0';
if_modified_kể từ khi tắt;
hết hạn;
tắt thẻ;
}
vị trí ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass phpfpm:9000;
fastcgi_index index.php;
bao gồm fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
Tôi nghĩ đó có thể là sự cố về cổng nhưng tôi không có quy trình nào khác đang chạy trên cổng 80, đây là kết quả của netstat -cây trồng | grep 80
:
tcp 0 0 0.0.0.0:80 0.0.0.0:* NGHE 1/nginx: master pro
tcp 0 0 :::80 :::* NGHE 1/nginx: master pro
Tôi cũng đã thử sử dụng hình ảnh mới nhất của nginx thay vì 1.16.1 nhưng vấn đề tương tự cũng xảy ra.
Nếu bạn muốn, bạn cũng có thể sao chép toàn bộ repo
(P.S. nếu bạn đang dùng Windows và gặp lỗi liên quan đến Lower_case_table_names
tham số trong hình ảnh mysql, bạn sẽ cần chạy tập tin fsutil setCaseSensitiveInfo ./ enable
bên trong ./db
thư mục, điều này là do sự ra đời của wsl2 kể từ docker 2.4)
.
Hãy cho tôi biết nếu bạn cần thêm thông tin.
cảm ơn bạn đã dành thời gian!