Случайно нашел сайт nodejs.ru, полистал и добавил в ридер. Давно хотел попробовать node.js, но именно этот сайт стал той самой последней каплей в чаше желания и я решил незамедлительно попробовать node.js в действии.

Установка

Заходим на оф. сайт node.js и копируем ссылку на архив с сорцами.

# cd /tmp
# fetch http://s3.amazonaws.com/four.livejournal/20100120/node-v0.1.26.tar.gz
# 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 http://127.0.0.1:8081/;
    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

Заходим на http://localhost:8081/ и наблюдаем за результатом!

Резюме

Это вступительная статья, в ней ничего нет сложного. но чтобы опробовать node.js тут достаточно информации.
То, с чем я советую ознакомиться:


Комментарии (17) на запись «Установка node.js на FreeBSD и использование под Nginx»

» Трекбеки скрыты, показать их?
  1. CTAPbIu_MABP | 02.02.2010 в 21:22

    а какие реальные цели его использования?

  2. adw0rd | 02.02.2010 в 23:25

    Ну как и любого другого языка и фреймворка. А плюсы, то что пишешь что клиентскую часть на js, что серверную. Да и во многих случаях движок V8 побыстрее многих других серверных языков, например PHP, Python, Ruby...

  3. CTAPbIu_MABP | 02.02.2010 в 23:36

    нет я имел ввиду что конкретно ты собираешься с ним делать

  4. adw0rd | 03.02.2010 в 00:04

    Пока у меня для него нет реальных задач, я просто экспериментирую. Вот кстати, почитай.

  5. Kuroki Kaze | 04.02.2010 в 20:51

    О, ещё один Node-писатель :) Здорово.

    Как насчёт сегфолтов Ноды при работе во FreeBSD? Раньше точно была проблема.

  6. phpdude | 07.02.2010 в 20:42

    ахуенчег! эдво, не трави ... ну пожалуйста, ведь жс так ахуенен!!!! а ты травишь ... еще и жс + нгинкс :'(

  7. adw0rd | 07.02.2010 в 20:49

    Давай-давай потрать время с пользой :D

  8. phpdude | 07.02.2010 в 20:51

    adw0rd, ыыыы )))))) ненене!!

    меня не интеерсует эта технология, не интересует, не интересует, не интересует ... лишь бы еще раз не напороться на такие статьи =)

  9. adw0rd | 18.03.2010 в 23:34

    Kuroki Kaze, пропустил ваш каммент, извините. Да, проблемы имели место быть в 0.1.26, но сейчас поставил 0.1.32 и все работает хорошо

  10. AbS_ | 22.07.2010 в 12:21

    А можно установить git, и дальше все как обычно.

  11. AlexWox | 20.08.2010 в 19:13

    Здравствуйте у меня проблема при установке на freebsd после ./configure --prefix=/usr/local пишет что: env:python:No such file or directory.

    версия nodejs 0.1.104.

    libexecinfo — установил.

    Заранее спасибо.

  12. adw0rd | 20.08.2010 в 20:28

    Ну а python стоит?

  13. AlexWox | 22.08.2010 в 00:14

    Спасибо но я уже решил проблему я из портов поставил =) там и версия поновее

  14. adw0rd | 22.08.2010 в 03:26

    Новее чем с оф. сайта? :)

  15. Вова | 16.03.2011 в 18:36

    хорошо написано, доступно для новичка

  16. Pandora | 02.08.2011 в 03:01

    Можно неплохой твиттер на основе этого написать или тот же чат с очередями на обновление сообщения, удаление, добавление

  17. PadoraBox2007 | 02.08.2011 в 03:42

    клевый пример nodejs.ru/553

Оставить комментарий