Linux уже давно захватил огромную часть рынка информационных технологий, большинство серверов работают под Linux, все суперкомпьютеры используют Linux, большинство планшетов и смартфонов используют Android, который, по сути, тоже является системой семейства Linux. Losst - сайт про Linux и свободное программное обеспечение, а поэтому для обеспечения его работы используется только свободное ПО.
В этой небольшой заметке мы рассмотрим какие программные решения используются для поддержания работы losst.pro, почему была выбрана та или иная программа и чем она лучше других. Ведь все это и есть 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.pro я использую веб-интерфейс почты 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, которые имеют закрытую лицензию, но это уже необходимость. А какое программное обеспечение используете вы на своих серверах? Напишите в комментариях!
каждый второй сервер такое ПО использует ) центось лучший выбор для веб-сервера. а вот на десктопе ее не следует использовать.
ps: а от последней выявленной уязвимости свой WordPress автор защитил?
ОС - Ubuntu basic server, в качестве основного софта: juju, maas, lxc, opennebula, nfs.
И всякое-разное на ВМ.
```ода копия недельной давности```
У вас тут опечатка.
Очень хотелось бы понимать, о чем здесь написано.
A zen у вас из коробки на базе центоса или вручную собран? Меня он расстроил, когда я попробовал чуть чуть покреативить и собрать его на убунту лтс, тк на дебиане он уже не очень работает. И оказалось, что систему управления к нему прикрутить очень сложно, а пакеты которые идут в составе ситрикс дистра, не поддерживаются годами. И с опеннебулой он практически не дружен. Поэтому выбор пал именно на квм.
Всё здорово. Но у вас есть одна маленькая проблемка. Вам стоит посетить online html-validator, поймёте о чём я. Пренебрежение html кодом как правило выливается глюками на стороне клиента и другими неприятными траблами. Вам стоит обратить на это внимание, у вас там конь не валялся. На главной 131 пендаль. А это не good! Ссылку дать? :)))
Совсем забыл... Попиарьте пожалуйста своего хостинг-провайдера в плане цен, стабильности работы, злобности техподдержки.
Сейчас сотрудничаю с inferno solutions, по стабильности все хорошо, сервер всегда включен, все проблемы, которые были с доступностью были вызваны проблемами из VestaCP. Тех поддержка есть. Проблемы по настройке ПО и сервера решают, неисправности исправляют. Но не так хорошо, как хотелось бы. Например, если возникла какая-нибудь неожиданная проблема, даже с настройкой ПО, то можно написать им и они исправят, но нет гарантии, что проблема не возникнет снова. Если нужно чтобы все было идеально - то надо делать самому. Но это лучшая техподдержка из всех, что я пробовал. Цена за хост 30 USD в месяц, пока сайту полностью хватает, 4Гб ОЗУ, 2 ядра процессора и 30 Гб дика.
OK, благодарю за сведения.
Всем привет! Какую ОС безопасно ставить второй на ноут uefi? А то я знаю что ubuntu 1710 портит uefi lenovo. После такого я побаиваюсь ubuntu и ее клонов. Пока довольствуюсь Win 10.
Еще месяц назад официально баг c uefi в 17.10 был пофиксен.
Лично я советую LinuxMint, хотя он и форк убунты, но годный.
А чем именно вам понравился минт?