ฉันกำลังตรวจสอบและทำโปรเจ็กต์เก่าเสร็จในปี 2020 เป็นเว็บไซต์ที่ทำงานบน LEMP stack ในคอนเทนเนอร์ Docker ปัญหาคือ: nginx จะไม่แสดงหน้าเว็บ ดูเหมือนว่าจะใช้เวลาโหลดหน้าเว็บนานเกินไป แต่ฉันไม่รู้ว่าเกิดอะไรขึ้นเนื่องจากไม่มีข้อผิดพลาดใน error.log
.
ที่นี่คือ นักเทียบท่า-compose.yml
รุ่น: "3"
บริการ:
ฐานข้อมูล:
รูป: mysql
คำสั่ง: --default-authentication-plugin=mysql_native_password
รีสตาร์ท: เสมอ
สิ่งแวดล้อม:
MYSQL_ROOT_PASSWORD: ตัวอย่าง
MYSQL_DATABASE: อินสตาแกรม
MYSQL_USER: รูท
MYSQL_PASSWORD: ราก
ปริมาณ:
- ./db:/var/lib/mysql
ผู้ดูแลระบบ:
ภาพ : แอดมิน
รีสตาร์ท: เสมอ
พอร์ต:
- 8080:8080
phpfpm:
ภาพ: bitnami/php-fpm:7.2-debian-10
พอร์ต:
- 9000:9000
ปริมาณ:
- ./app:/usr/share/nginx/html
- ./php/php.ini:/opt/bitnami/php/etc/php.ini
จิงซ์:
ภาพ: nginx:1.16.1-alpine
พอร์ต:
- 80:80
- 443:443
ปริมาณ:
- ./app:/usr/share/nginx/html
- ./nginx/conf.d/:/etc/nginx/conf.d/
- ./nginx/logs/:/var/log/nginx/
นี่คือ nginx default.conf
ไฟล์ได้อีกด้วย
เซิร์ฟเวอร์ {
ฟัง 80 default_server;
ฟัง [::]:80 ipv6only=บน default_server;
server_name ltw_local;
ดัชนี index.php index.html;
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
รูท /usr/share/nginx/html;
client_max_body_size 256m;
ที่ตั้ง / {
try_files $uri $uri/ /index.php;
# แคชฆ่า (สำหรับการพัฒนาเท่านั้น)
add_header แก้ไขล่าสุด $date_gmt;
add_header Cache-Control 'ไม่มีที่เก็บ, ไม่มีแคช, ต้องตรวจสอบซ้ำ, ตรวจสอบความถูกต้องของพร็อกซี, อายุสูงสุด = 0';
if_modified_since ปิด;
หมดอายุ;
etag ปิด;
}
ตำแหน่ง ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass phpfpm: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: มาสเตอร์โปร
tcp 0 0 :::80 :::* ฟัง 1/nginx: master pro
ฉันพยายามใช้อิมเมจล่าสุดของ nginx แทน 1.16.1 แต่เกิดปัญหาเดียวกัน
หากคุณต้องการคุณสามารถโคลนทั้งหมดได้ ซื้อคืน
(ป.ล. หากคุณใช้ Windows และคุณได้รับข้อผิดพลาดที่เกี่ยวข้องกับไฟล์ lower_case_table_names
พารามิเตอร์ในอิมเมจ mysql ที่คุณจะต้องเรียกใช้ ไฟล์ fsutil setCaseSensitiveInfo ./ enable
ข้างใน ./db
โฟลเดอร์นี้เกิดจากการแนะนำ wsl2 ตั้งแต่นักเทียบท่า 2.4)
.
แจ้งให้เราทราบหากคุณต้องการข้อมูลเพิ่มเติม
ขอขอบคุณสำหรับเวลาของคุณ!