Рубрика «fastcgi»
Что случилось с CGI, и как FastCGI спас веб от катастрофы?
2026-03-17 в 13:01, admin, рубрики: Apache, cgi, fastcgi, nginx, php-fpm, ruvds_статьи, архитектура веб-приложений, веб-серверы, системное администрированиеЛокальный веб-сервер под Linux, с автоматическим поднятием хостов и переключением версий PHP
2018-07-14 в 12:56, admin, рубрики: Apache, apache2, dnsmasq, fastcgi, php, postfix, vhost_aliasСкорее всего какие-то части этой статьи уже знакомы многим хаброжителям, но в связи с покупкой нового рабочего ноутбука я решил собрать все крупинки воедино и организовать удобное средство для разработки. Мне часто приходится работать со множеством маленьких проектов, с разными версиями PHP, часто переводить старые проекты на новые версии. В далёком прошлом, когда я был пользователем Windows то использовал OpenServer. Но с переходом на Linux мне нехватало той простоты создания хостов и переключений версий которые были в нём. Поэтому пришлось сделать еще более удобное решение на Linux =)
Цели
- Использовать текущий на момент написания статьи софт
- Чтоб разграничить локальные домены, будем использовать специальный домен .loc
- Переключения версий PHP реализуем через поддомен c помощью fast-cgi
- Автоматическое создание хоста с помощью vhost_alias и dnsmasq
Что имеем в итоге. При переходе на
56.test.loc
Apache запустит c версией PHP 5.6.36
/var/www/test.loc/public_html/index.php
Поменяв поддомен на
72.test.loc
будет запущен тот же файл но уже с версией PHP 7.2.7
Другие версии доставляются аналогичным описанным ниже способом.
Для создания еще одного сайта просто создаем в /var/www/ папку имеющую окончание .loc, внутри которой должна быть папка public_html являющаяся корнем сайта
Вот собственно и все. Как без дополнительных мучений, перезапусков, и редактирований конфигов имеем автоматическую систему для работы с сайтами.
Читать полностью »
Быстрый пул для php+websocket без прослойки nodejs на основе lua+nginx
2017-09-25 в 6:37, admin, рубрики: fastcgi, highload, Lua, lua-nginx-module, nginx, nodejs, php, websockets, высокая производительность
Кратко: nginx не умеет пулить websockets, а php работает per request. Нужна прослойка которая будет держать открытыми вебсокеты и при поступлении данных соединяться с php (через тот же fastcgi) и отправлять обратно ответ.
Тема, как оказалось, не нова, исходники тянуться аж из 2014, но, тем не менее, информации о трюке, про который здесь пойдёт речь, крайне мало. Можете погуглить "websockets php". Усугубляется тема ещё тем, что найденные примеры реализации (два, точнее) не работают, включая тот, что в документации :)
В рамках работы по оценке различных способов реализации Web UI для существующего C++ приложения, на основе хорошо известного на Хабре фреймворка Fastcgi Daemon был создан фреймворк Fastcgi Container.
При сохранении всех возможностей прототипа, основные отличия нового фреймворка от него заключаются в следующем:
- фреймворк переписан на C++11
- добавлена поддержка фильтров
- добавлена поддержка аутентификации и авторизации клиента
- добавлена поддержка сессий
- добавлена поддержка сервлетов (расширение обработчиков запросов из оригинального фреймворка)
- добавлен Page Compiler для генерирования C++ сервлетов из JSP-подобных страниц
WSGI-Rack для PHP
2015-02-08 в 16:44, admin, рубрики: fastcgi, php, Rack, uwsgi, wsgi, Веб-разработка, Настройка Linux, метки: Rack, WSGIИсторически сложилось, что скрипты на PHP запускаются при каждом HTTP-запросе. Запускаясь, скрипт проводит какую-то инициализацию (например, устанавливает соединение с СУБД), после чего анализирует запрос и формирует ответ. Однако, всем прекрасно известно, что в мире Python и Ruby принят другой подход: веб-приложения на этих языках загружаются в память единовременно вместе с веб-сервером (или сервером приложений). Взаимодействие сервера приложений со скриптом осуществляется при помощи стандартных интерфейсов WSGI и Rack. Такой подход, безусловно, не лишён недостатков, главный из которых, пожалуй, связан с резким ростом накладных расходов при размещении большого числа сайтов на одном сервере, однако, обладает и важным преимуществом: инициализация производится лишь однократно, затем скрипт лишь отвечает на входящие HTTP-запросы.
Web-разработка на Python глазами PHP-программиста
2014-11-23 в 13:23, admin, рубрики: fastcgi, php, python, threading, uwsgi, web-application, wsgi, Веб-разработкаВведение
В статье хотелось бы поднять вопросы отличия использования Python для web-зазработки по сравнению с оной на PHP. Надеюсь, статья не приведет к холиварам, так как она вовсе не о том, какой язык лучше или хуже, а исключительно о технических особенностях Python.
Читать полностью »
Как устроена система SMSDirect
2014-07-15 в 8:23, admin, рубрики: berkeley db, fastcgi, nginx, perl, postgres, smpp, sms, Анализ и проектирование систем, Блог компании i-Free, телефония 
Здравствуйте, читатели!
Прочитав здесь о сравнении смс-сервисов для рассылок, мы решили рассказать вам о своем опыте построении подобной системы, которая верой и правдой служит нам в i-Free несколько лет и постоянно дорабатывается и совершенствуется. Надеемся, наш опыт будет вам полезен. В общем, тем, кому интересно, прошу под кат.
Читать полностью »
Назад, к технологиям верхнего палеолита, от любимых всеми REST, STATEless, CRUD, CGI, FastСGI и MVC
2014-01-20 в 7:58, admin, рубрики: api, cgi, crud, event loop, fastcgi, mvc, mvp, node.js, rest, RESTful, statefull, Анализ и проектирование систем, архитектура, Веб-разработка, метки: cgi, crud, event loop, fastcgi, model, mvc, mvp, node.js, rest, RESTful, statefull, архитектура
«Только со смертью догмы начинается наука.»
// Галилео Галилей
«Я начал завидовать рабам. Они всё знают заранее. У них твёрдые убеждения.»
// х/ф Марка Захарова «Убить дракона» по мотивам пьесы Евгения Шварца
Уже пару лет и дня не проходит, чтобы я не услышал (или не прочитал) от людей, начинающих новые проекты, фразу типа «Возьмем серверный движок для REST API и MVC, и погнали». Сначала я думал, что у этих слов есть один источник, может книжку какую завезли во все магазины или где-то в топе поисковиков лежит статья, зомбирующая разработчиков. Если же выяснять у них, что они понимают под REST и MVC, то можно повредиться умом. Ну с MVC уже все ясно, об этом я уже давно писал, ничего не изменилось, только усугубилось, стоит набрать в Google Images «mvc» и мы увидим страшное, стрелочки в любые стороны. Ну а про REST отвечают следующее: ну как же, нам нужно из браузерного GUI и мобильного приложения вызывать серверные методы, например: setUserCity(userId, cityId) или calculateMatrix(data) или startVideoConverter(options, source, destination) а потом мы столкнемся с большой нагрузкой и архитектура REST все решит. Дальше я задаю вопросы, от которых глаза округляются уже у тех, кто недавно еще горел праведной верой, рвался в бой и точно знал, что к чему в этом мире. Теперь можно перейти к рассмотрению терминологической катастрофы, в эпицентре которой мы с вами пребываем.
Читать полностью »
Запускаем приложение ASP.NET MVC 4 на Ubuntu Server 12.04 + nginx
2013-09-10 в 7:33, admin, рубрики: .net, ASP, asp.net mvc 4, fastcgi, Mono, nginx, ubuntu server, метки: asp.net mvc 4, fastcgi, Mono, nginx, ubuntu serverЗахотелось мне посмотреть, как работает реализация .NET на Linux. Решено было развернуть Ubuntu Server на нашем гипервизоре, установить свежий пакет mono и через nginx запустить ASP.NET MVC4 сайт.
На официальном сайте mono готовый пакет для Ubuntu только 2-х летней давности. С этого момента начались поиски в сети путей осуществления задуманного. Результатом полученного опыта стал скрипт для автоматического развертывания на голой Ubuntu Server 12.04.3 или 13.04 всего необходимого для запуска сайтов ASP.NET MVC4:
- Соберем из исходников и установим mono 3.2.1
- Добавим monoserve скрипт в init.d для автоматического запуска сайтов и управления ими.
- Установим nginx 1.4.1
- Создадим и настроим простой сайт, чтобы проверить работоспособность всей связки.
Сразу под катом находится строчка для автоматического выполнения всей процедуры, описанной в статье.
Читать полностью »
Web-приложение на C/C++ с помощью FastCGI — это просто
2012-10-10 в 12:40, admin, рубрики: c++, fastcgi, web-разработка, веб-приложение, Веб-разработка, С++, сокеты, метки: fastcgi, web-разработка, веб-приложение, С++, сокеты Добрый день.
В этой статье я бы хотел рассказать про протокол FastCGI и способы работы с ним. Не смотря на то, что сам протокол и его реализация появились ещё в 1996 году, подробных руководств по этому протоколу просто нет — разработчики так и не написали справки к собственной библиотеке. Зато года два назад, когда я только начал пользоваться этим протоколом, часто встречались фразы типа «я не совсем понимаю, как пользоваться этой библиотекой». Именно этот недостаток я и хочу исправить — написать подробное руководство по использованию данного протокола в многопоточной программе и рекомендации по выбору различных параметров, которым могли бы воспользоваться все желающие.
Читать полностью »

