Archive


Category: 來玩Node.js

  • [Node.js] 建立Node.js的測試開發環境-使用Eclipse

    1.下載JDK 請前往http://www.oracle.com/technetwork/java/javase/downloads/index.html下載JDK並安裝 2.下載Eclipse 請前往http://www.eclipse.org/downloads/ ,下載Eclipse並安裝 3.開啟Eclipse,在上方列中選Help,於下接選項中選Install New Software 4.此時會跳出一個Install視窗,點選右邊 Add的按鈕 5.此時會跳出一個Add Repository的視窗,請填入 Name: Chrome Developer Locaation: http://chromedevtools.googlecode.com/svn/update/dev 後按OK按鈕 6.接下來跳出視窗中勾選 Google Chrome Developer Tools後按Next按鈕 7.此時會計算出所需的安裝,請按Next按鈕進行下一步 8.接著出現版權頁面,勾選 I accept the terms of the license agreements後按Finish按鈕,就會進入安裝程序.安裝完後重啟就行了.

  • [Node.js] 將Node.js所寫的APP加到開機啟動

    當你使用Node.js寫了一個web.js程式,我們都會使用 node web.js來手動啟動,但有些情況我們希望這個程式能跟著主機一起啟動. 我所使用的是Ubuntu作業系統,所以我要在/etc/init.d目錄下加一個script,並將這個script加入到開機啟動中,以下就是我的做法 1.在/etc/init.d目錄下,新增一個node_web的檔案,內容如下 #!/bin/sh # get actionACTION=$1 usage() {        echo “Usage: /etc/init.d/node_web {start|stop|restart}”        exit 1;        } start() {        pid=`ps -ef|grep \[w]eb.js|awk ‘{print $2}’`        if [ ! -z $pid ]; then                echo “Service is already running!!”        else                /usr/local/bin/node /var/www/web.js 2>&1 &                echo “Service is starting!!”        fi        } stop() {        pid=`ps -ef|grep \[w]eb.js|awk ‘{print $2}’`        […]

  • [Node.js] Ubuntu上安裝Node.js

    安裝步驟如下 1.安裝必要的套件,才能繼續安裝 # apt-get install gcc g++ # apt-get install make# apt-get install git 2.使用git安裝nodejs # git clone https://github.com/joyent/node.git 3.列出所有版本,並使用git checkout 選擇所需要的版本 # cd node# git tag# git checkout v0.10.36 4.開始安裝 # ./configure# make# make install 5.驗證安裝是否成功 # node -vv0.10.36 # npm -v1.4.28 6.建立一個web.js,內容如下 var http = require(‘http’);http.createServer(function (req, res){  res.writeHead(200, {‘Content-Type’: ‘text/plain’});  res.end(‘Hello World\n);}).listen(8080, ‘0.0.0.0’); […]

  • [Node.js] Node.js系統參數的調整

    我們家的Node.js遇到了一些系統上的瓶頸,會導致客戶連結太大量時找不到網頁,做了以下的設定. 還不知道有效否,待測試…… 1.先調整了系統網路參數,做法如 http://charleslin74.pixnet.net/blog/post/405007957 2.增加 nodejs socket require(‘http’).globalAgent.maxSockets = 30000 # 30000也可以設成Infinityrequire(‘https’).globalAgent.maxSockets = 30000 3.增加回收機制 node –nouse-idle-notification www.js 4.多進程取代單進程,程式加入 var express = require(‘express’);… if (cluster.isMaster) { // calculate number of proccesses to fork var num_cpus = require(‘os’).cpus().length; var num_processes = Math.max(1, num_cpus – 1); debug(‘Master starts with %d processes.’, num_processes); for (var i = 0; i […]