Установка node.js на FreeBSD и использование под Nginx
Случайно нашел сайт nodejs.ru, полистал и добавил в ридер. Давно хотел попробовать node.js, но именно этот сайт стал той самой последней каплей в чаше желания и я решил незамедлительно попробовать node.js в действии.
Установка
Заходим на оф. сайт node.js и копируем ссылку на архив с сорцами.
# cd /tmp # fetch # tar -xzvf node-v0.1.26.tar.gz # cd node-v0.1.26 # ./configure --prefix=/usr/local # make && make install # rehash
Если у вас не установлен libexecinfo, то:
# cd /usr/ports/devel/libexecinfo # make install
Использование
Потестим для начала сам node, для этого создайте файлик example.js со следующим содержимым:
var sys = require('sys'); sys.puts('Hello, people!');
И запустите этот файлик:
# node example.js
Если нет ошибок, то можете продолжить и завязать node с nginx. А если есть ошибки - пишите в комментарии, помогу.
Использование с Nginx
Думаю у вас уже стоит Nginx, поэтому привожу сразу конфиг для нашего node.js хоста.
А если Nginx у вас НЕ установлен/настроен, то вам сюда.
... location /nodejs/ { proxy_pass proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } ...
Далее, создадим скрипт server.js со следующим содержимым:
var sys = require('sys'); var http = require('http'); http.createServer(function (req, res) { res.sendHeader(200, {'Content-Type': 'text/plain'}); res.sendBody('Hello, people!', 'utf8'); res.finish(); }).listen(8081); sys.puts('Server running at port 8081');
Ну а теперь запустим сам бекенд и рестартанем nginx:
# node server.js # /usr/local/etc/rc.d/nginx restart
Если вы запустите с ключом --debug, то вам станет доступен дебагер на tcp-порту 5858
#node --debug server.js
Заходим на и наблюдаем за результатом!
Резюме
Это вступительная статья, в ней ничего нет сложного. но чтобы опробовать node.js тут достаточно информации.
То, с чем я советую ознакомиться:
- Посмотрите реализацию серверного компонента чата на node.js
- Можно еще посмотреть бенчмарки
- И почитать интересную статью Nginx + серверный Javascript

Комментарии
а какие реальные цели его использования?
Ну как и любого другого языка и фреймворка. А плюсы, то что пишешь что клиентскую часть на js, что серверную. Да и во многих случаях движок V8 побыстрее многих других серверных языков, например PHP, Python, Ruby...
нет я имел ввиду что конкретно ты собираешься с ним делать
Пока у меня для него нет реальных задач, я просто экспериментирую. Вот кстати, почитай.
О, ещё один Node-писатель :) Здорово.
Как насчёт сегфолтов Ноды при работе во FreeBSD? Раньше точно была проблема.
ахуенчег! эдво, не трави .... ну пожалуйста, ведь жс так ахуенен!!!! а ты травишь ... еще и жс + нгинкс :'(
Давай-давай потрать время с пользой :D
adw0rd, ыыыы )))))) ненене!!
Kuroki Kaze, пропустил ваш каммент, извините. Да, проблемы имели место быть в 0.1.26, но сейчас поставил 0.1.32 и все работает хорошо
А можно установить git, и дальше все как обычно.
Здравствуйте у меня проблема при установке на freebsd после ./configure --prefix=/usr/local пишет что: env:python:No such file or directory.
версия nodejs 0.1.104.
libexecinfo - установил.
Заранее спасибо.
Ну а python стоит?
Спасибо но я уже решил проблему я из портов поставил =) там и версия поновее
Новее чем с оф. сайта? :)
хорошо написано, доступно для новичка
Можно неплохой твиттер на основе этого написать или тот же чат с очередями на обновление сообщения, удаление, добавление
клевый пример http://nodejs.ru/553
Доброго времени суток! При установке выдает следующую ошибку:
Подскажите плиз, что это и как решить проблему?
Наверное хочет gmake:
обновил gmake - не помогает
Ну теперь его надо запустить :)
gmake && gmake install
долго искал подобный пост. Очень нужно собрать на одном сервере Perl, Node.js и Java EE.Сейчас попробую прокси раскидать на Apache, Node, GlassFish
Оставьте свой комментарий