node.js + Ubuntu + Apache Proxy

Standard

Ubuntuにnode.js入れてApacheからProxyさせてみたの転載 + 作業ログ。
 
 
コンパイル + インストール
 
node.jsは最新版をgithubからとってきてコンパイルする。パッケージもあるけど。http://packages.ubuntu.com/maverick/nodejs
必要なものが入ってなければインストールする。

  • sudo aptitude install libssl-dev
  • sudo aptitude install build-essential
  • cd /usr/local/src/
  • git clone https://github.com/joyent/node.git
  • cd node
  • sudo ./configure
  • sudo make
  • sudo make install

 
VirtualHostの設定とProxyモジュールの有効化
 
/etc/apache2/sites-available/nodejs

<virtualhost *:80>
    ServerName nodejs
    DocumentRoot /YOURHOME/Sites/nodejs
    <directory /YOURHOME/Sites/nodejs/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    
    RewriteEngine on
    RewriteRule /(.*) http://localhost:8124/$1 [P,L]
    ErrorLog /var/log/apache2/error.log
    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn
    CustomLog /var/log/apache2/access.log combined
</virtualhost>
  • sudo a2ensite nodejs
  • sudo a2enmod proxy
  • sudo a2enmod proxy_http
  • sudo /etc/init.d/apache2 restart

 
/YOURHOME/Sites/nodejs/hello.js

var sys = require('sys'),
http = require('http'),
port = 8124;
http.createServer(function(request, response) {
  response.writeHead(200, {
    'Content-Type': 'text/html'
  });
  response.end(request.url + ' - Hello node.js\n');
}).listen(port);
sys.puts('Server listening on port ' + port);
  • cd /YOURHOME/Sites/nodejs
  • node hello.js &

 
npmのインストール
 
http://npmjs.org/

  • curl http://npmjs.org/install.sh | sudo sh