Apache tomcat что это за программа и нужна

Apache tomcat что это за программа и нужна

Зачем?
Когда возникает необходимость размещать на сайте свои JSP-страницы и/или сервлеты на веб-сервере, то одним из самых лучших помощников есть Tomcat . Есть и другие бесплатные контейнеры сервлетов, например Jetty , но мне по душе Tomcat .
Зачем Tomcat связывать с Apache ? Над этим вопросом я думал немало. На многих форумах пишут, что Apache быстрее работает со статистическими файлами (например, .gif, .html), но это было раньше. Последние версии Tomcat , в моем случае Tomcat 6 , работают со статикой намного лучше, а на официальном сайте Tomcat пишут, что иногда даже лучше. Радует также то, что в Tomcat есть возможность использовать виртуальный хостинг (с алиасами), а также есть поддержка PHP ! Для того чтобы клиентам не приходилось указывать порт веб-сервера (по умолчанию в Tomcat 8080 ) можно либо настроить в server.xml чтобы Tomcat запускался с обслуживание порта 80 либо сделать перенаправление с порта 8080 на порт 80 (если конечно никакой сервер этот порт еще не использует). В целях безопасности я предпочитаю второй вариант. В Linux это делается элементарно:

Java EE для начинающих. Урок 2: Теория. Apache Tomcat. Сервлеты. Жизненный цикл сервлета.


iptables -t nat -A PREROUTING -p tcp –dport 80 -j REDIRECT –to-ports 8080

Но в связке Tomcat и Apache есть свои преимущества:
можно использовать модуль mod_jk для балансировки нагрузки нескольких Tomcat серверов, а также для создания кластера.
Можно использовать разнообразные модули Apache (но не всегда они нужны и даже могут мешать безопасности)
Больше аргументов в пользу связки Apache и Tomcat для современных версий Tomcat я не нашел. Но этот первый пункт для меня был весомым. Возможно (и скорее всего) разработчики Tomcat реализуют эту функциональность и он станет достаточно самостоятельным веб-сервером. Но все-таки Tomcat в первую очередь нацелен на Java -разработчиков.

Как?
Есть 2 базовый варианта.
Первый: использовать модули Apache , а именно mod_proxy , mod_alias
Для этого нужно в httpd.conf или конфигурационном файле виртуально хоста (если он отдельно) прописать так:

RedirectMatch permanent ^/$ http:////
ProxyPass / http://:8080//
ProxyPassReverse / http://:8080//

mod_alias нужен для RedirectMatch и mod_proxy – для ProxyPass и ProxyPassReverse директив
В этом подходе есть преимущества — простота настройки и недостатки:
– Tomcat сервер не может находится во внутренней и/или DMZ-зоне (без специальных настроек фаервола и/или DNS)
– слабая поддержка балансировки и кластеризации (на официальном сайте пишут, что mod_proxy поддерживает балансировку, но производительность хуже)
– плохая производительность.

Второй. Использовать коннекторы. Из всего разнообразия коннектором на официальном сайте Apache указано, что сейчас для версии 6 поддерживается Jk и mod_proxy .
Коннекторы jserv , Jk2 (!), webapp — устарели. Первые два используют протокол AJP , последний — WARP .
Далее описывается как настроить коннектор jk ( mod_jk ).

HTTP. Servlets. 22. Apache Tomcat. Введение


Где взять модуль JK и как его установить?
Установить mod_jk можно используя репозитарий Linux . Просто сделайте поиск в репозитарии, например jk . Этот модуль я видел в дистрибутивах Suse (и OpenSuse ), Mandriva , Debian , CentOS (соответственно должно быть и в RadHat и Fedora ). В OpenSuse он назывался apache2-mod_jk . Я так понял, что этот модуль можно установить с репозитария во всех популярных дистрибутивах. Именно так я его установил.
Но, если нет такой возможности или хочется установить самый последний модуль, то его можно либо скачать в бинарном виде с этого сайта – обязательно учтите архитектуру процессора и версию Apache !
Либо установить с исходников. Для этого нужно скачать с этого сайта нужную версию, проверить на целостность, и установить. Важная заметка: для того чтобы при установке скомпилировалась именно та, версия, которая подходит для вашей версии Apache должна быть установлена программа apxs !

Как подключить mod_jk к Apache ? На примере OpenSuse все очень просто:
В файле /etc/sysconfig/apache2 в строке APACHE_MODULES= дописываем mod_jk и перегружаем Apache . Чтобы убедиться, что он загружен используем команду:
apache2ctl -t -D DUMP_MODULES
В списке должно быть jk_module (shared)
Если модуль устанавливался НЕ с помощью репозитария дистрибутива, то модуль нужно скинуть в место где находятся библиотеки Apache (учитывайте архитектуру процессора), а загрузка модуля зависит от версии Apache , которую используете.
А теперь непосредственно настройка коннектора. Сделаем это в 4 шага
1) подключаем свой конфигурационный файл в httpd.conf
Include /etc/apache2/mod-jk.conf
2) в этом файле пишем:
JkWorkersFile /etc/apache2/workers.properties
JkLogFile /etc/apache2/mod-jk.log
JkLogLevel info
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkLogStampFormat “[%a %b %d %H:%M:%S %Y] ”
JkRequestLogFormat “%w %V %T”
JkExtractSSL On

/* пути исправляйте для собственных нужд */

Тут мы указываем на файл настроек так называемых workers (работники )
Обо всех остальных директивах и настройках для Apache можно почитать на этом сайте

3) описываем работу воркеров в файле workers.properties
worker.list=worker1, worker2
worker.worker1.port=8009
worker.worker1.host=hostname
worker.worker1.type=ajp13
worker.worker2.port=8010
worker.worker2.host=hostname
worker.worker2.type=ajp13

Что это значит?
worker.list — список воркеров
И ниже свойства каждого воркера, а именно port , host , type (порт, хост, тип).
Порт — это порт AJP , который слушает соответствующий Tomcat -сервер. По умолчанию это 8009
Хост — имя хоста или его Ip-адрес, где находится соответствующий Tomcat -сервер.
Тип — Тип воркера. В данном случае используется протокол AGP версии 1.3. Без особой необходимости его менять не нужно.
Дополнительно про настройку worker-ов можно почитать тут

4) Указываем как и когда использовать Tomcat , а не Apache .
Указать можно либо в самом файле httpd.conf например,
JkMount /jsp-examples worker1
либо непосредственно при настройке виртуального хоста
( внутри тега VirtualHost):
JkMount /* worker2

И еще немного о виртуальных хостах ( Virtual hosts ).
Как делать виртуальные хосты в Apache написано тут
Например (внутри тега “VirtualHost”):

Создать виртуальный хост для Tomcat еще проще:
в /conf/server.xml создать разные хосты ()
Engine name=”Catalina” defaultHost=”ren”
Host name=”site1.com” appBase=”site1apps”
Host name=”site2.com” appBase=”site2apps”
Engine
Для создания алиасов используем элемент alias… внутри тега host , например alias> http://www.site1.com.ua /alias>
и создать соответствующие директории site1apps и site2apps .
При этом нужно чтобы эти директории не перекрывались (не находились друг в друге)
Контекст по умолчанию (например, сразу после того, как вводим site1.com) должен находиться в site1apps/ROOT или site1apps / root . war , а остальные контексты (например site1 . com / mycontext ) в той же директории, но не ROOT .
Подробней на английском читайте тут

Читайте также:
Push sms ru что это за программа

А как связать виртуальные хосты ( Virtual hosts ) Apache c Tomcat ?

Для этого нужно:
1) создать витруальные хосты в Apache .
2) Создать несколько директорий для разных хостов Tomcat , поменяв необходимые порты в каждом из них. Например, у нас уже есть директория с Tomcat , которая использует порты по умолчанию, а именно: 8080 — для веб, 8009 — для AJP , 8005 — для останова Tomcat (это значит останов или крах одного сайта не повлияет на другой).
Просто копируем и переименовуем новую директорию Tomcat , например, SITE1-Tomcat.
Потом в /conf/server.xml новой директории Tomcat меняем порты:
а) порт останова с 8005 на другой, например:
Server port=”8006″ shutdown=”SHUTDOWN”
б) веб-порт с 8080 на другой, например:
Connector port=”8081″ protocol=”HTTP/1.1″
connectionTimeout=”20000″
redirectPort=”8443″ />
в) порт для AGP c 8009 на другой, например:
Connector port=”8009″ protocol=”AJP/1.3″ redirectPort=”8443″ />
3) В файле workers.properties мы для каждого сайта создаем свой worker , например site1worker

4) В настройках виртуального хоста Apache внутри тега VirtualHost используем соответствующий worker , например
JkMount /* site1worker

Если что-то не получается смотрим логи модуля mod_jk , в данном примере он был указал в файле mod-jk.conf в директории JkLogFile /etc/apache2/mod-jk.log . Также не забываем о логах Apache , логах Tomcat и системных логах.

Источник: realitman.wordpress.com

#41 Kali Linux для начинающих. Взламываем веб-сервис.

Продолжаем рассматривать тематику взлома систем, и давайте поищем еще один способ, как взломать нашу цель. В предыдущих уроках мы с Вами рассматривали некоторые инструменты для сканирования, такие как «nmap» и «nessus».

Сейчас рассмотрим инструмент под названием «Nikto». Этот инструмент предназначен для сканирования уязвимостей веб-приложений. Этот инструмент сканирует сайты на предмет возможных уязвимостей. Мы можем использовать «Nikto», так как на атакуемой машине мы имеем несколько веб-сервисов.

Если запустить этот сканер с помощью команды «nikto» без параметров, то мы увидим ошибку:

nikto

Иными словами, для корректной работы инструмента нам нужно указывать некоторые опции, в частности, «-host ». Имейте ввиду, что на атакуемой машине несколько веб-серверов. Один из них использует 80 порт (сервер Apache), а другой 8180 (Apache Tomcat).

Давайте поработаем с сервером Apache Tomcat.

В нашу команду добавляем опцию «-p», а также порт 8180, т.к. по-умолчанию используется 80 порт, который нам пока что не нужен. Команда будет иметь вид: «nikto -host 192.168.15.131 -p 8180»:

nikto -host 192.168.15.131 -p 8180

Nikto запустился, и нам нужно подождать результат работы инструмента:

работа сканера nikto

Через некоторое время мы находим различные уязвимости, которые потенциально можно эксплуатировать, к примеру, методы HTTP, которые позволяют нам загружать или удалять файлы с сервера:

HTTP метод

Не будем подробнее останавливаться на этой уязвимости, так как нас интересует другая уязвимость на этом сервере Tomcat. Эта уязвимость позволяет удаленно выполнять команды на этом сервере. Для начала эксплуатации данной уязвимости нам нужно авторизироваться на этом веб-сервере, т.е. мне нужны верные учетные данные.

К счастью, сканер «Nikto» обнаружил учетные данные, которые принадлежат ему:

учетные данные tomcat

На этом сервере используются стандартные имя пользователя и пароль. Можно проверить это вручную для авторизации на этом веб-сервере. Для проверки переходим в браузер и вводим айпи адрес и порт.:

apache tomcat

Номер порта указывается для того, чтобы не использовались дефолтные порты, такие как 80 и 443.

Пробуем авторизироваться в Tomcat, и используем вкладку «Tomcat Manager»:

авторизация в tomcat

Отлично. Мы авторизировались в панели управления Tomcat:

успешная авторизация в панели управления tomcat

Теперь я могу изменить сайт, изменить что-либо и так далее.

Можно создать для Ваших целей определенное ПО, или воспользоваться инструментом «Metasploit», воспользовавшись готовым модулем, для загрузки на сервер. Запустим Metasploit, и воспользуемся поиском. Команда будет выглядеть как: «search tomcat»:

search tomcat

В этом выводе есть две подходящие опции – это «tomcat_mgr_deploy» и «tomcat_mgr_upload»:

«tomcat_mgr_deploy» и «tomcat_mgr_upload»

Обе эти опции отлично подходят нам против Tomcat. Выбираем вторую, и выполняем команду «use»:

use

Просмотрим опции с помощью команды «show options»:

show options

Вспомните взлом vsftpd, который был в прошлом занятии. Сейчас ничего не отличается, кроме большего списка параметров, которые нужно настраивать.

Для начала укажем имя пользователя и пароль:

указываем имя пользователя и пароль tomcat

Далее нужно указать удаленный хост или айпи-адрес цели и порт. У меня это 192.168.119.130:8180. По-умолчанию стоит порт 80, который мы изменили:

rhost rport

Давайте перепроверим, что все опции настроены правильно. Это делается с помощью команды «show options»:

show options

И, наконец, выполняем команду «run»:

команда run

Отлично. Теперь у меня есть шелл Meterpreter-a. Данный шелл является частью Metasploit. Он позволяет выполнять команды на атакуемой машине. Данные команды будут отличаться от обычных команд моей цели. Например, если мы выполним команду «id», то появляется ошибка:

команда id

Все дело в том, что meterpreter не знает этой команды, так как он является отдельным шеллом со своими командами, к которым не относится команда «id».

Можем ввести команду «pwd», и она сработает:

команда pwd

Данная команда работает и на meterpreter, и на linux-системах.

Если выполнить команду «whoami», то она не сработает:

команда whoami не работает

Для того, чтобы узнать, какие команды нам нужно использовать, нужно ввести знак вопроса «?»:

отображение справки metarpreter

Это длинный список команд meterpreter.

Если meterpreter кажется Вам непонятным, то не волнуйтесь и рассматривайте его следующим образом; при взломе атакуемой машины Metasploit загружает на нее программу, которая позволяет взаимодействовать с этой машиной, и выполнять различные команды. Это программа называется «meterpreter».

И сейчас мы взаимодействуем с этой программой, которая позволяет нам управлять системой на удаленной машине.

Если мне нужен линукс-шелл, то для этого нужно ввести команду «shell»:

ввод команды shell

В нем работают все команды, которые присущи линукс-системам.

Если выполнить команду «guid», то она уже не сработает:

команда guid

Все из-за того, что я нахожусь в линукс-шелле.

Однако, можно выполнить команду «whoami», и «id», то они будут работать:

Читайте также:
Что за программа documents

команды whoami и id

Обратите внимание, что вышеописанные команды не работали в meterpreter. После ввода команды «shell», я получил доступ непосредственно к стандартному линукс шеллу. Теперь я могу выполнять стандартные линукс команды.

Есть один момент, который заключается в том, что я не рут пользователь, а обычный пользователь «tomcat55».

Далее мы рассмотрим, как использовать определенные скрипты, с помощью которых мы можем обнаружить уязвимости, и которые помогут нам повысить права. Мы это будем рассматривать в последующих лекциях.

С помощью инструмента «Nikto», мы оказались там, где мы сейчас находимся. Имейте ввиду, что это не специализированный инструмент для работы с конкретными сайтами.

Существуют инструменты, которые заточены на работу с определенными веб-технологиями. К примеру, для работы с сайтом на вордпресс существует инструмент для поиска уязвимостей, который называется wpscan.

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

Мы нашли несколько способов, как можно взломать нашу цель, используя разные уязвимости. Сначала мы взломали ftp-сервис, при этом мы использовали версию ftp, которую мы узнали с помощью «nmap». После этого мы использовали результат сканирования «nessus», где мы узнали, что есть эксплойт для попадания в систему.

Как в случае с ftp и ssh сервисами, мы получали рут-права на системе жертвы. Далее мы использовали эксплойт веб-приложений, и смогли попасть в систему через веб-сайт. В последнем случае мы смогли попасть в систему только как обычный пользователь, а не как рут-пользователь. Нам осталось лишь повысить права. Однако, перед этим давайте взломаем систему еще одним способом.

Источник: timcore.ru

Веб-сервер: что это и для чего нужен

Язык программирования Си

Веб-сервер необходим для хранения и обработки информации, иными словами, он обеспечивает бесперебойную работу сайта и его взаимодействие с пользователем. Самый простой пример работы веб-сервера – интернет-магазин. Вы заходите на сайт, формируете запросы, получаете ответы на них в виде веб-страниц – всё это делает веб-сервер.

На сегодняшний день существует около десятка наиболее популярных веб-серверов. Каждый из них заточен на решение той или иной задачи. Какие-то лучше подойдут для ведения блогов, другие – корпоративных сайтов, третьи – тех же интернет-магазинов. Подробнее о том, что такое веб-сервер, как он запускается и настраивается, вы узнаете из нашего материала.

Что такое веб-сервер

Веб-сервером называется не только оборудование, но и обслуживающие веб-сервер программы. Также этим словом обозначается и то, и другое в совокупности.

  • Оборудование для веб-сервера представляет собой хранилище файлов сайта. На нем хранятся как отдельные страницы и файлы стилей, так и мультимедийные файлы – аудио, видео, графика и др. С сервера контент попадает на компьютер, с которого был отправлен запрос, и выводится в наглядном виде через браузер.
  • Программная составляющая веб-сервера позволяет осуществлять управление размещенными на нем данными, обеспечивает доступ пользователей. Минимально для этого требуется HTTP-сервер, то есть программа, которая может распознавать URL-адреса и работает на протоколе HTTP, который необходим для доступа к веб-странице.

Только до 25 декабря —>
Пройди опрос и
получи
обновленный
курс от Geekbrains
Дарим курс по digital-профессиям
и быстрому вхождения в IT-сферу
Чтобы получить подарок, заполните информацию в открывшемся окне

Если представить работу веб-сервера в общем виде, то выглядеть это будет следующим образом. Пользователь через браузер запрашивает тот или иной файл. Запрос поступает на сервер по HTTP-протоколу. Если страница или файл с заданным URL размещен на сервере, то он направляется пользователю также по HTTP-протоколу. Если не найден – по нему же пользователю направляется сообщение об ошибке с кодом 404.

Что такое веб-сервер

Для размещения сайта в интернете нужен веб-сервер. Он может быть статическим либо динамическим.

  • Статический веб-сервер использует оборудование и программное обеспечение HTTP. С него данные направляются пользователю в неизменном виде.
  • В динамическом веб-сервере используются наряду со статическим веб-сервером вспомогательные приложения, обычно в виде базы данных. В этом случае передаваемые пользователю данные изменяются, прежде чем они будут доставлены пользователю.

Принципы работы веб-сервера

Основное назначение веб-сервера – хранение контента, который может быть представлен текстовой, графической информацией, мультимедийными файлами. Однако возможности веб-сервера гораздо шире:

  • получение и отправка запросов;
  • запуск программы на серверных языках программирования;
  • составление веб-страниц;
  • отправка веб-страниц пользователю;
  • защита информации;
  • идентификация клиентов;
  • учет активности пользователей;
  • обработка запросов иных видов (mailto, FTP и т.д.).

Представление о работе веб-сервера дает понимание принципов обмена информацией в сети. Для этого используются алгоритмы, которые называются протоколами. Каждый URL-адрес, будь то веб-страница или файл, начинается с протокола (ftp, http://, https:// и пр.).

Hyper Text Transfer Protocol – протокол передачи гипертекста. Страницы сайта всегда имеют вид гипертекстового документа. В этом виде сервер передает их пользователю, который просматривает их в браузере.

  • Когда пользователь набирает в браузере адрес или кликает ссылку, браузер направляет запрос на сервер посредством именно этого протокола.
  • Хост, к которому относится введенный пользователем адрес веб-серверов, запускает несколько программ на сервере, отвечающих за определенные операции.
  • Сервер расшифровывает запрос и выполняет команду пользователя.
  • Формируется гипертекст, кодируется и отправляется обратно.
  • Браузер получает ответ, переводит код в html и отображает веб-страницу на устройстве пользователя.

ТОП-30 IT-профессий
2022 года с доходом
от 200 000 ₽

Команда GeekBrains совместно с международными специалистами по развитию карьеры подготовили материалы, которые помогут вам начать путь к профессии мечты.

Подборка содержит только самые востребованные и высокооплачиваемые специальности и направления в IT-сфере. 86% наших учеников с помощью данных материалов определились с карьерной целью на ближайшее будущее!

Скачивайте и используйте уже сегодня:

Александр Сагун

Александр Сагун
Исполнительный
директор Geekbrains

Топ-30 самых востребованных и высокооплачиваемых профессий 2022

Поможет разобраться в актуальной ситуации на рынке труда

Подборка 50+ ресурсов об IT-сфере

Только лучшие телеграм-каналы, каналы Youtube, подкасты, форумы и многое другое для того, чтобы узнавать новое про IT

ТОП 50+ сервисов и приложений от Geekbrains

Безопасные и надежные программы для работы в наши дни

Получить подборку бесплатно
Уже скачали 16904

Читайте также:
Crm сервис что это за программа

Основные типы веб-серверов

Наиболее распространены следующие виды веб-серверов.

  • Apache HTTP Server – поддерживает множество операционных систем и имеет свободный исходный код. Веб-сервер Apache широко применяется не только на Windows, но и на Linux, Unix, FreeBSD, Mac OS. Для корректной работы с JSP и J2EE используются модули tomcat.
  • Microsoft IIS Windows Server – интернет-служба которая входит в пакет установки операционной системы Windows. Веб-сервер IIS прост в управлении, но не поддерживает иных операционных систем кроме Windows. Его исходный код является закрытым.

Как проверить скорость ответа сервера

Основные типы веб-серверов

  • Lighttpd – разработан для операционной системы FreeBSD. Однако в дальнейшем появились его версии и для Windows, Mac OS, Linux, Unix. Он характеризуется широкими возможностями настройки, высокой защищенностью и поддержкой множества операционных систем. Кроме того, он бесплатный.
  • Sun Java System, разработанный компанией Sun Microsystems. Предназначен для серверов с большим массивом данных. Распространяется бесплатно, но исходный код закрыт. Может использоваться на Windows, Linux и Unix. Он корректно работает с языками и скриптами, которые требуются для Web 2.0, в частности JSP, Java Servlets, PHP, Perl, Python, Ruby on Rails, ASP и Coldfusion.
  • Nginx — веб-сервер, который отличается низким потреблением ресурсов, высокой скоростью работы, стабильностью и наличием множества полезных инструментов. Веб-сервер Nginx является бесплатным и имеет открытый код. Он может использоваться для решения множества задач, включая использование в качестве обратного прокси-сервера, стабилизации нагрузки, оперативного хранилища HTTP, интерфейсного прокси.
  • X5 – сервер от IMatrix Corporation, который может быть и веб-, и FTP-сервером. Характеризуется удобством настройки. поддержкой распространенных протоколов, небольшим объемом и производительностью.
  • Программистам без опыта помогают инструменты, с помощью которых установка веб-сервера возможна на любом компьютере за несколько минут.

    • OpenServer. Компактное средство разработки, предоставляющее различные базы данных и языки программирования. Также включает дополнительные возможности вроде интерфейса работы с БД PhpMyAdmin. Является признанным лидером у домашних пользователей.
    • Xampp. Поддерживает такие веб-серверы как Apache, php, Perl, MariaDB и пр. Не требует оплаты, имеет удобный интерфейс управления.
    • Denwer. Отличная программа, поддерживающая Apache, веб-сервер PHP, MySQL, PhpMyAdmin. Однако в новые версии включаются устаревшие библиотеки. Фактически проект приостановился.

    Только до 26.12
    Как за 3 часа
    разбираться в IT
    лучше, чем 90%
    новичков и выйти на
    доход в 200 000 ₽?

    Приглашаем вас на бесплатный онлайн-интенсив «Путь в IT»! За несколько часов эксперты GeekBrains разберутся, как устроена сфера информационных технологий, как в нее попасть и развиваться.

    Александр Волчек CEO GeekBrains

    Интенсив «Путь в IT» поможет:

    • За 3 часа разбираться в IT лучше, чем 90% новичков.
    • Понять, что действительно ждет IT-индустрию в ближайшие 10 лет.
    • Узнать как по шагам c нуля выйти на доход в 200 000 ₽ в IT.

    При регистрации вы получите в подарок:

    Тест, в котором вы оцениваете свои качества и узнаете, какая профессия в IT подходит именно вам

    «Критические ошибки, которые могут разрушить карьеру»

    Собрали 7 типичных ошибок, четвертую должен знать каждый!

    Тест «Есть ли у вас синдром самозванца?»

    Мини-тест из 11 вопросов поможет вам увидеть своего внутреннего критика

    Хотите сделать первый шаг и погрузиться в мир информационных технологий? Регистрируйтесь и смотрите интенсив:

    Только до 26 декабря
    Получить подборку бесплатно pdf 4,8mb doc 688kb
    Осталось 17 мест

    По итогам 2021 года предпочтения пользователей к тому или иному виду серверов выглядят следующим образом:

    • Apache — 40,86%;
    • Nginx — 27,66%;
    • IIS — 11,01;
    • LiteSpeed — 2,4%;
    • Apache Traffic Server — 0,53%;
    • OpenGSE — 0,44%;
    • Phusion Passenger — 0,36%;
    • Apache Tomcat — 0,16%.

    Настройка веб-сервера

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

    На ней устанавливается стек LAMP, в который входят Apache, PHP, MySQL, могут включаться memcached, nginx и реверс-прокси, являющийся сетевым экраном и стабилизатором нагрузки. если вводятся дополнительные инстанции Apache или MySQL. Лучше всего использовать несколько виртуальных машин для размещения разных элементов стека.

    Например, рассмотрим систему управления ВМ libvirt в Linux/Ubuntu, распространённую в облачных технологиях. В ней создается инфраструктура, в которой можно без труда подготовить ферму виртуальных серверов с нужными настройками. Настройка состоит из трех стадий:

    • установка виртуального сетевого моста для обмена данными между виртуальными машинами и доступа реверс-прокси к сторонним данным;
    • конфигурация libvirt;
    • создание шаблонов виртуальных машин.

    При настройке сетевого моста вначале устанавливаются службы управления им, определяется базовый сетевой интерфейс и задаются нужные параметры. Для IP-адресов и макси подсети применяются физические адреса. Предполагается, что используется локальный веб-сервер, а для связи с Интернетом используется шлюз. Затем проводится тестирование моста, настройка libvirt и создание виртуальной машины под заданный шаблон.

    Настройка веб-сервера

    Составленный шаблон виртуальной машины затем применяется для всех серверов в LAMP. В первую очередь, конфигурируется Apache/PHP. Для создания ещё одной виртуальной машины из уже существующей используется команда virt-clone: sudo virt-clone -o web_devel -n database_devel -f /path/to/database_devel.img —connect=qemu:///system

    • o: исходная виртуальная машина;
    • n: имя вновь создаваемой виртуальной машины;
    • f: путь к файлу, локальному тому или разделу, на котором будет размещена новая виртуальная машина;
    • connect: определяет, к какому супервизору подключаться.

    Такой способ позволяет создать новую виртуальную машину, идентичную исходной. Далее её нужно активировать, для этого подойдет virt-viewer. Затем нужно разместить на ней связку Apache/PHP и остальные серверы. Тестирование работоспособности проверяется командой virsh: virsh -c qemu:///system start web_devel.

    Следующую команду нужно выполнить на удаленной виртуальной машине. Не забудьте изменить IP-адрес, который она получила от родительской машины. Далее требуется сконфигурировать MySQL, и повторно активировать сервер. После этого указываются данные пользователей. Затем параметры iptables устанавливаются таким образом, чтобы через него проходили только данные MySQL.

    Для активации этих настроек нужно прописать их в /etc/rc.local (без sudo).

    После этого нужно выполнить конфигурацию memcached. Чтобы это сделать, нужно создать дубликат уже имеющегося шаблона. Затем активируется виртуальный сервер, после присоединения к нему нужно внести параметр iptables, чтобы оставить открытым только один порт – memcached. Затем те же параметры нужно прописать в /etc/rc.local.

    Источник: gb.ru

    Рейтинг
    ( Пока оценок нет )
    Загрузка ...
    EFT-Soft.ru