Какое программное обеспечение используется на Losst

Linux уже давно захватил огромную часть рынка информационных технологий, большинство серверов работают под Linux, все суперкомпьютеры используют Linux, большинство планшетов и смартфонов используют Android, который, по сути, тоже является системой семейства Linux. Losst - сайт про Linux и свободное программное обеспечение, а поэтому для обеспечения его работы используется только свободное ПО.

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

Какое программное обеспечение используется на Losst

1. Система виртуализации - XEN

Как и большинство современных сайтов Losst расположен на VPS сервисе. В качестве системы виртуализации используется XEN-PV. В сторону OpenVZ я вообще смотреть не рекомендую, так как там вы получаете только контейнер и не можете полностью контролировать свою операционную систему. Виртуализация KVM уже лучше, модуль виртуализации работает на уровне ядра, и вы можете контролировать свою ОС, для виртуализации аппаратных устройств используется Qemu. Но здесь минус в том, что возможен оверселлинг. В Xen оверселлинг реализуется сложнее, а технология паравиртуализации XEN-PV дает производительность схожую с реальным железом.

2. Операционная система - CentOS 7

В качестве операционной системы используется CentOS 7. Я выбрал эту ОС из-за длительного строка поддержки и постоянных обновлений. Если обновить Ubuntu 16.04 до LTS на сервере может вызвать определенные проблемы, то CentOS в рамках седьмой версии (на данный момент самой свежей) обновляется штатным пакетным менеджером без возникновения каких-либо проблем. Например, не так давно вышла новая версия Red Hat 7.4 и через несколько месяцев CentOS прозрачно обновилась до этой версии и получила новый Nginx с поддержкой ALPN, PHP 7 и другие улучшения. А поскольку система создана на основе корпоративной Red hat, то она очень стабильна.

3. Панель управления - VestaCP

Конечно, можно настроить сервер без всяких панелей управления, но на это нужно много времени, которое не всегда есть. Поэтому я использую панель управления с открытым исходным кодом - VestaCP. Некоторое время назад я использовал ISPManager и могу сказать что по субъективным ощущениям Vesta намного лучше. Красивый интерфейс, интуитивно понятное расположение функций, легкое управление пользователями, возможность настраивать шаблоны конфигурации по своему усмотрению, создание домена в несколько кликов, настройка Cron и веб-интерфейса и просмотр статистики. Отличная панель, если вы еще не использовали ее - рекомендую.

4. Веб-сервер - Nginx

Высокопроизводительный веб-сервер, который может выдерживать большие нагрузки благодаря своей оптимизированности под HighLoad. До перехода на использование HTTPS я использовал Apache, но потом нагрузка на сервер значительно выросла и мне пришлось искать более производительное решение. На данный момент Nginx отлично справляется со своей задачей. Сам Nginx может отдавать хоть 10 000 страниц в секунду, но узким местом здесь является PHP. Чтобы хоть как-то решить эту проблему используется fastcgi кэш для скриптов.

5. Интерпретатор скриптов - PHP 7

Основная часть сайтов сейчас написана на PHP и это нормально, так как php - самый популярный язык программирования для веб. Я использую php-fpm в связке с Nginx, это оптимальное решение. Я выбрал именно PHP 7 потому что по многим тестам его производительность немного выше чем у предыдущих версий. Также для ускорения выполнения php кода используется кэш opcache.

6. Безопасность - Lets Encrypt

Весь интернет медленно, но уверено переходит на безопасный протокол HTTPS, и хотя на этом сайте нечего перехватывать, мы тоже используем этот протокол, потому что это дает преимущества в поиске, более быструю загрузку и гарантию того, что в будущем браузеры не будут называть сайт небезопасным. Бесплатный сертификат от Lets Encrypt удовлетворяет все требования. Продление работает автоматически с помощью VestaCP.

7. Почтовый сервер - Postfix

Для отправки почты с сайта и приема почтовых сообщений для домена используется почтовый сервер Postfix. Я не выбирал этот сервер, он был автоматически установлен в VestaCP и отлично справляется со своей задачей.

8. Почтовый интерфейс - Roundcube

Чтобы иметь возможность читать письма, которые приходят на адреса из домена @losst.ru я использую веб-интерфейс почты roundcube. Интерфейс достаточно простой и в то же время удобный. Есть все необходимые возможности - выделение сообщений, удаление, отметка важных сообщений, сортировка по папкам и многое другое.

9. СУБД - MariaDB

Ни один современный динамический сайт не работает без системы управления базами данных. На Losst используется СУБД MariaDB - эта СУБД разработана создателем MySQL после перехода последней в собственность Oracle. Эта база данных имеет все возможности MySQL, более высокую производительность, а также огромное сообщество разработчиков. Обновления для MariaDB выходят быстрее чем MySQL, а также разработка ведется более активно.

10. Резервное копирование - automysqlbackup

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

11. Система мониторинга - zabbix

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

12. Система управления контентом - WordPress

WordPress - одна из самых популярных систем управления контентом в мире, она имеет огромное количество возможностей и огромное количество плагинов, созданных сторонними разработчиками. Да WordPress не идеален. Без кэширования он очень медленный и еще имеет кучу проблем. Но разрабатывать собственную CMS тоже не вариант, поскольку это занимает очень много времени и у вас просто не будет времени наполнять сайт контентом и думать о других вещах. Я знаю о чем говорю, несколько лет назад я уже пытался создать CMS на PHP, исходники до сих пор где-то лежат на GitHub, из того проекта ничего не вышло. В итоге либо вы делаете CMS, либо сайт, все вместе делать не получиться.

Выводы

В этой статье мы рассмотрели какое программное обеспечение используется для работы Losst. На момент написания статьи - все основные используемые программы распространяются с открытым исходным кодом. Конечно, есть плагины для WordPress, которые имеют закрытую лицензию, но это уже необходимость. А какое программное обеспечение используете вы на своих серверах? Напишите в комментариях!

12 комментариев

  1. Oleg Февраль 12, 2018 Ответить
  2. Александр Февраль 12, 2018 Ответить
  3. Dmitry Февраль 12, 2018 Ответить
  4. Олег Февраль 13, 2018 Ответить
  5. Hvost Февраль 13, 2018 Ответить
  6. Also Февраль 13, 2018 Ответить
  7. Also Февраль 13, 2018 Ответить
    • admin Февраль 15, 2018 Ответить
      • Also Февраль 17, 2018 Ответить
  8. alex2018 Февраль 15, 2018 Ответить
    • Alpha Март 7, 2018 Ответить
      • jzyken Сентябрь 6, 2018 Ответить

Ответить

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: