вторник, 15 марта 2011 г.

Использование node.js вместе с nginx

Если вам вдруг потребуется запустить nginx перед node.js для того чтобы отрезать часть статики, либо еще по каким либо причинам. То вот пример проверенной рабочей конфигурации (/etc/nginx/conf.d/virtual.conf):

upstream node_blog {
    server 127.0.0.1:12000;
}

server {
    listen      80;
    server_name example.com www.example.com;

    access_log /var/log/nginx/example.access.log;

    root /path/to/docroot/public;

    location ~ /(images|stylesheets|javascripts) {        
        expires max;
    }

    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-NginX-Proxy true;

        proxy_pass http://node_blog/;
        proxy_redirect off;
    }
}
В этом примере, сервер node запущен на 12000 порту localhost. Nginx отдает статику а все остальное проксируется на node.

Можно добавить несколько блоков upstream, для каждой имеющейся инстанции node instance. Главный смысл заключается в использовании директивы proxy_pass для передачи запросов в node.

Комментариев нет:

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