По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
На сегодняшний день двумя наиболее популярными веб-серверами с открытым исходным кодом для работы в Интернете являются HTTP-сервер Apache и Nginx. Более 50% веб-сайтов в мире работают на этих двух веб-серверах. В течение почти двух десятилетий веб-сервер Apache обслуживал около 60 процентов веб-сайтов в мире, пока не появился его конкурент Nginx (произносится как «engine-x»). В связи с резким ростом объемов трафика данных и количества пользователей всемирной паутины, Nginx был введен для преодоления ограничений производительности веб-серверов Apache. Nginx, разработанный для обеспечения более высокого уровня параллелизма, может быть развернут в качестве автономного веб-сервера и в качестве внешнего прокси-сервера для Apache и других веб-серверов. Прочитать про установку и настойку этих серверов можно в этой статье Кстати! Еще у нас есть статья по сравнению Apache против IIS. Welcome 🤓 Краткий обзор Apache Apache был разработан для доставки веб-контента, доступ к которому осуществляется через Интернет. Он известен тем, что играл ключевую роль в начальном росте интернета. Apache - это программное обеспечение с открытым исходным кодом, разработанное и поддерживаемое открытым сообществом разработчиков и работающее в самых разных операционных системах. Архитектура включает в себя ядро Apache и модули. Основной компонент предоставляет базовую серверную функцию, поэтому он принимает соединения и управляет параллелизмом. Различные модули соответствуют различным функциям, которые выполняются по каждому запросу. Конкретное развертывание Apache может быть сконфигурировано для включения различных модулей, таких как функции безопасности, управление динамическим контентом или для базовой обработки HTTP-запросов. Модель «один сервер делает все» стала ключом к раннему успеху Apache. Однако по мере увеличения уровня трафика и увеличения количества веб-страниц и ограничения производительности настройка Apache на работу с реальным трафиком усложнялась. Краткий обзор Nginx Nginx был разработан специально для устранения ограничений производительности веб-серверов Apache. Производительность и масштабируемость Nginx обусловлены архитектурой, управляемой событиями. Он значительно отличается от подхода Apache. В Nginx каждый рабочий процесс может одновременно обрабатывать тысячи HTTP-соединений. Следовательно, Nginx - это легковесная, масштабируемая и высокопроизводительная реализация. Эта архитектура делает обработку больших и флуктуирующих нагрузок на данные гораздо более предсказуемой с точки зрения использования ОЗУ, использования ЦП и задержки. Nginx также имеет богатый набор функций и может выполнять различные роли сервера: Обратный прокси-сервер для протоколов HTTP, HTTPS, SMTP, POP3 и IMAP Балансировщик нагрузки и HTTP-кеш Интерфейсный прокси для Apache и других веб-серверов, сочетающий гибкость Apache с хорошей производительностью статического контента Nginx Apache против Nginx: сравнение их богатых наборов функций Простота Разрабатывать и обновлять приложения на Apache очень просто. Модель «одно соединение на процесс» позволяет очень легко вставлять модули в любой точке логики веб-обслуживания. Разработчики могут добавлять код таким образом, что в случае сбоев будет затронут только рабочий процесс, выполняющий код. Обработка всех других соединений будет продолжаться без помех. Nginx, с другой стороны, имеет сложную архитектуру, поэтому разработка модулей не легка. Разработчики модулей Nginx должны быть очень осторожны, чтобы создавать эффективный и точный код, без сбоев, и соответствующим образом взаимодействовать со сложным ядром, управляемым событиями, чтобы избежать блокирования операций. Производительность Производительность измеряется тем, как сервер доставляет большие объемы контента в браузер клиента, и это важный фактор. Контент может быть статическим или динамическим. Давайте посмотрим статистику по этому вопросу. Статический контент Nginx работает в 2,5 раза быстрее, чем Apache, согласно тесту производительности, выполняемому до 1000 одновременных подключений. Другой тест с 512 одновременными подключениями показал, что Nginx примерно в два раза быстрее и потребляет меньше памяти. Несомненно, Nginx имеет преимущество перед Apache со статическим контентом. Поэтому, если вам нужно обслуживать одновременный статический контент, Nginx является предпочтительным выбором. Динамический контент Результаты тестов Speedemy показали, что для динамического контента производительность серверов Apache и Nginx была одинаковой. Вероятная причина этого заключается в том, что почти все время обработки запросов расходуется в среде выполнения PHP, а не в основной части веб-сервера. Среда выполнения PHP довольно похожа для обоих веб-серверов. Apache также может обрабатывать динамический контент, встраивая процессор языка, подобного PHP, в каждый из его рабочих экземпляров. Это позволяет ему выполнять динамический контент на самом веб-сервере, не полагаясь на внешние компоненты. Эти динамические процессоры могут быть включены с помощью динамически загружаемых модулей. Nginx не имеет возможности обрабатывать динамический контент изначально. Чтобы обрабатывать PHP и другие запросы на динамический контент, Nginx должен перейти на внешний процессор для выполнения и дождаться отправки визуализированного контента. Однако этот метод также имеет некоторые преимущества. Поскольку динамический интерпретатор не встроен в рабочий процесс, его издержки будут присутствовать только для динамического содержимого. Поддержка ОС Apache работает во всех операционных системах, таких как UNIX, Linux или BSD, и полностью поддерживает Microsoft Windows. Nginx также работает на нескольких современных Unix-подобных системах и поддерживает Windows, но его производительность в Windows не так стабильна, как на платформах UNIX. Безопасность И Apache, и Nginx являются безопасными веб-серверами. Apache Security Team существует, чтобы предоставить помощь и советы проектам Apache по вопросам безопасности и координировать обработку уязвимостей безопасности. Важно правильно настроить серверы и знать, что делает каждый параметр в настройках. Гибкость Веб-серверы могут быть настроены путем добавления модулей. Apache долго загружал динамические модули, поэтому все модули Apache поддерживают это. Nginx Plus (Nginx Plus - это программный балансировщик нагрузки, веб-сервер и кэш контента, построенный на основе открытого исходного кода Nginx) также использует модульную архитектуру. Новые функции и возможности могут быть добавлены с программными модулями, которые могут быть подключены к работающему экземпляру Nginx Plus по требованию. Динамические модули добавляют в Nginx Plus такие функции, как геолокация пользователей по IP-адресу, изменение размеров изображений и встраивание сценариев Lua в модель обработки событий Nginx Plus. Модули создаются как Nginx, Inc., так и сторонними разработчиками. Большинство необходимых функциональных возможностей основного модуля (например, прокси, кэширование, распределение нагрузки) поддерживаются обоими веб-серверами. Поддержка и документация Важным моментом, который следует учитывать, является доступная справка и поддержка веб-серверов среди прочего программного обеспечения. Поскольку Apache был популярен так долго, поддержка сервера довольно распространена повсеместно. Для главного сервера и для основанных на задачах сценариев, связанных с подключением Apache к другому программному обеспечению, имеется большая библиотека документации первого и стороннего производителя. Наряду с документацией многие инструменты и веб-проекты содержат инструменты для начальной загрузки в среде Apache. Это может быть включено в сами проекты или в пакеты, поддерживаемые отделом упаковки вашего дистрибутива. Apache, как правило, получает большую поддержку от сторонних проектов просто из-за своей доли рынка и продолжительности времени, в течение которого он был доступен. В прошлом для Nginx было трудно найти исчерпывающую англоязычную документацию из-за того, что большая часть ранней разработки и документации была на русском языке. Однако на сегодняшний день документация заполнена, и на сайте Nginx имеется множество ресурсов для администрирования и доступной документации от третьих лиц. Ngnix против Apache: Сравнение лицом к лицу Подводя итог, вот табличное представление наборов функций: ОсобенностьApacheNginxПростотаЛегко разрабатывать и внедрять инновации благодаря своей модели «одно соединение на процесс»Сложный в разработке, поскольку он имеет сложную архитектуру для одновременной обработки нескольких соединений.Производительность - Статический контентМедленно в отображении статического контентаВ 2,5 раза быстрее чем Apache и потребляет меньше памятиПроизводительность - Динамический контентОтличная производительность для динамического контентаОтличная производительность для динамического контентаПоддержка операционной системыПоддерживает все ОС - Unix, как и WindowsПоддерживает все ОС - как Unix, так и Windows, однако производительность в Windows сравнительно менее стабильна.БезопасностьЭто безопасный веб-сервер. Понимание и настройка функций безопасности важныЭто безопасный веб-сервер. Понимание и настройка функций безопасности важныГибкостьМожно настроить, добавив модули. Apache имел динамическую загрузку модулей дольше всего.Nginx версии 1.11.5 и Nginx Plus Release R11 представили совместимость для динамических модулей.Поддержка и документацияОтличная поддержка и документация доступны, как это было на рынке в течение очень долгого времени.Несмотря на слабое начало поддержки и документации для Nginx, он быстро рос, поэтому теперь у него есть отличная поддержка ресурсов и доступная документация. Nginx и Apache - Совместная работа Для многих приложений Nginx и Apache хорошо дополняют друг друга. Очень распространенным начальным шаблоном является развертывание программного обеспечения Nginx с открытым исходным кодом в качестве прокси-сервера (или Nginx Plus в качестве платформы доставки приложений) перед веб-приложением на основе Apache. Nginx выполняет тяжелую работу, связанную с HTTP - обслуживает статические файлы, кэширует содержимое и разряжает медленные HTTP-соединения - так что сервер Apache может выполнять код приложения в безопасной и защищенной среде. Итак, что выберите? Apache или Nginx? Как видно, Apache и Nginx являются мощными, гибкими и способными. Последние версии обоих серверов являются конкурентоспособными во всех областях. Решение о том, какой сервер лучше для вас, во многом зависит от оценки ваших конкретных требований и выбора наилучшего варианта.
img
Уровни выполнения (runlevel) Linux можно представить, как режим, в котором запускается система. Каждый из этих режимов обладают своими процессами, которые включены или выключены в зависимости от запущенного уровня выполнения. С момента загрузки Linux выполняется в одном из режимов, нельзя запускать систему в нескольких режимах, но есть возможность переключаться между уровнями во время работы на компьютере. Например, при запуске системы с графическим интерфейсом выполняется один уровень, а если запускать систему в режиме командной строки выполнится другой. Это происходит потому, что режиму GUI нужны доступы к тем процессам, в которых командная строка не нуждается. В зависимости от того, какие службы нужно включить, а какие выключить система меняет уровни выполнения. Почему важны уровни доступа Вы можете годами пользоваться системой Linux, даже не понимая разницу между уровнями доступа, так как эта опция не является часто конфигурируемой. Тем не менее уровни выполнения Linux дают администраторам повышенный контроль над системой. Режим, в котором работает система, может быть изменен (как это сделать будет показано далее), как и сервисы, которые выполняются в этом режиме. Это позволяет нам полностью контролировать, к каким службам система будет иметь доступ в данный момент. Сколько уровней выполнения существует? В системе Linux есть семь уровней выполнения, которые нумеруются от 0 до 6. Разные дистрибутивы по-разному используют уровни выполнения, так что очень сложно составить список задач, которые выполняет конкретный уровень. Зато вы сами можете посмотреть какие задачи выполняют уровни доступа вашего дистрибутива. Ниже приведён список уровней выполнения и основных задач, выполняемых ими. Runlevel 0 завершает работу системы Runlevel 1 однопользовательский режим работы. Чаще всего используется в целях обслуживания и выполнения других административных задач. Это уровень также может называться runlevel S, где S означает single-user. Если вам когда-то приходилось сбрасывать пароль на Linux, то вы вероятно уже пользовались этим режимом. Runlevel 2 многопользовательский режим работы без поддержки сетевых служб (демонов). Runlevel 3 многопользовательский режим с поддержкой сети, но без графического интерфейса. Чаще всего серверные версии Linux работают именно на этом уровне выполнения. Runlevel 4 не используется. Пользователь может настраивать этот уровень исходя из его целей. О том, как это сделать также будет рассказано далее. Runlevel 5 этот режим схож с уровнем 3, но тут еще запускается графический интерфейс. В этом режиме работают десктопные версии Linux. Runlevel 6 этот уровень перезагружает систему. Как узнать текущий режим работы? Чтобы узнать текущий уровень выполнения достаточно ввести команду runlevel в командной строке. На выводе этой команды две цифры. Первая указывает на предыдущий режим работы, а второй на текущий. На скриншоте вместо первой цифры указана буква N, что значит система изначально запускалась и работает в 5 режиме, о чём говорит вторая цифра 5. Как менять уровень выполнения? Текущий уровень выполнения можно менять командой "telinit". Ниже приведён пример смены уровня выполнения на CentOS. $ telinit 3 Следует отметить, что эта операция требует прав привилегированного пользователя. Имейте ввиду, что на системах семейства Debian уровни выполнения работают по-другому. Например, Ubuntu в режиме командой строки запускается с уровнем выполнения 5. После выполнения команды указанной выше, ваш экран может стать пустым. Это потому, что вы остались на пустом терминале, чтобы вернутся на рабочий терминал нажмите комбинацию клавиш Alt+F1. Если запустить команду runlevel еще раз, то мы увидим, что текущий уровень выполнения 3, а предыдущий 5. Linux system против runlevels В последние годы systemd сменила многолетнюю систему уровней доступа (System V init). Фактически он работает по тому же принципу, но использует новые команды, которые в целом используют "runlevel" как "target". Runlevel 0 = poweroff.target (runlevel0.target) Runlevel 1 = rescue.target (runlevel1.target) Runlevel 2 = multi-user.target (runlevel2.target) Runlevel 3 = multi-user.target (runlevel3.target) Runlevel 4 = multi-user.target (runlevel4.target) Runlevel 5 = graphical.target (runlevel5.target) Runlevel 6 = reboot.target (runlevel6.target) По ходу статьи мы изучим systemd и его команды. Как поменять уровень выполнения по умолчанию? Может быть очень много причин для того чтобы загружаться с другим уровнем выполнения. Например, системные администраторы в основном используют систему в режиме командой строки, включая графический интерфейс только в случае необходимости. Именно для таких случаев нужно убедиться, что уровень выполнения по умолчанию 3, а не 5. В прошлом для этого приходилось редактировать файл /etc/inittab. Вы еще можете увидеть эту практику на некоторых системах. Если вы работаете с ОС, которые давно не обновляются до новых версий, этот путь будет приемлемым. $ vi /etc/inittab На скриншоте уровнем выполнения по умолчанию установлен 5. Но большинство систем Linux отказались от файла /etc/inittab в пользу systemd targets и мы рассмотрим разницу между ними по ходу статьи. Вы можете не найти в своей системе файл /etc/inittab или же файл inittab выведет вам сообщение с советом использовать systemd. Чтобы проверить текущий уровень выполнения по умолчанию введите команду $ systemctl get-default Система вернула нам "graphical.target". Как вы наверное и догадались, это не что иное, как уровень выполнения 5. Чтобы просмотреть остальные "target" и уровни выполнения, ассоциированные с ними введите команду: $ ls -l /lib/systemd/system/runlevel* Символьные ссылки указывают на то, что systemd работают так же как и runlevel. Итак, что необходимо сделать, чтобы поменять уровень выполнения по умолчанию? Для этого достаточно создать новую символьную ссылку на интересующую нас цель systemd. $ ln -sf /lib/systemd/system/runlevel3.target /etc/systemd/system/default.target Данной командой мы поменяли режим запуска системы по умолчанию с уровня выполнения 5, на 3 и при следующей загрузке система выполнить именно этот уровень. Ключ f указывает на то, что перед созданием новой символьной ссылки целевой файл должен быть удален. Это же самое могли бы сделать командой rm. Чтобы проверит успешно ли применились изменения достаточно повторно ввести команду "systemctl get-default". Разница между уровнями выполнения 3 и 5 Самыми часто используемыми уровнями выполнения являются уровни 3 и 5. В целом их разница сводится к тому, что 3 это режим командной строки, а 5 режим графического интерфейса. Конечно, не во всех дистрибутивах выполняется это условие или же ваша система может быть сконфигурирована так, что эти два уровня имеют больше отличий. Дальше мы рассмотрим, как узнать, какие процессы задействованы для того или иного уровня. Просмотр список служб конкретного уровня Чтобы просмотреть список служб, доступных для каждого уровня до недавнего времени использовалась команда "chkconfig -list". Если у вас стоит одна из последний версий, системы, то вероятно вы получите ошибку, как на скриншоте ниже: Чтобы проверить, какие службы запускаются во время загрузки системы в режиме графического интерфейса (уровень выполнения 5 для семейства RedHat), нужно запустить следующую команду: $ systemctl list-dependencies graphical.target Чтобы просмотреть список доступных служб другого уровня, просто замените "graphical.target" на нужную. Под каким уровнем работает процесс Если нужно посмотреть по каким уровнем выполнения запущена та или иная служба, можно ввести команду: $ systemctl show -p WantedBy [name of service] Например, чтобы посмотреть какой runlevel использует служба sshd, введите команду: $ systemctl show -p WantedBy sshd.service Судя по скриншоту выше, служба sshd запушена под уровнями 2,3 и 4 (multi-user.target) Меняем уровень запуска приложения Как было показано выше, демон SSH запущена только на уровнях 2-4. Что если нам нужно, чтобы он работал ещё и на уровне 5? Для этого нужно ввести следующее изменение: $ systemctl enable sshd.service Проблемы безопасности с уровнями доступа Linux Как было сказано ранее, уровни доступа дают администраторам возможность управлять службами, которые работают в определённых случаях. Такая возможность детального контроля повышает безопасность системы, так как системный администратор может быть уверен, что не запущена ни одна сторонняя служба. Проблема возникает, когда администратор не знает точно какие службы запущены и, следовательно, не может принять меры по уменьшению площади атаки. Используя методы из данного руководства, вы можете настроить уровень выполнения по умолчанию и контролировать запущенные приложения. Это, конечно, не уменьшит нагрузку на системные ресурсы, но сервер будет более защищен. Помните, что надо запускать тот уровень, который вам необходим. Нет смысла запускать систему в графическом режиме, если планируете работать там режиме командной строки. Каждый уровень выполнения запускает новые службы, большинство из которых работают в фоновом режиме, и вы можете забыть обезопасить их. Какой уровень выполнения выбрать? Выбор режима запуска системы полностью зависит от ситуации. В основном используется один из двух режимов: либо runlevel 3, либо runlevel 5. Если вам удобно работать с командной строкой и вам не нужен графический интерфейс, то уровень выполнения 3 самый подходящий. Это предотвратит запуск ненужных служб. С другой стороны, если вам хочется работать в десктопном режиме или же вам нужна графическая оболочка для работы какой-то программы, то выберите уровень 5. Если же нужно запустить систему в режиме обслуживания, то выбирайте уровень 1. В этом режиме в системе будете только вы, так как сетевые службы даже не запущены. Это позволит выполнить обслуживания без сбоя. В редких случаях появляется необходимость использовать уровень выполнения 4. Это может быть только в том случае, если администратору нужен уровень выполнения для особых задач. Как вы уже, наверное, заметили, мы не может запускать систему с уровнем 0 и 6, но можно переключаться на них если нужно выключить или перезагрузить систему. Но в этом нет особой необходимости, так как есть команды, которые выполняют эти операции. Можно ли создано новый уровень на Linux? Так как система Linux это система бесконечных возможностей, то и создание нового уровня не исключение. Но очень маловероятно, что вам когда-нибудь понадобится это. Но если вы все-таки решили создать новый уровень, то следует начать с копирования существующего уровня и изменения её под свои задачи. Целевые уровни расположены по следующему пути: /usr/lib/systemd/system Если хотите создать свой уровень на основе 5-го уровня выполнения, скопируйте искомую директорию в новую: $ cp /usr/lib/systemd/system/graphical.target /usr/lib/systemd/system/mynew.target Затем в новой директории создайте поддиректорую "wants": $ mkdir /etc/systemd/system/mynew.target.wants Затем просто создайте символьную ссылку на дополнительные службы в директории /usr/lib/systemd/system, которые необходимы вашему уровню.
img
Всем привет! Сегодня в статье рассмотрим установку CentOS 7 Minimal, первичную настройку сети и установку графического интерфейса под названием Mate. У нас уже есть статья и видео об установке немного иной редакции CentOS 7 – Network Edition, но при установке Minimal есть несколько тонкостей, о них – ниже. Первое отличие в том, что образ несколько больше - 700 Мб, но это всё равно несравнимо с объемом DVD или Full редакции. Следующее отличие, вытекающее из предыдущего – отсутствует возможность выбрать дополнительный софт для установки (скриншот ниже): В CentOS 7 также добавилась возможность включить сетевой интерфейс непосредственно во время установки – в 6 версии такого не было, однако, я дополнительно продемонстрирую самый наглядный способ настройки сетевого интерфейса в 7 версии. Процесс установки Итак, выполняем все шаги последовательно как указано в нашем видео и статье по установке сетевой версии данной ОС, ждём 15-30 минут и вводим свои логинпароль (предварительно подключившись через терминал). Первым желанием было проверить, работает ли сетевой интерфейс и был ли ему назначен адрес – я ввёл команду ifconfig, и, как оказалось, данная команда на 7 версии является устаревшей и вместо неё необходимо использовать команду ipaddr для вывода информации об интерфейсах и команду iplinkдля вывода статистики на них же. Но так все привыкли к стандартным командам пакета net-tools, его необходимо будет установить с помощью команды yum install net-tools. Однако, помня первое ощущение непонимания, когда у меня не работала сеть в минимальной инсталляции на 6 версии, я хочу дополнительно показать очень простой способ её настройки – об этом ниже. Важно! Команда ifconfig устарела. Для сетевого взаимодействия с сервером рекомендуем пользоваться командой «ip» (ip -a), которая по функциональности (с точки зрения L2 и L3) превосходит «ifconfig». Настройка сетевых интерфейсов с помощью nmtui Вводим команду nmtui - в итоге должен запуститься простой графический интерфейс для настройки сети (скриншот ниже): Я, к примеру, хочу изменить настройки единственного интерфейса – выбираем первую опцию Edit a connection и видим следующую картину: Выбираем Edit… и делаем с интерфейсом всё, что вздумается :) Как видно на скриншоте ниже, наш сервер получил IP - адрес по DHCP – меня это устраивает и я оставлю всё как есть. Главной целью было продемонстрировать данную утилиту – nmtui Установка MATE и необходимых пакетов Итак, почему MATE? Ответ прост – он гораздо легче дефолтного Gnome, очень нетребователен к ресурсам и крайне прост в установке. Итак, производим несколько простых шагов по установке пакетов(ниже): yum groupinstall "Development Tools" - установка необходимого комплекта пакетов для работы GUI (только если уже не установлены) ; yum install epel-release - установка EPEL репозитория; yum groupinstall "X Window system" - установка группового пакета X Window System, это займет около 5 минут. Сам пакет имеет объем 73 Мб; yum groupinstall "MATE Desktop" - установка непосредственно Mate – довольно объемный пакет - 506 Мб; Далее, запускаем GUI! Вводим командуsystemctl isolate graphical.target, вводим имя юзера и пароль, и видим графический интерфейс (скриншот ниже): Если хотите чтобы система по умолчанию запускалась в графическом виде, введите команду systemctl set-default graphical.target rm '/etc/systemd/system/default.target' ln -s '/usr/lib/systemd/system/graphical.target' '/etc/systemd/system/default.target'
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59