Архитектура системы VPS под «1С-Битрикс»
Система обслуживания WEB-запросов построена на базе двухуровневой архитектуры WEB-сервера: frontend и backend-сервер. В роли frontend-сервера используется прокси-сервер nginx, выполняющий акселерированное проксирование без кэширования статических объектов. В качестве backend-сервера — более функциональный и ресурсоёмкий Apache. Достаточно подробно схема двухуровневой модели WEB-сервера описана Сергеем Рыжиковым в рамках учебных курсов по настройке WEB-систем для работы с CMS «1С-Битрикс», и в контексте данного документа обсуждаться не будет. Следует отметить то, что статические объекты в нашем случае отдаются напрямую с диска средствами акселератора, минуя проксирование на backend.
Акселератор
Nginx является высокопроизводительным реверс-прокси HTTP-сервером, способным обслуживать несколько тысяч одновременных соединений, потребляя при этом минимум серверных ресурсов — на обработку одного проксированного HTTP-запроса nginx использует минимально необходимое количество системных вызовов и операций.
Конфигурационные файлы сервера находятся в /etc/nginx/conf:
- nginx.conf — основной файл конфигурации, конфигурация главного сервера, а также включение конфигураций обслуживаемых виртуальных хостов.
-
vhosts/*.conf;
Файл vhosts/vhost.sample содержит рекомендуемый шаблон контейнера добавляемого виртуального хоста.
Существует внутренний виртуальный хост, необходимый для снятия статистических данных с акселератора. Он использует адрес 127.0.0.254 и описывается он в файле vhosts/nginx-rrd.conf. Обращения к нему осуществляются ежеминутно скриптом. Доступна статистика сервера в виде графиков по адресу
http://vXXXX.vps.masterhost.tech/stat/
где XXXX — номер вашей VPS.
Внимание. На эту локацию установлен авторизованный доступ!
- Логин: admin
-
Пароль: setup
Советуем сменить пароль для этого пользователя. Это делается следующим образом:
# /usr/bin/htpasswd /etc/httpd/.secure/.htpasswd admin New password: Re-type new password: Updating password for user admin
Графики строятся скриптом /usr/local/nginx/bin/nginx-rrd.pl (скрипт стороннего производителя).
Управление сервисом:
# /sbin/service nginx start
Starting nginx: [ OK ]
# /sbin/service nginx restart
Stopping nginx: [ OK ]
Starting nginx: [ OK ]
# /sbin/service nginx stop
Stopping nginx: [ OK ]
Основной WEB-сервер
Обработку программных сценариев осуществляет наиболее популярный WEB-сервер Apache. Конфигурация сервера находится в /etc/httpd/conf:
- httpd.conf — основной файл конфигурации;
- httpd.conf.orig — резервный файл конфигурации, необходим на случай изменения предыдущего;
- vhosts/*.conf — хранилище конфигураций виртуальных хостов, vhost.conf.sample — рекомендуемый шаблон составления конфигурации виртуального хоста;
Существует локация http://vXXXX.vps.masterhost.tech/status/, где можно посмотреть статус WEB-сервера.
Внимание. На эту локацию установлен авторизованный доступ, если вы ещё не сменили реквизиты доступа к локации, то они совпадают с начальными установками:
- Логин: admin
- Пароль: setup
Управление сервисом:
# /sbin/service httpd start
Starting httpd: [ OK ]
# /sbin/service httpd restart
Stopping httpd: [ OK ]
Starting httpd: [ OK ]
# /sbin/service httpd stop
Stopping httpd: [ OK ]
FTP-сервер
На сервере установлен proftpd в качестве FTP-сервера. Обычно, никаких настроек в конфигурацию вносить не требуется, авторизация пользователей осуществляется по системному файлу паролей и пользователи системы автоматически получают доступ по FTP в свою домашнюю директорию при заведении в системе.
XFerLog - /var/log/proftpd/xferlog
Запуск и остановка сервиса осуществляется средствами суперсервера по требованию.
MySQL-сервер
Установленный на сервере сервис MySQL версии 5.x.xx поддерживает тип таблиц InnoDB, горячо рекомендуемый разработчиками «1С-Битрикс» в качестве движка баз данных.
Основной конфигурационный файл сервера: /etc/my.cnf, лог состояния сервера и ошибок: /var/log/mysqld.log, файлы баз данных хранятся в директории /var/lib/mysql.
По умолчанию сервер ожидает соединения на все активные адреса на интерфейсе по стандартному порту 3306. Для пользователя root установлен беспарольный доступ к серверу по сокету /var/tmp/mysql.sock, т.о. для доступа на MySQL-сервер достаточно зайти на сервер под пользователем root и запустить MySQL-клиента.
Пароль для доступа в MySQL можно взять из файла /root/.mysql
[root@vXXXX ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.x.xx Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
Управление сервисом:
# /sbin/service mysqld start
Starting MySQL: [ OK ]
# /sbin/service mysqld restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]
# /sbin/service mysqld stop
Stopping MySQL: [ OK ]
Для удобства администрирования сервера MySQL, установлен интерфейс phpMyAdmin, доступный по адресу вида
http://vXXXX.vps.masterhost.tech/phpmyadmin/
Обратите внимание, что для доступ к серверу для пользователя root через web-интерфейс phpMyAdmin нужно использовать пароль из файла /root/.mysql
Логи сервера
Почти каждый сервис VPS отражает ту или иную информацию в лог файлах. В настроенном VPS вращение системных логов осуществляется системной утилитой logrotate. Как правило, вносить изменения в конфигурацию системы вращения логов не требуется. Все логи хранятся в директории /var/log:
# ls -lh /var/log
...
httpd
nginx
proftpd
...