Showing posts with label deployment. Show all posts
Showing posts with label deployment. Show all posts

Apr 16, 2012

Oct 10, 2011

Проверка состояния сервера и перезапуск в случае необходимости

Можно воспользоваться Supervisor или чем-то подобным, но для небольших проектов достаточно crontab:
crontab -e
Например, для проверки memcached каждую минуту:
*/1     *       *       *       *       netstat -ln | grep ":11211 " | wc -l | awk '{if ($1 == 0) system("/etc/init.d/memcached start") }'

Sep 23, 2011

django_graceful

django_graceful - Плавный перезапуск FastCGI-процессов

Его идея проста: настройки FastCGI хранятся в файле settings.py, а для управления FastCGI-процессами используются простые команды из manage.py. Эти команды поддерживают несколько параллельно запущенных экземпляров FastCGI-сервера и позволяют переключать веб-сервер между ними с помощью символической ссылки на файл unix-socket-а, то есть без перезапуска веб-сервера.

Sep 20, 2011

Git housekeeping

git fsck # Verifies the connectivity and validity of the objects in the database
git prune # Prune all unreachable objects from the object database
git gc # Cleanup unnecessary files and optimize the local repository
git pack # Pack unpacked objects in a repository
git prune-packed # Remove extra objects that are already in pack files

Jul 28, 2011

Управление пакетами в Debian

Список всех установленных пакетов

dpkg --get-selections

Информация о пакете

apt-cache showpkg nginx
Информация об установленном пакете:
dpkg -s apache2.2-common
Cписок файлов (включая директории), инсталлированных в составе пакета:
dpkg -L apache2.2-common
В каком пакете содержится файл:
dpkg -S /lib/libparted-1.8.so.12

Обновление системы

apt-get update  # синхронизация информации из локальной базы данных с источниками, указанными в /etc/apt/sources.list
apt-get -u upgrade
apt-get dist-upgrade

Удаление пакета и всех зависимостей

$ sudo apt-get autoremove gcl

Изменение конфигурации пакетов

Система APT содержит функцию с именем debconf, которая используется для настройки пакетов после их инсталляции. Пакеты, поддерживающие эту функцию (а поддерживают ее не все пакеты), можно заново конфигурировать после их инсталляции. Самый простой способ сделать это – использовать команду dpkg-reconfigure.
# Локаль
locale-gen en_US en_US.UTF-8
dpkg-reconfigure locales
# Часовой пояс
dpkg-reconfigure tzdata

Jun 20, 2011

Bare git

# на сервере
cd ~/
mkdir someproject.git
cd someproject.git
git init --bare ### old version is ### git init-db

# у себя (в директории с сырцами)
git remote add hosting ssh://someusername@somedomain.com:2200/home/someproject.git
git push hosting master

# снова на сервере
$ cd ~/
$ git clone ~/someproject.git

# создание бранча
git checkout -b somebranchname --track hosting/somebranchname