Теперь, когда все больше веб-сайтов переходят на настройку с nginx спереди и Apache сзади (или другой веб-сервер лучше справляется с обслуживанием статических носителей, чем Apache), мне было интересно следующее:
Имеет ли смысл размещать статические носители на выделенном сервере (с запущенным nginx) вместо запуска nginx перед Apache?
Я не говорю о бюджете, обслуживании и т. Д. (Я знаю, что запуск двух серверов дороже, чем запуск одного). Я имею в виду:
Как бы вы полностью оптимизировали система предназначен для обслуживания статических файлов? Что можно сделать на аппаратном и программном уровне для оптимизации статических файлов, которые не могу быть сделано в системе, в которой также работает Apache?
Ты прав. Установка двух серверов вместо одного должна дать некоторое преимущество.
Честно говоря, я не вижу никаких преимуществ в обслуживании статических файлов. Для балансировки нагрузки вы можете использовать выделенный балансировщик нагрузки или использовать циклический перебор DNS. Для переключения при отказе вам потребуется некоторая настройка высокой доступности (подробнее см. Pacemaker).
Поэтому для обслуживания статических файлов я бы позаботился о других элементах, таких как большая пропускная способность интернет-соединения, быстрый жесткий диск (или, возможно, SDD) и большее количество ядер вместо большого количества оперативной памяти (я бы не стал отрицать это). Я бы избегал виртуализованных серверных решений и позаботился бы о том, чтобы sendfile был установлен и настроен.