Архивы: apache2

apache выдаёт ошибку

[crit] (28)No space left on device: mod_rewrite: could not create rewrite_log_lock

На что помогла уличная консольная магия

ipcs -s | grep www | perl -e 'while (<STDIN>) { @a=split(/\s+/);
print <code>ipcrm sem $a[1]</code>}'

Где www это имя пользователя от которого работает Apache
У меня это www-data

Дружим nginx + ssl

Понадобилось к одному из сайтов прикрутить ssl
Напомню, что nginx у меня выступает как фронт-энд к Apache2
чтоб в дальнейшем было меньше проблем, при отказе от apache2 доверим шифрование nginx

Для этого создаём конфигурационный файл

touch /etc/nginx/ssl.conf

Добавляем в него содержимое

# Подключение самоподписанного сертификата
# генерация сертификата:
# openssl req -new -x509 -days 9999 -nodes -out cert.pem -keyout cert.key

ssl         on;
ssl_protocols       SSLv3 TLSv1;
ssl_certificate     /etc/nginx/ssl/cert.pem;
ssl_certificate_key /etc/nginx/ssl/cert.key;

Создадим папку где будем хранить сертификаты:

mkdir /etc/nginx/ssl

Для большей безопасности ограничиваем доступ к сертификатам:

chown www-data:www-data /etc/nginx/ssl
chmod 700 /etc/nginx/ssl

Перейдем в эту папку и с генерируем сертификат:

cd /etc/nginx/ssl
openssl req -new -x509 -days 9999 -nodes -out cert.pem -keyout cert.key

При генерации вас попросят указать некоторые данные, заполнять не обязательно но желательно.

Теперь добавим в конфигурацию Виртального хоста в секцию server

        listen          443;       # порт https
        include /etc/nginx/ssl.conf; # подключение конфигурации ssl

Дальше для примера привожу итоговый вариант файла конфигурации.

server {
listen 80;
listen 443;
server_name domen.ru www.domen.ru;
include /etc/nginx/ssl.conf; # подключение конфигурации ssl

access_log /var/log/nginx/domen.ru/access.log;

location / {
proxy_pass http://127.0.0.1:8086/;
proxy_redirect off;
proxy_set_header Host $host;
.............
............
..........

проверяем

nginx -t

Если всё Ok то перезапускаем nginx и радуемся

Утечка в apache?

Гляжу я в монитор ресурсов, и тут понимаю, что всего процессов в системе более 600!

Процессы в системе????

Ну и думаю огого, зачем мне столько?
Идут торможу все демоны, а процессы то не убывают

ps -A

Выводит 100500 процессов apache2, ну вот родной… я деаю
/etc/init.d/apache2 stop
Он говорит, что нет апача все остановлены уже…
утилита killall никак не хотела мне помогать.
пришлось более тяжёлую артерию пускать
If the above command returns anything, do:

sudo pkill -9 apache

И запускаем снова..

sudo /etc/init.d/apache2 start

После чего число процессов упало до 130

также, я недавно обратил внимание, что на сервере слишком много открытых файлов.

Число открытых файлов linux
Сейчас

# lsof | wc -l
5379

А вот сколько было до этого, и это только апачем

 lsof | grep apache2 | wc -l
79203

также очистился весь swap раздел, было занято 6 гигабайт, стало 79 мегабайт.

это хорошо, очень даже. учитывая uptime системы в 480 дней…

    http://my.jetscreenshot.com/2356/20101002-mch2-12kb.jpg

зешьuptime