Облачный хостинг под 1С-Битрикс

Не мог я просто так уехать на отдых… Ну не мог… В мою голова закралась мысль — почему бы не попробовать перекинуть свои проекты на облачный хостинг. И не просто какой-то готовый вариант, а взять и арендовать «облачный сервер». Именно так называется эта услуга у компании, где я все это дело брал.

В качестве ОС я выбрал Debian 6.0. Некоторые вещи здесь не мои, брал на просторах интернета.

# apt-get update
# apt-get upgrade

Устанавливаем московский часовой пояс:

# rm /etc/localtime
# ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime

Устанавливаем Zend Server. Сначала указываем в файле /etc/apt/source.list откуда брать zend server, добавляем эту строчку:

# deb http://repos.zend.com/zend-server/deb server non-free

Добавляем ключ репозитория, обновляем и ставим:

# wget http://repos.zend.com/zend.key -O- |apt-key add -
# aptitude update
# apt-get install zend-base libapache2-mod-php-5.3-zend-server php-5.3-xmlrpc-zend-server php-5.3-optimizer-plus-zend-server php-5.3-zem-zend-server php-5.3-curl-zend-server php-5.3-data-cache-zend-server php-5.3-mbstring-zend-server php-5.3-mcrypt-zend-server php-5.3-memcache-zend-server php-5.3-mysql-zend-server php-5.3-mysqli-zend-server php-5.3-gd-zend-server php-5.3-ctype-zend-server php-5.3-json-zend-server php-5.3-dev-zend-server

Ставим сервер баз данных MySQL и phpmyadmin:

# apt-get install mysql-server phpmyadmin

При установке MySQL будет предложено ввести пароль администратора для пользователя root в mysql.

Далее, надо установить права на папку /var/www:

# chown root:www-data /var/www
# chmod 775 /var/www

Правим /etc/apache2/sites-enabled/000-default. Можно поправить ServerAdmin на существующий email администратора. Надо в секции указать, чтобы считывались файлы .htaccess:

AllowOverride All

Далее в файле /usr/local/zend/etc/php.ini делаем следующие изменения:

allow_call_time_pass_reference = On
realpath_cache_size = 4096K
display_errors = On
upload_max_filesize = 20M
date.timezone = "Europe/Moscow"

После этого перезагружаем apache:

# /etc/init.d/apache2 restart

MySQL — создание пользователя с необходимыми правами

CREATE DATABASE dbname;
GRANT SELECT,INSERT,UPDATE,DELETE,DROP,CREATE ON dbname.* TO 'user'@'localhost' IDENTIFIED BY 'password';

Если MySQL сервер не запускается и возникает следующая ошибка: InnoDB: Error: log file ./ib_logfile0 is of different size… — это означает, что лог файл уже был создан и его размер не соответствует заданному в my.cnf. Чтобы это исправить, надо просто остановить сервер MySQL и удалить файлы /var/lib/mysql/ib_logfile.

Теперь можно загружать 1с-битрикс на сервер. Я восстанавливал прежнюю версию. Позже я выложу свои конфиги для MySQL.
Кстати, без всяких работ по оптимизации, 1С-Битрикс версии Малый Бизнес, наполненный информацией, выдает рейтинг производительности 77.

ПодсистемаОценкаЭталонПримечание
Конфигурация77.1930 
Среднее время отклика0.01300.0330секунд
Процессор (CPU)11.19.0миллионов операций в секунду
Файловая система11 259.910 000файловых операций в секунду
Почтовая система0.00760.0100время отправки одного письма (в секундах)
Время старта сессии0.00010.0002секунд
Конфигурация PHPоптимальнооптимальнорекомендации
База данных MySQL (запись)6 6035 600количество запросов на запись в секунду
База данных MySQL (чтение)8 5157 800количество запросов на чтение в секунду
База данных MySQL (изменение)5 6725 800количество запросов на изменение в секунду

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

Если проект не особо посещаемый, то можно и, наверное, выгоднее размещать несколько проектов на простом хостинге. Как только проект становится высоконагруженным, простого хостинга будет недостаточно. Придется делать выбор между выделенным сервером и облачным хостингом (или облачным сервером, как в моем случае). Облачные архитектуры позволяют четко отслеживать то, сколько мощности нужно проекту, они легко масштабируемы и позволяют забыть о всяких проблемах недостатка производительности.

UPDATE. Чтобы заработала отправка писем, в Debian надо поставить sendmail.

# pkg-add install sendmail

2 комментария

    1. 1gb ram, 1 cpu core, 40gb hdd. какое конкретно железо используется в физических серверах, мне не известно

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *