Tôi có một thiết lập khá chuẩn, với nginx làm giao diện người dùng web (có chứng chỉ https, v.v.) và phần phụ trợ FPM nextcloud; toàn bộ cài đặt có lưu lượng truy cập rất thấp, vì tôi là người duy nhất sử dụng nó.
Tại một thời điểm https ngừng hoạt động, mọi kết nối từ bên ngoài dẫn đến hết thời gian chờ hoặc kết nối bị từ chối; trong tình huống này, có vẻ như nextcloud đang hoạt động còn nginx thì không.
Tôi nghĩ rằng nó có thể liên quan đến việc tiết kiệm năng lượng trên máy chủ của tôi, nhưng thực tế không phải vậy, vì tất cả các vùng chứa khác trên cùng một máy chủ đều hoạt động tốt; điều buồn cười là có một cách đơn giản để làm cho nó hoạt động trở lại và đó là mở shell trên máy chủ và thực hiện:
cd $NEXTCLOUD_DIRECTORY
trong đó NEXTCLOUD_DIRECTORY là thư mục cơ sở cho ứng dụng, nơi có cả thư mục dữ liệu và tệp docker-compose.yml (đặt tại $HOME/docker/nextcloud-letsencrypt).
Tôi chỉ không hiểu tại sao điều này lại xảy ra và tại sao hoạt động đó lại là một giải pháp...
Đây là tập tin soạn thảo của tôi:
phiên bản: '3'
dịch vụ:
nginx:
hình ảnh: nginx:alpine
cổng:
- "80:80"
- "127.0.0.1:8443:443"
khối lượng:
- ./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
khởi động lại: trừ khi dừng
command: "/bin/sh -c 'while :; do sleep 6h & wait $${!}; nginx -s reload; done & nginx -g \"daemon off;\"'"
certbot:
hình ảnh: certbot/certbot
khối lượng:
- ./data/certbot/conf:/etc/letsencrypt
- ./data/certbot/www:/var/www/certbot
entrypoint: "/bin/sh -c 'bẫy thoát TERM; while :; làm mới certbot; ngủ 12h & đợi $${!}; xong;'"
khởi động lại: trừ khi dừng
đám mây-db:
container_name: ${DB_CONTAINER_NAME}
hình ảnh: mariadb:${DB_IMAGE_TAG}
khởi động lại: trừ khi dừng
lệnh: --transaction-isolation=READ-CAM KẾT --binlog-format=ROW
khối lượng:
...
môi trường:
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
ứng dụng:
hình ảnh: nextcloud:21-fpm-alpine
liên kết:
- đám mây-db
người dùng: "1000:1004"
khối lượng:
- ./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
khởi động lại: trừ khi dừng
./data nằm trong FS gốc, bên trong thư mục chính của người dùng 1000.
/mnt/usb/shared/nextcloud nằm trên ổ USB ext4 (mặc định ext4,nofail 0 0), R/W cho người dùng
/mnt/usb/Expansion_2 là một ổ USB ex4 khác (mặc định ex4,nofail 0 0) được cung cấp qua NC (chúng được đăng ký làm bộ nhớ ngoài trong NC)