Привет,
После обновления через веб-интерфейс я больше не могу получить доступ к своему сайту. Я ничего не менял, просто нажал кнопку обновления! Ошибки указывают на проблемы с подключением к Redis. Я провёл множество поисков, но пока ничего полезного не нашёл. Файл production.log пуст. Система работает на Ubuntu в Digital Ocean. Всё работало отлично в течение 18 месяцев, без ошибок, за исключением случая 6 месяцев назад, когда закончилось место на диске — тогда я успешно увеличил его.
Место на диске в порядке :-
Filesystem Size Used Avail Use% Mounted on overlay 49G 25G 24G 52% / tmpfs 64M 0 64M 0% /dev tmpfs 1001M 0 1001M 0% /sys/fs/cgroup shm 512M 8.0K 512M 1% /dev/shm /dev/vda1 49G 25G 24G 52% /shared tmpfs 1001M 0 1001M 0% /proc/acpi tmpfs 1001M 0 1001M 0% /proc/scsi tmpfs 1001M 0 1001M 0% /sys/firmware
В файле unicorn.stdout.log видно следующее:
> 2020-06-03T06:29:28.352Z pid=715 tid=osk2fuo0n ERROR: Error fetching job: Error connecting to Redis on localhost:6379 (Errno::EADDRNOTAVAIL) > 2020-06-03T06:29:28.353Z pid=715 tid=osk2fszrb ERROR: Error fetching job: Error connecting to Redis on localhost:6379 (Errno::EADDRNOTAVAIL) > 2020-06-03T06:29:28.354Z pid=715 tid=osk2fsjw3 ERROR: Error fetching job: Error connecting to Redis on localhost:6379 (Errno::EADDRNOTAVAIL) > 2020-06-03T06:29:28.354Z pid=715 tid=osk2ftlhz ERROR: Error fetching job: Error connecting to Redis on localhost:6379 (Errno::EADDRNOTAVAIL) > 2020-06-03T06:29:28.355Z pid=715 tid=osk2ftr43 ERROR: Error fetching job: Error connecting to Redis on localhost:6379 (Errno::EADDRNOTAVAIL) > Starting up 1 supervised sidekiqs > Loading Sidekiq in process id 725
Сначала я попробовал вручную пересобрать приложение.
Затем выполнил apt upgrade docker, перезагрузил сервер командой reboot и пересобрал приложение с помощью ./launcher rebuild app.
Команда redis-cli ping возвращает ответ PONG.
ss -t
State Recv-Q Send-Q Local Address:Port Peer Address:Port
ESTAB 0 0 104.248.166.162:ssh 5.81.114.19:56270
ESTAB 0 0 104.248.166.162:ssh 5.81.114.19:56211
Команда ps -axf показывает, что процесс запущен:
PID TTY STAT TIME COMMAND 2378 pts/1 Ss 0:00 /bin/bash --login 2849 pts/1 R+ 0:00 \_ ps -axf 1 pts/0 Ss+ 0:00 /bin/bash /sbin/boot 627 pts/0 S+ 0:00 /usr/bin/runsvdir -P /etc/service 628 ? Ss 0:00 \_ runsv rsyslog 641 ? Sl 0:00 | \_ rsyslogd -n 629 ? Ss 0:00 \_ runsv cron 640 ? S 0:00 | \_ cron -f 630 ? Ss 0:00 \_ runsv unicorn 639 ? S 0:00 | \_ /bin/bash config/unicorn_launcher -E producti 665 ? Sl 0:09 | \_ unicorn master -E production -c config/un 725 ? SNl 0:12 | | \_ sidekiq 6.0.7 discourse [0 of 5 busy] 750 ? Sl 0:20 | | \_ unicorn worker[0] -E production -c co 758 ? Sl 0:17 | | \_ unicorn worker[1] -E production -c co 2848 ? S 0:00 | \_ sleep 1 631 ? Ss 0:00 \_ runsv postgres 635 ? S 0:00 | \_ svlogd /var/log/postgres 636 ? S 0:00 | \_ /usr/lib/postgresql/12/bin/postmaster -D /etc 659 ? Ss 0:00 | \_ postgres: 12/main: checkpointer 660 ? Ss 0:00 | \_ postgres: 12/main: background writer 661 ? Ss 0:00 | \_ postgres: 12/main: walwriter 662 ? Ss 0:00 | \_ postgres: 12/main: autovacuum launcher 663 ? Ss 0:00 | \_ postgres: 12/main: stats collector 664 ? Ss 0:00 | \_ postgres: 12/main: logical replication la 691 ? Ss 0:00 | \_ postgres: 12/main: discourse discourse [l 1848 ? Ss 0:00 | \_ postgres: 12/main: discourse discourse [l 2633 ? Ss 0:00 | \_ postgres: 12/main: discourse discourse [l 2675 ? Ss 0:00 | \_ postgres: 12/main: discourse discourse [l 2840 ? Ss 0:00 | \_ postgres: 12/main: discourse discourse [l 632 ? Ss 0:00 \_ runsv nginx 634 ? S 0:00 | \_ nginx: master process /usr/sbin/nginx 654 ? S 0:02 | \_ nginx: worker process 655 ? S 0:00 | \_ nginx: cache manager process 633 ? Ss 0:00 \_ runsv redis 637 ? S 0:00 \_ svlogd /var/log/redis 638 ? Sl 0:05 \_ /usr/bin/redis-server *:6379
Есть ли какие-то идеи? Я не эксперт и действительно не могу найти способ снова запустить систему. Возможно, я упускаю что-то простое? Есть ли ещё какие-то места, которые стоит проверить, чтобы найти проблему?
Спасибо
