ฉันมีการตั้งค่าที่ค่อนข้างมาตรฐานโดยมี nginx เป็นส่วนหน้าของเว็บ (พร้อมใบรับรอง https และอื่น ๆ ) และแบ็กเอนด์ FPM ของ nextcloud การติดตั้งทั้งหมดมีปริมาณการใช้งานต่ำมาก เนื่องจากฉันเป็นคนเดียวที่ใช้
เมื่อถึงจุดหนึ่ง https หยุดทำงาน ทุกการเชื่อมต่อจากภายนอกจะส่งผลให้หมดเวลาหรือการเชื่อมต่อถูกปฏิเสธ ในสถานการณ์นี้ ดูเหมือนว่า nextcloud กำลังทำงานและ nginx ไม่ทำงาน
ฉันคิดว่ามันอาจเกี่ยวข้องกับการประหยัดพลังงานบนโฮสต์ของฉัน แต่ก็ไม่เป็นเช่นนั้น เนื่องจากคอนเทนเนอร์อื่นๆ ทั้งหมดในโฮสต์เดียวกันทำงานได้ดี สิ่งที่ตลกคือมีวิธีง่ายๆ ที่จะทำให้มันกลับมาใช้งานได้อีกครั้ง และมันคือการเปิดเชลล์บนโฮสต์และทำ:
ซีดี $NEXTCLOUD_DIRECTORY
โดยที่ NEXTCLOUD_DIRECTORY เป็นไดเร็กทอรีพื้นฐานสำหรับแอปพลิเคชัน โดยที่ทั้งไฟล์ docker-compose.yml และไดเร็กทอรีข้อมูล (อยู่ที่ $HOME/docker/nextcloud-letsencrypt)
ฉันแค่ไม่เข้าใจว่าทำไมสิ่งนี้ถึงเกิดขึ้นและทำไมการดำเนินการนั้นจึงเป็นวิธีแก้ปัญหา ...
นี่คือไฟล์เขียนของฉัน:
รุ่น: '3'
บริการ:
จิงซ์:
ภาพ: nginx:alpine
พอร์ต:
- "80:80"
- "127.0.0.1:8443:443"
ปริมาณ:
- ./data/nginx:/etc/nginx/conf.d
- ./data/certbot/conf:/etc/letsencrypt
- ./data/certbot/www:/var/www/certbot
- ./data/nextcloud/www:/var/www/html:ro
- ./data/nextcloud/apps:/var/www/html/custom_apps:ro
รีสตาร์ท: เว้นแต่จะหยุด
คำสั่ง: "/bin/sh -c ' while :; do sleep 6h & wait $${!}; nginx -s reload; done & nginx -g \"daemon off;\"'"
ใบรับรอง:
ภาพ: certbot/certbot
ปริมาณ:
- ./data/certbot/conf:/etc/letsencrypt
- ./data/certbot/www:/var/www/certbot
จุดเริ่มต้น: "/bin/sh -c 'trap exit TERM; while :; do certbot ต่ออายุ; sleep 12h & wait $${!}; done;'"
รีสตาร์ท: เว้นแต่จะหยุด
cloud-db:
ชื่อคอนเทนเนอร์: ${DB_CONTAINER_NAME}
รูปภาพ: mariadb:${DB_IMAGE_TAG}
รีสตาร์ท: เว้นแต่จะหยุด
คำสั่ง: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
ปริมาณ:
...
สิ่งแวดล้อม:
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
แอป:
รูปภาพ: nextcloud:21-fpm-alpine
ลิงค์:
- ฐานข้อมูลคลาวด์
ผู้ใช้: "1000:1004"
ปริมาณ:
- ./data/nextcloud/www:/var/www/html
- ./data/nextcloud/apps:/var/www/html/custom_apps
- ./data/nextcloud/config:/var/www/html/config
- /mnt/usb/shared/nextcloud:/var/www/html/data
- /mnt/usb/Expansion_2/serie:/mnt/serie:ro
- /mnt/usb/archivio/archivio:/mnt/archivio:ro
รีสตาร์ท: เว้นแต่จะหยุด
./data อยู่ใน root FS ภายในโฮมไดเร็กทอรีของผู้ใช้ 1,000
/mnt/usb/shared/nextcloud อยู่ในไดรฟ์ USB ext4 (ค่าเริ่มต้นของ ext4, nofail 0 0), R/W สำหรับผู้ใช้
/mnt/usb/Expansion_2 เป็นไดรฟ์ USB ex4 อีกตัว (ค่าเริ่มต้นของ ext4, nofail 0 0) ให้บริการผ่าน NC (มีการลงทะเบียนเป็นที่เก็บข้อมูลภายนอกใน NC)