OS X Yosemite Server - Вики перестает работать
Последние пару дней я заметил, что Wiki-сервер на OS X Server, похоже, дает сбой.
Когда я захожу на сайт вики, я получаю следующее сообщение:
Caught exception "Connection to DB failed" [CSDatabaseError] executing route /app-context/wiki:
(
0 CoreFoundation 0x00007fff8fb4003c __exceptionPreprocess + 172
1 libobjc.A.dylib 0x00007fff8f74d76e objc_exception_throw + 43
2 CSService 0x00000001045eb5cf -[CSConnectionPool openConnection] + 3357
3 CSService 0x00000001045ebfbe -[CSConnectionPool currentConnection] + 98
4 CSService 0x000000010466d687 -[CSAuthService unauthenticatedSession] + 82
5 CSService 0x000000010466dc56 -[CSAuthService currentOrNewSession] + 151
6 CSService 0x000000010465efad +[CSHTTPRouteHelper setCurrentSessionForRequest:] + 267
7 CSService 0x00000001046736aa __27-[CSAppContextService init]_block_invoke234 + 107
8 CSService 0x000000010465aaf4 __53-[CSRoutingHTTPConnection httpResponseForMethod:URI:]_block_invoke + 92
9 CSService 0x000000010465e0ea -[CSHTTPBackgroundResponse bounce:] + 284
10 Foundation 0x00007fff94896dc2 __NSThread__main__ + 1345
11 libsystem_pthread.dylib 0x00007fff8dba9268 _pthread_body + 131
12 libsystem_pthread.dylib 0x00007fff8dba91e5 _pthread_body + 0
13 libsystem_pthread.dylib 0x00007fff8dba741d thread_start + 13
)
После перезапуска сервера все возвращается в нормальное состояние.
Мне кажется, что SQL-сервер вышел. Есть ли способ перезапустить его с помощью командной строки? Потому что я не хочу переустанавливать серверное приложение, потому что у меня очень много настроек, и это, честно говоря, не стоит времени, так как я надеюсь, что проблема будет решена с помощью следующих обновлений.
Спасибо
1 ответ
Сервис Wiki в Server.app использует PostgreSQL в качестве базы данных. Это случилось со мной, и я смог это исправить, не перезагружая сервер.
Отключите вики-сервис в Server.app. Убедитесь, что экземпляр postgresql, обслуживающий вики-сервис, на самом деле не работает:
% ps auwwx | grep postgr | grep teamserv
<should show no processes returned>
Проверьте /Library/Server/Wiki/PostgresSocket для устаревших файлов и удалите их.
I had the following stale file:
.xpg_ctl.pid -> 80019
Кластер базы данных PostgreSQL находится по адресу
/Library/Server/Wiki/Database.xpg/Cluster.pg
В моем случае файл pg_hba.conf содержал 200 тыс. Строк, по-видимому, какой-то сценарий, который его сгенерировал, вышел из строя. Я удалил все, что ниже линии
local replication all trust
Затем я включил службу вики, получил доступ к вики, и база данных запустилась успешно.