Не работает Nginx

Процессы активны (nginx запущен), но сайты не работают.
В логах встречаются ошибки вида:

[alert] 17289#0: open socket #14 left in 39

Лечится путем увеличения параметра worker_connections в /etc/nginx.conf (в CentOS) и в /etc/nginx/nginx.conf (в Debian).

После чего рестартим nginx.

Установка Lame в Debian

К сожалению, пакета lame в репозиториях Debian нет, но есть замена: toolame и twolame

Устанавливаем как обычно:

# apt-get update && apt-get install toolame

Если клиенту нужен именно Lame (для работы с Mpeg 3), то добавляем в /etc/apt/sources.list

Для lenny:

deb http://www.debian-multimedia.org lenny main non-free

Для squeeze

deb http://www.debian-multimedia.org lenny main non-free

Обновляем информацию о пакетах:

apt-get update

И устанавливаем

apt-get install lame

Установка SoX в Debian

http://sox.sourceforge.net/

SoX — Sound eXchange программа для работы с звуковыми файлами.

Присутствует в репозиториях Debian, так что установка проста:

# apt-get update && apt-get install sox

Все подхватится автоматически.

Fatal error Allowed memory size of

Такая ошибка означает, что скрипт пытается запросить больше памяти, чем ему разрешено.

Решение: нужно увеличить размер memory_limit в php.ini

В Debian:

Если php используется как модуль апача:

/etc/php5/apache2/php.ini

Если php используется как CGI или FastCGI:

/etc/php5/cgi/php.ini

Если PHP используется как CLI:

/etc/php5/cli/php.ini

В CentOS:

/etc/php.ini

Как узнать размер файлов и папок в Linux?

Чтобы посмотреть размер файлов в папке Linux (а так же размер самих папок) в удобочитаемом формате (ГБ, КБ, МБ или байты) достаточно открыть консоль (командную строку) или подключиться к серверу по SSH и ввести несколько простых команд, о которые рассмотрим ниже.

Читать далее «Как узнать размер файлов и папок в Linux?»

Назначение домену определенного IP адреса

Если Вы добавили домен в панель управления хостингом, но не сменили записи в DNS (хотите проверить, что все работает без ошибок), то делаем следующее:

В Windows:

Можете отредактировать файл:

C:\Windows\System32\drivers\etc\hosts

Добавить запись вида:

xxx.xx.xx.xx site.com

В Linux:

Отредактировать файл /etc/hosts

Добавить запись вида:
xxx.xx.xx.xx site.com

Где, xxx.xx.xx.xx — IP Вашего сервера, а site.com — имя Вашего домена.

В таком случае, введя в браузер имя Вашего домена, Вы будете перенаправлены на Ваш сервер. Такая система работает в обход DNS.

iPod звук идет отовсюду

Столкнулся с проблемой, что идет звук и из внешего динамика и из наушников.
На форумах пишут, что можно поиграться с ограничением громкости в настройках…
Мне же помог ребут.

А перезагружаем iPod так:
Отключаем блокировку, держим клавишу Menu и центральную кнопку 5 секунд и iPod ушел в ребут. После загрузки со звуком все в порядке.

Изменение WWW домена на другой в ISPManager

К сожалению, в ISPManager’e нет функции, чтобы сменить имя домена в параметрах WWW домена. Приходится руками пересоздавать WWW домен, копировать файлы и папки и т.д.

Вот мой способ (делаем по SSH):

export OLD_DOMAIN=site_old.com
export NEW_DOMAIN=site.com

В Debian:

sed -i «s/$OLD_DOMAIN/$NEW_DOMAIN/» /etc/nginx/nginx.conf
sed -i «s/$OLD_DOMAIN/$NEW_DOMAIN/» /etc/apache2/apache2.conf
sed -i «s/$OLD_DOMAIN/$NEW_DOMAIN/» /usr/local/ispmgr/etc/rotate.conf
sed -i «s/$OLD_DOMAIN/$NEW_DOMAIN/» /usr/local/ispmgr/etc/ispmgr.conf

В CentOS:

sed -i «s/$OLD_DOMAIN/$NEW_DOMAIN/» /etc/nginx/nginx.conf
sed -i «s/$OLD_DOMAIN/$NEW_DOMAIN/» /etc/httpd/conf/httpd.conf
sed -i «s/$OLD_DOMAIN/$NEW_DOMAIN/» /usr/local/ispmgr/etc/rotate.conf
sed -i «s/$OLD_DOMAIN/$NEW_DOMAIN/» /usr/local/ispmgr/etc/ispmgr.conf

И переименовываем папку с www доменом:

mv /var/www/user_name/data/www/site_old.com /var/www/user_name/data/www/site.com

Включение отображения скрытых файлов и папок в FileZilla

Запускаем FileZilla, Жмем комбинацию ctrl+i и выбираем «Запретить всё».

После данных действий все скрытые файлы (например, .htaccess) и папки будут видны.

Отладка работы DNS сервера в Debian и CentOS

Бывают ситуации, когда не запускается DNS сервер или же просто не отдает информации о некоторых доменах, хотя записи существуют.

Вот, способ, как можно найти проблему:
В Debian выполняем:

# named -g -u bind

В CentOS:

# named -g -u named

И смотрим вывод сообщений.

Как вставить текст в Midnight Commander(MC), используя Putty

Как обычно — правой кнопкой мыши скопированный текст вставить не получится, т.к. мышь используется как xterm mouse. И копирование-вставка работает только с text-mode приложениями.

Чтобы решить данную задачу — переходим к подпункту Features пункта Terminal. И ставим галочку напротив Disable xterm-style mouse reporting.

После чего можем копировать и вставлять используя выделение и клик правой кнопкой мыши соответственно.

Установка и настройка munin в Debian

Обновляем информацию о пакетах и устанавливаем нужные:

# apt-get update && apt-get install munin munin-node  munin-plugins-extra -y

Скрипты находятся в папке /usr/share/munin

Конфигурация в папке: /etc/munin

Крон — /etc/cron.d/munin

Настройки сервера находятся в файле /etc/munin/munin.conf

Там ничего менять не будем, т.к. стандартно нас все устраивает (htmldir в /var/www/munin, сервер открыт только для localhost)

Далее настраиваем Apache:

# nano  /etc/apache2/conf.d/munin.conf

Приводим к виду:

Alias /munin /var/www/munin
<Directory /var/www/munin>
AllowOverride All
RemoveHandler .php
AddType application/x-httpd-php .php
php_admin_value upload_tmp_dir /tmp
php_admin_value session.save_path /tmp
php_admin_value safe_mode off
DirectoryIndex index.html
Order allow,deny
Allow from all
</Directory>

И перезапускаем munin и apache:

# invoke-rc.d apache2 reload && invoke-rc.d munin-node restart

Если файлов в папке /var/www/munin нет, то выполняем команду:

# /usr/share/munin/munin-html —force-root

После чего файлы должны появиться.

Все готово. Можем смотреть:

http://is.my.ip.server/munin

Для того, чтобы изменить частоту обновления графиков, лезем в файл /etc/cron.d/munin. По умолчанию опрос производится раз в 5 минут.
Могут быть проблемы с правами (графики не обновляются). Решаем так:

# chown -R munin:munin /var/www/munin /var/log/munin

Защита Apache 2 от HTTP флуда в Debian

Делаем защиту с помощью модуля evasive.

Для начала обновляем информацию о пакетах и устанавливаем нужный нам модуль:

# apt-get update && apt-get install  libapache2-mod-evasive

У данного модуля есть следующие настраиваемые параметры:

DOSHashTableSize — размер хэш-таблицы которая обрабатывает запросы.

DOSPageCount — число запросов к одной странице от одного и того же IP в течение указаного интервала времени

DOSSiteCount — число запросов ко всем страницам домена с одного и того же IP в течение указанного интервала времени

DOSPageInterval — интервал для директивы DOSPageCount (в секундах)

DOSSiteInterval — интервал для директивы DOSSiteCount (в секундах)

DOSBlockingPeriod — время блокировки IP (в секундах)

DOSEmailNotify — если какой-то IP заблокирован, можно отправить письмо на указанный email

DOSSystemCommand — команда, которая будет выполнена для блокировки IP. Напрмер, «/sbin/iptables -A INPUT -p tcp –dport 80 -s %s -j DROP»

Где %s — IP нашего потенциального флудера.

DOSWhiteList — список «белых» IP. Можно задавать маску, например 45.45.45.*

С параметрами разобрались, можно приступать к настройке.

Открываем файл настройки:

# vi /etc/apache2/mods-enabled/evasive.conf

И вставляем, к прмеру

<IfModule mod_evasive20.c>
DOSHashTableSize 5012
DOSPageCount 20
DOSSiteCount 80
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10
DOSEmailNotify «[email protected]»
DOSSystemCommand «iptables -A INPUT -p tcp —dport 80 -s %s -j REJECT»
DOSWhiteList  127.0.0.* 192.168.0.*
</IfModule>

И перезапускаем Apache:

# invoke-rc.d apache2 restart