LoginSignup
5
5

More than 5 years have passed since last update.

【raspberry-pi】nginx + passenger + node.js 環境作成メモ (2)

Last updated at Posted at 2014-02-20

【raspberry-pi】nginx + passenger + node.js 環境作成メモ (1)の続き

node.js インストール

  • nodebrewを使用
  • http://nodejs.org/dist/を確認して、linux-arm-pi のパッケージが置いてあるバージョンだと install-binary できて早い
  • passengerから実行したときに node が見つからない、となったので /usr/local/bin にシンボリックリンクを作成した
$ cd /usr/local/bin
$ sudo ln -s ~/.nodebrew/current/bin/node .

テストアプリ

$ mkdir passenger_node_test
$ mkdir passenger_node_test/public
$ mkdir passenger_node_test/tmp
$ cd passenger_node_test
$ vi app.js
app.js
var http = require('http');
var server = http.createServer(function(req, res) {
    res.writeHead(200, { 'Content-Type': 'text/plain' });
    res.end("hello world!\n");
});
server.listen(3000);

nginx設定

/opt/nginx/conf/nginx.conf
server {
    listen       80;
    server_name  xxx.xxx.jp;

    location / {
        root   html;
        index  index.html index.htm;
    }

    location /test {
        root /home/pi/projects/passenger_node_test/public;
        passenger_enabled on;
    }
}

テストアプリは上記設定で動作することを確認した。
socket.ioを使用したアプリだと、サーバールートへ配置した場合は動作するが、サブディレクトリへの配置ではうまくいかない。
やり方はあるようだが面倒くさそう。

【追記】
別ポートで動かすのがとりあえず楽そう。

server {
    listen 8000;
    root /home/pi/projects/socket-io-sample/public;
    passenger_enabled on;
}
5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5