Не удалось установить соединение с MySQL 2002: не Может соединиться с локальным сервером MySQL через сокет '/var/lib/mysql/mysql.sock' (2)
Вышеупомянутое сообщение означает в Вашем случае, что сервер MySQL действительно был недоступен. Так как это, кажется, работает на том же хосте, чем Ваш CMS, сетевые проблемы вне рассмотрения.
Останов происходит всегда в то же время? Возможно, поставщик берет резервные копии и по некоторым причинам останавливает MySQL на время резервного копирования? Или возможно у них есть некоторые другие проблемы с MySQL, который заставляет это отказывать и гореть и требование перезапуска?
На вашем месте я сделал бы простой контрольный сценарий, который будет работать SHOW GLOBAL STATUS
время от времени и бдительно следя, если сервер постоянно работает около его пределов (можно получить пределы для максимальных соединений и наполнить как этот SHOW VARIABLES
). Если бы это делает так, я жаловался бы поставщику и попросил бы, чтобы они починили вещь.
С другой стороны, если сервер обычно является совсем не своими пределами и внезапно имеет скачок в соединениях, то Вы просто наблюдаете эффекты общего хостинга. Это не должен быть Ваш сайт, который имеет проблемы, это может быть кто-то еще.
Если вы используете SELinux (по умолчанию вы используете), вам необходимо разрешить Apache доступ к домашним каталогам пользователей:
setsebool -P httpd_enable_homedirs on
Вот и все.
Apache необходим доступ ко всем каталогам в пути файловой системы к / ~ <имя пользователя> /core/
.
Это почти всегда проблема с правами доступа на / home
.
chmod 755 / home /
должен исправить это за вас.
Или проблема SELinux, о которой говорит Джастин.
обратите внимание, что *. * Не означает то же самое в unix, что и в ms-dos и windows. "расширения" имени файла не имеют значения в unix, как они есть / были в DOS, они просто часть строки, составляющей имя файла.
chmod -R 755 *. *
изменяет только права доступа файлы и каталоги с расширением "." на их имя. Чтобы изменить все файлы независимо от того, есть ли у них расширение. или нет, попробуйте:
chmod -R 755 *
даже лучше, только каталоги (не простые файлы) должны быть исполняемыми, поэтому попробуйте что-то вроде:
chmod -R a + rX, u + w *
Это изменяет все файлы на читаемые для всех пользователей, доступные для записи владельцем, а также устанавливает бит выполнения для каталогов («X» вместо «x»).
Используете ли вы SELinux на сервере? Если это так, и для него установлено значение «Принудительное применение», вам может потребоваться обновить контекст каталога до httpd_sys_content_t
, в противном случае Apache будет отказано в доступе.
Вы можете изменить контекст каталога, выполнив следующее:
chcon -Rv --type = httpd_sys_content_t / ~
Это изменит контекст каталога и его содержимое на соответствующий контекст для службы HTTPD (например, Apache) для работы в .
Дополнительную информацию можно найти здесь: http://wiki.centos.org/HowTos/SELinux/