• Быстрый переход
  • Рубрики
  • Свежие записи
  • Метки
  • Архивы
  • Реклама 1
  • Реклама 2
  • Рейтинг@Mail.ru

    Добро пожаловать! Ваш IP-адрес: ec2-54-224-18-114.compute-1.amazonaws.com

    Новости

    Установка MongoDB на Linux Debian

    MongoDB (от англ. humongous — огромный) — документо-ориентированная система управления базами данных (СУБД) с открытым исходным кодом, не требующая описания схемы таблиц. Написана на языке C++.

    MongoDB, по мнению разработчиков, должна заполнить разрыв между простыми хранилищами данных типа «ключ-значение» (быстрыми и легко масштабируемыми) и большими РСУБД (со структурными схемами и мощными запросами).

    Возможности MongoDB:

    Документо-ориентированное хранилище (простая и мощная JSON-подобная схема данных)
    Достаточно гибкий язык для формирования запросов
    Динамические запросы
    Полная поддержка индексов
    Профилирование запросов
    Быстрые обновления «на месте»
    Эффективное хранение двоичных данных больших объёмов, напр., фото и видео
    Журналирование операций, модифицирующих данные в БД
    Поддержка отказоустойчивости и масштабируемости: асинхронная репликация, набор реплик и шардинг
    Может работать в соответствии с парадигмой MapReduce

    MongoDB vs MySQL

    По многочисленным тестам производительности, которые можно найти на просторах интернета, были сделаны выводы, что главное преимущество MongoDB перед MySQL проявляется во время записи и обновления данных в БД, примерно превосходя MySQL в 1,5 раза.
    Во время чтения данных, мнения и тесты расходятся, особенно если учитывать нагрузку, объемы и т.д.

    Подробнее...

    Установка ElasticSearch на LInux Debian или Ubuntu

    Для начало нам нужно обновить список доступных пакетов

    # apt-get update

    Далее, мы должны установить среду выполнения Java. Есть два варианта здесь.

    Установите OpenJDK выполнения поставляемый Ubuntu.
    Установите Elasticsearch рекомендуется Java Runtime, Oracle Java.

    Первый вариант работает прекрасно, если вы просто хотите, чтобы поиграть и познакомиться с Elasticsearch или запустить небольшую коллекцию узлов.
    Последний вариант является одним путем Elasticsearch рекомендуется для гарантированной совместимости

    Начнем установку OpenJDK:

    # apt-get install openjdk-7-jre-headless -y

    Проверяем как установилось java:

    # java -version

    java version "1.7.0_45"
    Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
    Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)

    Все нармально!
    Далее ставим не посредственно Elasticsearch:

    Скачиваем с официального сайта deb пакет и устанавливаем

    # wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.0.1.deb
    sudo dpkg -i elasticsearch-1.0.1.deb


    Запускаем сервис:

    # service elasticsearch start
    [ ok ] elasticsearch is running

    Проверяем:
    #curl http://localhost:9200
    или в Вашем браузере http://ваш_ip:9200

    Сборка Nginx с модулями nginx-upload-module nginx-rtmp-module

    Для начало скачиваем последнюю стабильную версию nginx:

    wget http://nginx.org/download/nginx-1.4.6.tar.gz
    tar xzf nginx-1.4.6.tar.gz

    Далее с github скачиваем нужные нам модули:

    git clone https://github.com/yaoweibin/nginx_cross_origin_module.git
    git clone https://github.com/arut/nginx-rtmp-module.git
    git clone -b 2.2 git://github.com/vkholodkov/nginx-upload-module.git
    git clone https://github.com/masterzen/nginx-upload-progress-module.git

    Устонавливаем библиотеку libpcre3-dev:

     apt-get install libpcre3-dev

    после:

    cd nginx-1.4.6/

    конфигурируем:

    ./configure --add-module=../nginx-upload-module --add-module=../nginx-upload-progress-module --add-module=../nginx_cross_origin_module --add-module=../nginx-rtmp-module --prefix=/etc/nginx/ --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --user=nginx --group=nginx --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_mp4_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-file-aio

    принеобходимости можно еще добавить доболнительные параметры!

    make
    make install
    
    Проверяем что у нас получилось:
    root@root:~# nginx -V
    nginx version: nginx/1.4.6
    built by gcc 4.7.2 (Debian 4.7.2-5)
    TLS SNI support enabled
    configure arguments: --add-module=../nginx-upload-module --add-module=../nginx-upload-progress-module --add-module=../nginx_cross_origin_module --add-module=../nginx-rtmp-module --prefix=/etc/nginx/ --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --user=nginx --group=nginx --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_mp4_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-file-aio

    Как выключить или перезагрузить Windows через командную строку?

    Для перезагрузки через удаленный рабочий стол под Windows XP/Vista/7 можно выполнить команду: shutdown -t 0 -r -f Параметры: -t 0 означает перезагрузка в течении «ноль» секунд, -r перезагрузка а не выключение (reboot) -f завершает все запущенные приложения (force, форсированное выключение с принудительным завершением программ)

    Немедленная перезагрузка через командную строку:
    shutdown -r -t 0

    Немедленное выключение через командную строку:
    shutdown -s -t 0

    Ключи: Для перезагрузки/выключения компьютера с ОС Windows (9x, 2k, NT, XP)
    -i отображение графического интерфейса. При использовании этот ключ ставится впереди всех.
    -l выход из системы. Несовместима с ключом –m.
    -s выключение компьютера.
    -r перезагрузка компьютера.
    -a отмена выполнения перезагрузки/выключения.
    -m A применение операции к удаленному компьютеру с именем A.
    -t N таймер выполнения операции в N секунд.
    -c “T” комментарий к операции. При использовании в окне будет отображен комментарий T. В командной строке обязательно заключать его в двойные кавычки. Не должен быть длиннее 127 знаков.
    -f Принудительное завершение работы приложений без предварительного предупреждения.
    -d [u] [p]:xx:yy Код причины.
    u – пользовательский код.
    p – запланированное завершение.
    xx – основной код причины (1-255).
    yy – дополнительный код причины (1-65535)

    Как создать (виртуальный диск) ramdisk Linux?

    Бывают задачи, когда нужно работать с большим количеством мелких файлов и делать это по возможности быстро, без завязок на медленную файловую подсистему.

    Собственно, в ядре должна быть поддержка tmpfs, и если вы (или авторы вашего дистрибутива) не любители усложнять себе жизнь, она там должна быть.
    Создаём новую точку монтирования:

    # mkdir /mnt/tmpfs/
    # chmod 777 /mnt/tmpfs/

    и даём все права на использование. После этого даём команду (от рута или через sudo):
    # mount -t tmpfs -o size=xxxM tmpfs /mnt/tmpfs/
    или
    $ sudo mount -t tmpfs -o size=xxxM tmpfs /mnt/tmpfs/
    где xxxM есть размер RAMdisk в Мегабайтах.
    Будьте осторожны и не размахивайтесь слишком широко: если вы попросите создать ramdisk больше, чем имеете оперативной памяти, система начнёт сгружать всё в swap-файл и дела пойдут очень медленно и грустно.

    Если же вы хотите изменить размер ramdisk - это просто:
    # mount -o remount -o size=yyyM /mnt/tmpfs/
    или
    $ sudo mount -o remount -o size=yyyM /mnt/tmpfs/
    При этом содержимое диска не пропадёт, но его размер тут же увеличится (при уменьшении также ничего не пропадёт, если только данных не больше, чем диск).

    Добавление программ в автозапуск в Linux Debian

    В данном примере описывается как добавить в автозагрузку nginx? По аналогии добавляем и другие программы!
    Для начало нужно задать права на исполнение файла
    # chmod +x /etc/init.d/nginx
    После заносим в автозагрузку:
    # /usr/sbin/update-rc.d -f nginx defaults

    Обновление Linux Debian 6 до Linux Debian 7

    Изменяем файл источников пакетов sources.list
    # vi /etc/apt/sources.list

    deb http://ftp.us.debian.org/debian/ wheezy main
    deb-src http://ftp.us.debian.org/debian/ wheezy main

    deb http://security.debian.org/ wheezy/updates main
    deb-src http://security.debian.org/ wheezy/updates main

    deb http://ftp.us.debian.org/debian/ wheezy-updates main
    deb-src http://ftp.us.debian.org/debian/ wheezy-updates main


    Обновляем пакеты
    # apt-get update
    # apt-get upgrade

    Во время обновления, подтвердим перезапуск сервисов
    Restart services during package upgrades without asking

    Обновляем систему
    # apt-get dist-upgrade

    Перезапускаемся и проверяем релиз и ядро
    # init 6
    # more /etc/issue
    Debian GNU/Linux 7.0 \n \l

    # uname -r
    3.2.0-4-686-pae

    Nginx большие cookies и ошибка сервера 400 Bad Request

    Не давно наткнулся на такую проблему. Нужно было просмотреть превью (Preview), на вордпрессе, в котором был относительно большой объем информации, который необходимо хранить в куках. После чего я получаю ошибка сервера 400 Bad Request
    Как оказывается, при увеличении размеров cookie, заголовок запроса клиента не уместился в буфер для чтения, размер которого у nginx’а по умолчанию составляет 1K.

    Директива: client_header_buffer_size
    синтаксис: client_header_buffer_size размер;
    умолчание: client_header_buffer_size 1k;
    контекст: http, server

    Задаёт размер буфера для чтения заголовка запроса клиента. Для большинства запросов достаточно буфера размером в 1K байт. Однако если в запросе есть длинные cookies, или же запрос пришёл от WAP-клиента, то он может не поместиться в 1K. Поэтому, если строка запроса или поле заголовка запроса не помещаются полностью в этот буфер, то выделяются буферы большего размера, задаваемые директивой large_client_header_buffers.

    Директива: large_client_header_buffers
    синтаксис: large_client_header_buffers число размер;
    умолчание: large_client_header_buffer 4 8k;
    контекст: http, server

    Задаёт максимальное число и размер буферов для чтения большого заголовка запроса клиента. Строка запроса не должна превышать размера одного буфера, иначе клиенту возвращается ошибка 414 (Request-URI Too Large). Поле заголовка запроса также не должно превышать размера одного буфера, иначе клиенту возвращается ошибка 400 (Bad Request). Буферы выделяются только по мере необходимости. По умолчанию размер одного буфера равен 8K байт. Если по окончании обработки запроса соединение переходит в состояние keep-alive, эти буферы освобождаются.
    Поэтому, при возникновении 400 ошибки предположительно по описанной причине, увеличиваем буферы чтения (значения подбираются по необходимости). Напр:

    server {
    ...
    client_header_buffer_size 4k;
    large_client_header_buffers 8 16k;
    ...
    }

    Также возможно понадобится отредактировать директивы proxy_buffers и proxy_buffer_size

    Автоматическая сборка мусора (Automatic Vacuuming) в PostgreSQL

    Синтаксис VACUUM:
    VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] [ table ]
    VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] ANALYZE [ table [ (column [, ...] ) ] ]

    Синтаксис ANALYZE:
    ANALYZE [ VERBOSE ] [ table [ ( column [, ...] ) ] ]

    Кроме сборки мусора (VACUUM) производится ещё и анализ (ANALYZE). Периодическое выполнение команды ANALYZE необходимо для нормального функционирования планировщика. Собранная с помощью этой команды статистика позволяет значительно ускорить выполнение SQL- запросов. То есть, если не хочется настраивать автоматическую сборку мусора, то в любом случае её придётся делать только теперь в ручную. Процесс обычной сборки мусора в PostgreSQL (VACUUM без приставки FULL) не блокирует таблиц и может выполняться в фоне, не мешая выполнению запросов. Регулярное исполнение команд VACUUM и ANALYZE обязательно. Это необходимо по той причине, что иначе не получится заново использовать дисковое пространство, которое занимают ранее удалённые или изменённые строки и не удастся обновить статистику для планировщика запросов. И то и другое отрицательно сказывается на эффективности использования ресурсов и производительности запросов. Начиная с версии PostgreSQL 8.1 сервер может самостоятельно автоматически запускать ещё один системный процесс, который, соответственно, так и называется autovacuum daemon. Все настройки для этого процесса хранятся в postgresql.conf. К значениям этих параметров следует отнестись крайне внимательно. Если по каким-то причинам демон было решено не запускать, то в любом случае необходимо производить сборку мусора и набор статистики в ручную.

    Основным средством физического и аналитического сопровождения баз данных в PostgreSQL является команда SQL VACUUM и ее аналог — сценарий vacuumdb. Оба средства выполняют две общие функции:
    1.удаление всех данных, оставшихся в результате отмены транзакций и других операций, оставляющих временные данные;
    2.анализ операций с базами данных, по результатам которого PostgreSQL конструирует более эффективные запросы.

    Подробнее...

    Как перезапустить IIS через cmd?

    Возможно, вам придется перезапустить Internet Information Services (IIS) перед определенные изменения конфигурации, или когда приложения становятся недоступными или подвисшим. Часто первым шагом в устранении неполадок с вашего сайта следует перезагрузить IIS. Для этого мы должны отсановить IIS.
    1. Идем в Start menu (Пуск), кликаем Run (Выполнить).
    2. Далее прописываем cmd и нажимает enter(ввод), перед Вами появится черный экран!
    3. В командной строке введите IISRESET /stop . IIS попытается остановить работу всех служб и вернется подтверждение, когда все процессы были прекращены.

    Как перезапустить IIS через cmd?

    Как перезапустить IIS через cmd?

    4. Делле запускаем IIS обратно! IISRESET /start

    Как перезапустить IIS через cmd?

    Как перезапустить IIS через cmd?