Не так давно компания Aptana выпустила сервер Jaxer. Ядро этого сервера — интерпретатор JavaScript из проекта Mozilla.org (движок называется SpiderMonkey). Сервер громко провозглашен первым в мире Ajax-сервером по довольно простой причине. Помимо серверного JavaScript, который пишется в коде HTML страниц (так же как и PHP), сервер позволяет функции, написанные для исполнения не сервере, вызывать из кода предназначенного для выполнения на стороне клиента. Вызов осуществляется с помощью AJAX-запроса. Кроме этого с помощью директивы both, приписываемой в атрибуте runat тега script можно указать фрагменты кода, которые могут исполняться как на клиенте, так и на сервере. Подробней об этом, для тех кто заинтересовался, написано ниже.
Aptana выпустила сервер в двух вариантах. Первый — интегрированный в ее среду разработки. Второй — отдельный сервер, интегрированный с Apache (есть сборки для Win, Mac и Nix). Работает все так же просто как и Денвер. Просто запускаешь скрипт StartServers.bat из распакованной папки, создаешь в папке public директорию для проекта, копируешь туда файлы и можешь любоваться на свое творение по адресу localhost:8081/папка_проекта/. Проекты, создаваемые в Aptana Studio можно гонять как на встроенном в Аптану Jaxer'е, так и на отдельном сервере, все настраивается в два счета.
В общем все просто, но тут мне приспичило интегрировать Jaxer с Денвером. На сайте разработчика есть статья, посвященная этому делу. Но увы там не все соответствует действительности…
Итак:
Во-первых, качаем и распаковываем
запускаем StartServers.bat
jaxer, local_jaxer, logs, tmp переносим в \WebServers\usr\local\jaxer
jaxer\aptana переносим в WebServers\home\jaxer\www\
Во-вторых, правим конфиг апача
файл \WebServers\usr\local\apache\conf\jaxer.conf
LoadModule jaxer_module "/usr/local/jaxer/jaxer/connectors/mod_jaxer.so" <IfModule jaxer_module> DefaultInitEnv "SystemRoot" "c:\windows" JaxerWorker 127.0.0.1 4327 <Location "/jaxer-server"> SetHandler JAXER Order Deny, Allow Allow from all </Location> <LocationMatch "/jaxer-include/"> JaxerPassThrough on Order Deny, Allow Deny from all </LocationMatch> <Directory "/usr/local/jaxer/jaxer/framework"> Deny from all <Files clientFramework*.js> Allow from all </Files> </Directory> Alias /jaxer/framework/clientFramework_compressed.js "/usr/local/jaxer/jaxer/framework/clientFramework_compressed.js" Alias /jaxer/framework/clientFramework.js "/usr/local/jaxer/jaxer/framework/clientFramework.js" <Directory "/home/jaxer/www"> DirectoryIndex index.php index.php3 index.html index.htm index.html.var index.html.var index.html.redirect JaxerFilter html xhtml htm php JaxerFilterContentType text/html Order Deny, Allow Allow from all </Directory> </IfModule>
в SystemRoot прописать свой путь к папке винды
в конеце \WebServers\usr\local\apache\conf\httpd.conf добавляем
Include conf/jaxer.conf
В-третьих
создаем файлы:
\WebServers\denwer\scripts\init.d\StartServers.bat
@echo off
start /d G:\WebServers\usr\local\jaxer\jaxer StartJaxer.bat start
\WebServers\denwer\scripts\main\start\40_jaxer
init.d/StartServers.bat
\WebServers\usr\local\jaxer\jaxer\StartJaxer.bat
@echo off if not defined JAXER_WEB_PORT set JAXER_WEB_PORT=4327 if not defined JAXER_COMMAND_PORT set JAXER_COMMAND_PORT=4328 if not defined JAXER_LOG_OUTPUT set JAXER_LOG_OUTPUT=%~dp0\..\logs\jaxer.log if not defined JAXER_TEMP set JAXER_TEMP=%~dp0\..\tmp if not defined JAXER_CFG set JAXER_CFG=%~dp0\..\local_jaxer\conf\JaxerManager.cfg start /b /wait Jaxer -reg -tempdir «%JAXER_TEMP%» > nul 2>&1 start /b JaxerManager --configfile=«%JAXER_CFG%» --webport=%JAXER_WEB_PORT% --commandport=%JAXER_COMMAND_PORT% --cfg: tempdir="%JAXER_TEMP%" --log: output="%JAXER_LOG_OUTPUT%" 1> nul
Проверяем http://jaxer, жмем Server Diagnosticsв результате получили работоспособный сервер jaxer + денвер
В скором времени планирую выложить несколько примеров использования и перевод части официальной документации


0 Responses to запуск Denwer+Jaxer