v8cgi — обертка для JS-движка v8 от гугла. Меня попросили его поставить на сервер и он меня приятно удивил непредсказуемо малой прожорливостью и удобством эксплуатации.
Итак, задачи:
1. Собрать v8
2. Собрать v8cgi в том числе как модуль апача
3. Настроить апач.
4. Выпить чаю с карамельками по этому поводу.
Необходимо: питон, subversion и scons(gcc есть везде).
Для неопытных: в debian подойдут пакеты svn, scons, python-minimal
Забираем исходный код с SVN
и, перейдя в полученную папку, запускаем конструктор.
Копируем свежесобранный файл (libv8*.so) в /usr/lib/libv8.so
Надо: библиотеки apache, mysql и GD
(пакеты deb: libmysqlclient15-dev libgd2-dev apache2-threaded-dev )
Опционально: sqlite и fastcgi ( libfcgi-dev libsqlite3-dev)
Обязательно исправляем примерно на 58 строке файла Sconfigure ../v8 на ../V8, иначе конструктор будет недоволен.
Собираем:
Собрано. Имеем 2 файла: mod_v8cgi.so и v8cgi, копируем их в /home/v8, а содержимое каталога lib в /usr/lib/v8cgi.
Конфиг libv8cgi.conf.posix скопируем в /etc/v8cgi.conf
добавим 3 строчки с кофиг и модуль заработал.
По поводу запуска как cgi программы.
В еррорлоге v8cgi ругается на неверные заголовки и ожидаемо падает 500 ошибкой. Руки, что поделаешь :)
v8cgi заработал с непредсказуемо малым расходом памяти — 20-30 мб, против ожидаемых 70-100.
JS получил еще одно пинковое ускорение в развитии уже в совершенно другом качестве. Перспективы? Горизонты? Время покажет.
Ой. карамелек нет. Нет и чая.
Есть очень кислая вишня. Зальем ее кипятком и отправим в организм немного витаминов :) Кстати неплохо, рекомендую.
Итак, задачи:
1. Собрать v8
2. Собрать v8cgi в том числе как модуль апача
3. Настроить апач.
4. Выпить чаю с карамельками по этому поводу.
v8
Необходимо: питон, subversion и scons(gcc есть везде).
Для неопытных: в debian подойдут пакеты svn, scons, python-minimal
Забираем исходный код с SVN
svn checkout v8.googlecode.com/svn/trunk v8-read-only
и, перейдя в полученную папку, запускаем конструктор.
scons library=shared
Копируем свежесобранный файл (libv8*.so) в /usr/lib/libv8.so
cgi
Надо: библиотеки apache, mysql и GD
(пакеты deb: libmysqlclient15-dev libgd2-dev apache2-threaded-dev )
Опционально: sqlite и fastcgi ( libfcgi-dev libsqlite3-dev)
Обязательно исправляем примерно на 58 строке файла Sconfigure ../v8 на ../V8, иначе конструктор будет недоволен.
Собираем:
scons module=1 sqlite=0 fcgi=0
Собрано. Имеем 2 файла: mod_v8cgi.so и v8cgi, копируем их в /home/v8, а содержимое каталога lib в /usr/lib/v8cgi.
Конфиг libv8cgi.conf.posix скопируем в /etc/v8cgi.conf
Apache
добавим 3 строчки с кофиг и модуль заработал.
LoadModule v8cgi_module /home/v8/mod_v8cgi.so
v8cgi_Config /etc/v8cgi.conf
AddHandler v8cgi-script .ssjs
По поводу запуска как cgi программы.
ScriptAlias /ssjs/ /home/lazutov/ssjs/
AddHandler v8cgi-handler .ssjs
Action v8cgi-handler /ssjs/v8cgi
В еррорлоге v8cgi ругается на неверные заголовки и ожидаемо падает 500 ошибкой. Руки, что поделаешь :)
Заключение
v8cgi заработал с непредсказуемо малым расходом памяти — 20-30 мб, против ожидаемых 70-100.
JS получил еще одно пинковое ускорение в развитии уже в совершенно другом качестве. Перспективы? Горизонты? Время покажет.
Чай
.Ой. карамелек нет. Нет и чая.
Есть очень кислая вишня. Зальем ее кипятком и отправим в организм немного витаминов :) Кстати неплохо, рекомендую.