Я создаю образ с помощью сервера Nagios. Одна из проблем Raspberry Pi заключается в том, что памяти у Raspberry Pi достаточно мало. Поэтому я буду использовать облегченный интерфейс на основе php-apc вместо стандартного.
Мне было интересно, какой легкий веб-сервер рекомендуется использовать?
Я рассматривал минимальный веб-сервер, который может делать php и предоставлять SSL. Я думал о Apache2 или Nginx. Хотя я думаю, что Apache все равно превзойдет Nginx, поскольку контент динамический.
web-server
Лукас Кауфман
источник
источник
Ответы:
Реальный вопрос здесь: «Вам нужны все функции, которые предоставляет Apache?» (или, что более важно, «Готовы ли вы использовать память для этих функций?»). Вы можете скомпилировать ОЧЕНЬ урезанный Apache + mod_perl или mod_php, чтобы запустить веб-интерфейс Nagios (или Uber-Stripped apache, который просто запускает Perl CGI), но даже в минималистском виде Apache, вероятно, потребует больше памяти, чем nginx, чтобы выполнить ту же работу - он просто не был создан, чтобы быть маленьким.
Чтобы быть на 100% уверенным, вы, возможно, захотите испечь (скомпилируйте и nginx, и Apache, и посмотрите, что потребляет меньше оперативной памяти), но мой опыт работы с «обычными» серверами говорит о том, что nginx, вероятно, лучший выбор для малой памяти. конфигурация: вы отказываетесь от некоторой гибкости Apache, но если вам все равно это не нужно (а большинство сайтов не нужно), вы никогда не заметите разницы.
С точки зрения производительности (времени), я сомневаюсь, что вы будете ограничены вашим веб-сервером - если не считать все надуманные тесты, если вы делаете достаточно много, а производительность серверного движка, раздающего страницы, настолько критична, что вы, вероятно, собираетесь чтобы испечь свой Raspberry Pi (и действительно, сколько людей будут одновременно просматривать ваши данные мониторинга? :-).
Это в значительной степени аксиома, что вы можете оптимизировать систему для пространства или времени, но никогда не для обоих - и для пространства Raspberry Pi, вероятно, ваше ограничивающее ограничение.
источник
powerful
(потому что это неопределенный термин). Я сказалflexible
(имея в виду, сколько способов можно настроить базовый сервер для нужд). Это не должно плохо отражаться на обоих серверах: оба являются отличными частями кода, но у них совершенно разные цели проектирования. Apache разработан, чтобы быть всем для всех - грузовиком, в который вы можете упаковать весь свой дом. nginx спроектирован так, чтобы быть маленьким и быстрым - спортивным автомобилем, но вы не можете взять с собой жену, детей, родственников и собаку.Nginx
У меня есть хороший опыт использования Nginx в качестве веб-сервера. Для быстрой разработки приложений на Python я использовал бы его с легковесным wsgi- фреймворком, таким как флакон или флакон .
Не ожидайте, что он будет обрабатывать более 10 или около того запросов в секунду, хотя :)
Установка
Nginx находится в репозиториях Debian / Raspbian и Arch, поэтому может быть установлен с помощью одной команды.
арочный
Debian / Raspbian
конфигурация
В сети есть множество примеров конфигурации, и подробное объяснение, вероятно, выходит за рамки этого вопроса. В Nginx Wiki множество примеров, и список рассылки очень полезен.
Поскольку вы упомянули PHP, вам будет очень интересно узнать, что стандартный
/etc/nginx/nginx.conf
файл содержит пример PHP.источник
Lighttpd
Отличным веб-сервером с низким уровнем ресурсов является lighttpd , который поддерживает как PHP, так и SSL. Это , кажется, работает с PHP на Raspberry Pi, и это очень возможно настроить LightTPD для поддержки SecureHTTP .
источник
Node.js
Вы можете использовать node.js для создания легкого веб-сервера. Посмотрите на следующий пример с учебного сайта node.js:
Выше код является сценарием Java, поэтому вы можете написать свою динамическую логику генерации кода в сценарии Java и начать использовать ее в кратчайшие сроки.
Вам нужно скачать и настроить node.js по ссылке: http: //nodejs.org/ для Windows или любой другой платформы, которую вы предпочитаете использовать.
Запустите веб-сервер с помощью команды:
источник
Может быть, вы можете взглянуть на то, что другие люди использовали на нижних ящиках .
По сути, это lighttpd + php-fcgi. Lighttpd действительно легкий, и php-fcgi может быть сконфигурирован для использования немного памяти. Я настроил его на 64-мегабайтный VPS-сервер (но не нагиос, а на CMS).
Также я не знаю, нужно ли оптимизировать MySQL, чтобы использовать как можно меньше памяти .
Это может вам помочь, а может и нет. Я еще не начал использовать мой Raspi :)
источник
Mako Server и BarracudaDrive получены из одного и того же источника, и эти два сервера могут доставлять динамически генерируемый контент (с использованием языка сценариев Lua) на 70% быстрее, чем Apache может доставлять статический контент. Результаты сравнительного анализа приведены здесь: http://barracudadrive.com/blog/2013/03/Apache-Nginx-Lighttpd-Monkey-and-BarracudaDrive-Speed-Test
Мако-сервер можно найти здесь: http://makoserver.net/
источник
Я использую комбинацию Nginx / Passenger для запуска pi.gadgetoid.com на основе Ruby 24/7 на 512Mb Raspberry Pi. Это значительно превосходит настройки Thin / Apache, которые я использовал ранее. Это общедоступный веб-сайт с достаточно высоким трафиком, хотя я много обманывал, используя Cloudflare (в основном, кеширующий прокси-сервер) для обработки большей части этого объема.
Я почти уверен, что эта конфигурация будет удобно размещаться и на 256 МБ Pi, но у меня были проблемы с компиляцией модулей Passenger и Nginx; сталкивается с ограничениями памяти.
Я знаю, что это не PHP-решение, и, скорее всего, меня будут ругать за то, что я предложил такой странный ответ; но если вы ищете Пи, чтобы раздвинуть границы ваших знаний, и делаете это для некоторой случайной работы, я настоятельно рекомендую заглянуть в Руби и Синатру. В течение нескольких недель у вас будет кипеть ненависть к PHP.
В общем, у вас не будет особых проблем с запуском веб-стека PHP / Apache на сервере 256 МБ. Я сделал это для гораздо больших сайтов на профессиональном уровне на облачном хостинге. Когда MySQL вмешивается, все становится ужасно. Выполнение полного стека LAMP на 256 МБ, по меньшей мере, болезненно, но не невозможно при низких объемах трафика.
источник