среда, 11 ноября 2009 г.
Yota резервный канал в инет на ubuntu server
Используем Samsung U200 Wimax
Настройка WiMax
http://forum.ubuntu.ru/index.php?topic=43974.105
http://peter.infosreda.com/ru/projects
Автоматом переключаем на резервный канал при падении основного
http://www.gentoo.ru/node/12621
воскресенье, 18 октября 2009 г.
MySQL при малом объеме озу
Всем привет!
Сегодня я решил написать статью про оптимизацию MySQL 5.x для запуска и работы в условиях малого объёма ОЗУ
Проблема стоит особенно остро на VDS/VPSсерверах, так как там ОЗУ очень немного.
Конкретно в моём случае я довольствуюсь лишь 64Мб и без дополнительного тюнинга MySQL отказался запускаться вообще.
Почитав некоторое количество форумов, блогов и мануалов я вывел самый минимальный конфиг, при котором MySQL может работать.
Вот он:
- # Main MySQL server options
- [mysqld]
- port = 3306
- socket = /var/run/mysqld/mysqld.sock
- # No locking at all!
- skip-locking
- # Set internal buffers, caches and stacks very low
- key_buffer = 16K
- max_allowed_packet = 16K
- table_cache = 1
- sort_buffer_size = 16K
- read_buffer_size = 16K
- read_rnd_buffer_size = 1K
- net_buffer_length = 1K
- thread_stack = 16K
- # Don’t listen on a TCP/IP port at all.
- # Will still work provided all access is done via localhost
- skip-networking
- server-id = 1
- # Skip Berkley and Inno DB types
- skip-bdb
- skip-innodb
- # Set the query cache low
- query_cache_limit = 1048576
- query_cache_size = 1048576
- query_cache_type = 1
- # Set various memory limits very low, disable memory-hogging extras
- [mysqldump]
- quick
- max_allowed_packet = 16K
- [mysql]
- no-auto-rehash
- [isamchk]
- key_buffer = 16K
- sort_buffer_size = 16K
- [myisamchk]
- key_buffer = 16K
- sort_buffer_size = 16K
- [mysqlhotcopy]
- interactive-timeout
Именно с ним мне получилось первый раз удачно стартовать MySQL.
Посмотрев результат и оценив расход ОЗУ я решил расщедриться и увеличить кэш, заодно и пометь некоторые параметры.
Вот что у меня получилось в итоге:
Пока что пользуюсь без проблем этим конфигом, при моих ресурсах ОЗУ он вполне меня устраивает.
- [mysqld]
- datadir=/var/lib/mysql
- socket=/tmp/mysql/mysql.sock
- user=mysql
- port = 3306
- bind-address = 127.0.0.1
- # No locking at all!
- skip-locking
- # Set internal buffers, caches and stacks very low
- key_buffer = 16K
- max_allowed_packet = 16K
- table_cache = 1
- sort_buffer_size = 16K
- read_buffer_size = 16K
- read_rnd_buffer_size = 1K
- net_buffer_length = 1K
- thread_stack = 16K
- # Don’t listen on a TCP/IP port at all.
- # Will still work provided all access is done via localhost
- skip-networking
- server-id = 1
- # Skip Berkley and Inno DB types
- skip-bdb
- skip-innodb
- # Set the query cache low
- query_cache_limit = 500K
- query_cache_size = 3M
- query_cache_type = 1
- # Set various memory limits very low, disable memory-hogging extras
- [mysqldump]
- quick
- max_allowed_packet = 16K
- [mysql]
- no-auto-rehash
- [isamchk]
- key_buffer = 16K
- sort_buffer_size = 16K
- [myisamchk]
- key_buffer = 16K
- sort_buffer_size = 16K
- [mysqlhotcopy]
- interactive-timeout
Все опции прокомментированы прямо в конфиге и очень понятны.
вторник, 7 июля 2009 г.
irb readline support on Leopard
Written March 22, 2008 at 22:40 CET. Tagged Ruby and OS X.
The irb (Interactive Ruby) that ships with OS X Leopard does not have readline support. Instead it uses libedit.
This means that things like ⌃R for reverse history search don't work. More importantly to me, you can't use non-ASCII characters like Swedish "å", "ä" and "ö".
Compiling your own Ruby (with readline) is one solution. If you just want ctrl+R, macosxhints has another.
The solution I'm currently using is the work of jptix, a regular on the ##textmate IRC channel. He asked me to blog about it, so here it is.
Используем Google maps Directions
+ смотри plugin ym4r-gm
среда, 24 июня 2009 г.
Обновляем Ruby on rails на Leopard 10.5.6
gem outdate
sudo gem update --system
sudo gem update
если нужно ставим mysql и соответственно ставим гем
sudo env ARCHFLAG="=arch i386" gem install mysql --\--with-mysql-include=/usr/local/mysql/include \--with-mysql-lib=/usr/local/mysql/libдля sqlite3
sudo env ARCHFLAGS="-arch i386" gem install sqlite3-ruby
понедельник, 8 июня 2009 г.
Менеждер обновлений в Ubuntu 9.04 и его раздражающее поведение
В прошлый раз мы остановились на том, что после установки системы сразу же появилось свернутое окно менеджера обновлений. Именно о его поведении и пойдёт речь в этой статье.
Не знаю из каких соображений, но способ уведомлений о доступных обновлениях системы в 9.04 был изменён. По-умолчанию, раз в неделю проверяются обновления, и если такие есть, то внезапно появляется окно со списком этих пакетов. Не знаю как вас, а меня это сильно раздражает.
К счастью есть возможность вернуть способ уведомления об обновлениях так, как это происходило в 8.10 или 8.04 (на панели просто появлялся желтый значок, сообщающий об обновлениях программ).
Всё что для этого нужно, это программа Терминал и пару команд. Только не нужно пугаться и убегать. Это можно сделать и через графическую систему, но через Терминал намного быстрее.
Запускаем Терминал:
Эта команда как раз и отключает внезапное появление окна со списком доступных обновлений (просто скопируйте эту команду в Терминал и нажмите Enter):
gconftool -s --type bool /apps/update-notifier/auto_launch false
На этом можно было бы и остановиться, но есть ещё парочка полезных опций, включать их или нет – решать Вам.
Следующая команда задаёт интервал проверки доступных обновлений. По-умолчанию он равен 7 дней, мы же поставим 1 день (просто скопируйте эту команду в Терминал и нажмите Enter):
gconftool -s --type int /apps/update-notifier/regular_auto_launch_interval 1
И ещё одна полезная опция, которая будет отображать с какой и на какую версию будут обновлены пакеты (просто скопируйте эту команду в Терминал и нажмите Enter):
gconftool -s --type bool /apps/update-manager/show_versions true
У меня это выглядит так:
После чего можно закрыть Терминал и продолжить работу. Через некоторое время в панели задач появится значок, сообщающий о наличии уведомлений.
Для чистоты эксперимента я перезагружу Ubuntu (хотя это делать не обязательно, это не Windows).
После загрузки системы и прошествии нескольких минут, на панели возле часов появился значок, показывающий о наличии обновлений. Никаких внезапно появляющихся окон. Что и требовалось показать:
Значок – красный, а не жёлтый – т.к. имеются критические обновления системы
Если щелкнуть по этому значку левой кнопкой мыши, то появиться окно со списком доступных обновлений:
Рассмотрим, например, пакет apport-gtk:
Видите подпись под пакетом?:
С версии … на … (Размер: …)
Именно для отображения этой информации и вводилась последняя команда в терминале. Иногда эта информация бывает полезной.
Надеюсь эта статья будет полезной для вас. До встречи!
пятница, 29 мая 2009 г.
Ruby → Настрой собственный VPS в течение обеденного перерыва!
обозначу несколько принципиальных вещей:
1) системное администрирование -- в 80% случаев -- тривиальные задачи,
ответ на которые ждут вас на первой странице поисковой системы
2) настройка удаленного сервера принципиально ничем не отличается от
конфигурирования рабочей станции. настраивать последюнюю приходится
каждому из нас, согласитесь -- занятие приятное и довольно простое
3) благодаря высокой популярности vps, вероятность того, что вы
окажетесь в тупике по любому вопросу -- ничтожна мала
sudo apt-get -y install build-essential libssl-dev libreadline5-dev
zlib1g-dev vim wget curl
sudo apt-get -y install mysql-server libmysqlclient15-dev mysql-client
adduser demo
visudo (demo ALL=(ALL) ALL)
---SSH (local pc)------------
mkdir ~/.ssh
ssh-keygen -t rsa
scp ~/.ssh/id_rsa.pub d...@12.12.12.12:~
---SSH (remote pc)-----------
mkdir /home/demo/.ssh
mv /home/demo/id_rsa.pub /home/demo/.ssh/authorized_keys
chown -R demo:demo /home/demo/.ssh
chmod 700 /home/demo/.ssh
chmod 600 /home/demo/.ssh/authorized_keys
---locales-----------------------
sudo locale-gen en_GB.UTF-8
sudo /usr/sbin/update-locale LANG=en_GB.UTF-8
---Ruby ----Passenger------------
mkdir ~/temp && cd ~/temp
wget rubyforge.org/frs/download.php/57097/ruby-
enterprise-1.8.6-20090520.tar.gz
tar xzvf ruby-enterprise-1.8.6-20090520.tar.gz
sudo ./ruby-enterprise-1.8.6-20090520/installer
export PATH=/opt/ruby-enterprise-1.8.6-20090520/bin:$PATH
sudo /opt/ruby_ee/bin/passenger-install-nginx-module
---Nginx-------------------------
sudo useradd -s /sbin/nologin -r www-data
sudo usermod -a -G www-data demo
mkdir ~/public_html
mkdir ~/public_html/01_project
sudo su
chgrp -R www-data ~/public_html/
chmod -R 2750 ~/public_html/
mkdir /opt/nginx/sites-available
mkdir /opt/nginx/sites-enabled
wget railsgeek.com/vps/vhost01 -P /opt/nginx/sites-available
ln -s /opt/nginx/sites-available/vhost01 /opt/nginx/sites-enabled
wget railsgeek.com/vps/nginx.conf -P /opt/nginx/conf
wget railsgeek.com/vps/nginx -P /etc/init.d
chmod +x /etc/init.d/nginx
/etc/init.d/nginx start
http://habrahabr.ru/blogs/ruby/60676/