Я настраиваю свой сервер debian, и мне не удается правильно запустить демон.
Для запуска мой демон должен найти сокет Postgresql (расположенный в /var/run/postgresql/.s.PGSQL.5432), но демон не запускается. Проверил логи, написано:
Произошла ошибка при загрузке слоя карты: не удалось подключиться к серверу: нет такого файла или каталога. Сервер работает локально и принимает соединения в доменном сокете Unix '/var/run/postgresql/.s.PGSQL.5432'?
Сначала я использовал update-rc.d mydaemon defaults
, и поскольку результат был таким, я пробовал update-rc.d mydaemon start 30 2 3 4 5 . stop 30 0 1 6 .
, но результат все тот же.
Я использую Debian 6.0.6 (Squeeze), и postgre "rc.d start level" кажется 23, так как ls /etc/rc3.d | grep postgre
возвращается S23postgresql
.
rc.d скрипт metainfo:
# Provides: mydaemon
# Required-Start: $remote_fs
# Required-Stop: $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: mydaemon daemon
# Description: mydaemon daemon.
Может кто-нибудь помочь мне?
Спасибо.
(и извините за мой английский)
Попробуйте добавить метаинфо в ваш rc-скрипт следующим образом (пример из rc-скрипта exim4, ваша конфигурация будет отличаться от этой, ознакомьтесь с документацией insserv):
### BEGIN INIT INFO
# Provides: exim4
# Required-Start: $remote_fs $syslog $named $network $time
# Required-Stop: $remote_fs $syslog $named $network
# Should-Start: postgresql mysql clamav-daemon greylist spamassassin
# Should-Stop: postgresql mysql clamav-daemon greylist spamassassin
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: exim Mail Transport Agent
# Description: exim is a Mail Transport agent
### END INIT INFO
Эта метаинфо используется insserv для установки вашего скрипта в нужном месте последовательности загрузки.
Свет, попробуйте добавить postgresql в поле «Required-Start». Может это тебе поможет. Это поле позволяет insserv запускать postgresql перед запуском вашего rc-скрипта.