/*
npm install mysql
npm install express
npm install date-utils
npm install socket.io@0.9.16
*/
1. 설치
npm install forever -g
2. 사용
#> sudo forever start yit_server.js
#>sudo forever list
#>sudo forever stop pid
#>sudo forever stopall (전체 실행중지)
3. forever 이외 내가 설치한 모듈
관련 모듈은 express,socket.io.mysql 이다.
- yit_server.js 코드 일부
var express = require('express')
, app = express()
, http = require('http')
, server = http.createServer(app)
, io = require('socket.io').listen(server)
require('date-utils');
var mysql = require("mysql");
var dbcon = mysql.createConnection({
host : "localhost ",
port : 3306,
user : "dbid",
password : "pass",
database : "dbname"
});
과같은 형태로 코드에서 require 해서 사용되어지고 있다.
로드가 많은 채팅 서버가 아니지만 forever 플러그인으로도 가끔씩 죽는 현상이 있었다. 실제 서비스페이지에서 node.js 서버 실행 여부에 따라 서버 상태를 보여주고 싶었는데 아직 구현 하지 못했고 리눅스 서버의 쉘스크립트 하나를 크론에등록해 등록된 실행php가 nodes.js 의 리스닝포트를 검사해서 포트 해당 포트가 열려있지 않을때 관리자에게 메일을 발송하도록 단순 처리 하였다.
/*
@filename:isalive.php
@comment:포트 오픈 여부를 검사
*/
isalive.php
<?
$ip = '127.0.0.1';
$port = 8124;
$timeout = 5; // The connection timeout, in seconds.
$fp = @fsockopen($ip,$port,$errno,$errstr,$timeout);
if ( is_resource($fp) ) {
echo 'Open';
fclose($fp);
} else {
echo 'Close';
//echo $errno.' : '.$errstr.'<br />'; // 오류 정보 출력
mail("dev@mydomain.co.kr","[warnning mail]서버상태 warnning mail ","node.js 서버를 확인해주세요.port가 안열려있습니다.");
}
?>
'자료창고' 카테고리의 다른 글
인터넷에서 60초 동안 일어나는 일 (0) | 2014.10.26 |
---|---|
청춘 페스티벌 (0) | 2014.10.22 |
Ajax로 구현된 페이지네이션의 뒤로가기 이슈 (3) | 2013.04.24 |
JavaScript 코드를 가독성이 좋게 정리해줍니다 (0) | 2013.04.23 |
마인드맵 ASP (4) | 2013.04.22 |