1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/moonranger-breeze

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Бриз

Этот простой HTTP-сервер, вдохновленный Web-сервером Tornado, предназначен для практического применения навыков программирования на Linux. В проекте не используются сторонние библиотеки, кроме glibc.

Проект находится в процессе разработки. Однако уже реализовано несколько функций:

  • ioloop/iostream: Асинхронный модуль IO, вдохновленный Tornado
  • buffer: Простой кольцевой буфер
  • http: Основные HTTP-функции, такие как парсер протокола, архитектура обработчиков и т.д.
  • виртуальный хост: Простая поддержка виртуальных хостов.
  • конфигурация локации: Простая система конфигурации локации на основе префиксов URI и регулярных выражений.
  • архитектура модулей: Простая архитектура модулей для легкого добавления новых модулей
  • mod_static: Модуль, который может обслуживать статические файлы и поддерживает базовое отображение MIME, управление кэшированием, приветственные файлы, просмотр директорий, запросы с диапазонами (частично).

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

Сборка

Выполните команду make в каталоге src:

cd src
make

Целевые исполняемые файлы будут созданы в том же каталоге. Есть несколько тестовых случаев и основной программой breeze.## Использование

Запуск breeze на основе файла конфигурации

Запустите следующую команду в каталоге src:

./breeze [-c configfile] [-t]

Если ключ -c не указан, то используется файл конфигурации /etc/breeze.conf. Если указан ключ -t, программа выведет детали конфигурации и завершится.

Для получения подробностей о файле конфигурации обратитесь к следующим разделам.

Запуск breeze на указанной корневой директории

Запустите следующую команду в каталоге src:

./breeze [-r root_dir] [-p port]

Этот режим активируется с помощью ключа -r. При активации, breeze не будет читать файл конфигурации. Вместо этого breeze создаст простой сервер, обслуживающий содержимое в корневой директории root_dir. В этом режиме включен режим просмотра директорий. Поэтому этот режим является идеальной заменой Python SimpleHTTPServer. Используйте ключ -p, чтобы указать порт; по умолчанию используется порт 8000.

Пример "Hello World" HTTP-сервера

Запустите следующую команду в каталоге src:

./test_http_server

Сервер начнёт работу на порту 8000. Он вернёт короткий HTML-код для любого запроса на порту 8000.

Конфигурационный файл

Для примера обратитесь к образцу конфигурационного файла. Обратите внимание, что некоторые опции конфигурации ещё не реализованы.

TODO- Автоматическое закрытие соединения с поддержкой keep-alive на стороне сервера

  • Поддержка HTTP chunked encoding, gzip-компрессии

  • Поддержка FastCGI

  • Модуль загрузки файлов

  • Архитектура многопроцессного режима master-worker## Известные ошибки

  • Сервер перестает отвечать на запросы при высокой нагрузке (>2000 одновременных соединений)

Лицензия

GPLv3

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Простой неблокирующий HTTP-сервер на языке C. Развернуть Свернуть
GPL-3.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/moonranger-breeze.git
git@api.gitlife.ru:oschina-mirror/moonranger-breeze.git
oschina-mirror
moonranger-breeze
moonranger-breeze
master