За последние 24 часа нас посетили 22836 программистов и 1257 роботов. Сейчас ищут 566 программистов ...

Виртуальные хосты на Apache 2.4 и Ubuntu 16.04

Тема в разделе "Настройка веб-сервера", создана пользователем Sergey_Tsarev, 2 сен 2017.

  1. Sergey_Tsarev

    Sergey_Tsarev Активный пользователь

    С нами с:
    17 мар 2016
    Сообщения:
    502
    Симпатии:
    105
    Всем привет! Есть у меня несколько сайтов, которые лежат на разных непонятных хостингах. Решил все их собрать на одном VPS-сервере. До этого у меня там лежал один сайт и проблемы с разделением хостов не было. Всё лежало по-умолчанию в /var/www/html/. И вот теперь мне нужно расположить несколько сайтов, и для каждого, чтобы был отдельный админ. Почитал про mpm-itk и mpm-prefork. Есть вопросы:
    1. Прочитал, что использование данных модулей повышает риск взлома. Так ли это?
    2. Какой из этих модулей выбрать?
    3. Есть ли какие-нибудь альтернативные варианты?
    Всем спасибо ;)
     
  2. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    Криворукий администратор повышает риск взлома, а не модули. Хочешь свести на ноль риск взлома - выключи сервер. В противном случае, штудируй источники и знай, что делаешь.
    Если тебе прям изоляция нужна, то mpm-itk. Там под капотом тот же prefork, собсна, только обмазанный политиками доступа драконовскими.

    Ну и да, ты ведь поставишь перед апачем nginx, да?
     
  3. Sergey_Tsarev

    Sergey_Tsarev Активный пользователь

    С нами с:
    17 мар 2016
    Сообщения:
    502
    Симпатии:
    105
    Вот по больному прям :) Ну раз ты про это написал, то точно буду делать. Хотя тема эта для меня новая и я пока еще плохо понимаю все приемущества связки apach + nginx.
     
  4. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    Это потому, что ты не вникал, как в принципе работает веб-сервер. И не задумывался о том, как у тебя страница грузится. Думаешь, одна страница - это один запрос? Окей. Открой страничку своего сайта, а потом открой access-логи апача(если они у тебя включены, конечно). И ужаснись от того, сколько запросов к нему ты послал, открывая одну-единственную страничку. У тебя там будет, грубо, один запрос к PHP. И еще с десяток ко всяким css, js, картиночкам, иконочкам, шрифтикам.

    Так вот, PHP_mod это просто модуль апача. То есть, процесс апача, обрабатывающий десяток css, js, картиноки ничем не отличается от процесса, обрабатывающего запрос к PHP. И все бы ничего, но процессы апача очень дорого стоят. А теперь давай сравним размер данных, полученных от PHP в сравнении с картиночками теми же. Картиночка окажется чуть ли не на порядок тяжелее текста, отданного пыхой.

    А теперь, внимание, допустим, у меня мееедленный клиент. Мобилка на edge. Или Хром с включенным троттлингом в отладчике. И я тяну ответы от тебя меееееееедленно. И вот процесс апача, дорогой и лимитированный, вместо того, чтобы лопатить PHP со скоростью света(а это он умеет, я гарантирую), отдает по байтику картиночку мне... Не выполняя другой работы. Потому что не может. Посчитай, сколько у тебя процессов разрешено апачу поднимать? Ставлю, что не более десятка. Пара-тройка медленных запросов даже от одного человека тут же выжрут процессы твоего апача, а если он, аварийно, начнет плодить новые, у тебя ляжет сервер под нагрузкой.

    А теперь представь, что все запросы из внешнего мира принимает легкий простенький сервер, который не умеет ни в какие крутые прям фичи, в том числе не умеет в PHP, но, за счет этого, может оперировать кучей потоков в рамках одного процесса? И умеет в параллельном режиме отдавать что угодно. Но, так как PHP он сам не умеет обрабатывать, он будет прокидывать запрос апачу. Потом забирать его ответ и отдавать как статику обычную.

    В итоге тяжелый апач будет заниматься только тем, чем должен - молниеносной обработкой динамики на php. А картиночки, css, js, это все будет отдавать параллельными потоками легковесный nginx.

    Как бонус - даже если отдаваемая страница сама по себе тяжелая, нам все равно не страшен медленный клиент. Ведь клиентом апача будет nginx. Он мгновенно получит от него ответ, а потом, без напряга, будет хоть по байту в секунду, но отдавать его клиенту. А апач тем временем еще кучу запросов перелопатить успеет.
     
    Mitai, eldor, Sergey_Tsarev и ещё 1-му нравится это.
  5. Sergey_Tsarev

    Sergey_Tsarev Активный пользователь

    С нами с:
    17 мар 2016
    Сообщения:
    502
    Симпатии:
    105
    @Fell-x27, то есть как я понял весь фронтэнд мы вешаем на nginx, а бэк работает на апаче? Буду пробовать. Спасибо ;)
     
  6. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    Ну...наверное, смотря, что ты в эти слова вкладываешь, так как с ними та еще путаница терминологическая.
    На деле это называется так - на nginx идет вся статика. А на apache динамика.
     
  7. Sergey_Tsarev

    Sergey_Tsarev Активный пользователь

    С нами с:
    17 мар 2016
    Сообщения:
    502
    Симпатии:
    105
    Ну я это и имею ввиду. HTML, CSS, JS и картинки - nginx, а обработка данных то бишь php на индейце.
     
  8. 342838

    342838 Новичок

    С нами с:
    27 сен 2017
    Сообщения:
    1
    Симпатии:
    0
    Привет подскажите чайнику как настроить vps и грузить свой сайт и qsl на сервер за ранне спс
     
  9. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА