自分で作ったり提供したりするものは、まず自分自身で使ってみろろということです。自分じゃ使わないものなら人はいくらでも無責任にも無思考にもなれる。そういう投げやりな「サービス」やら「プロダクツ」なんて、だれだってイヤだ。自分が作り手と同時に利用者の立場になれば、ちゃんと使えるレベルのものを提供しようとします。

2014年10月30日木曜日

Node.jsファイル書き込み例

Node.jsファイル書き込み例です。

var fs = require('fs');

(function () {
    var data = "write 日本語!";
    fs.writeFile('日本語.txt', data, function (err) {
        if (err)
            console.log(err);
    });
})();

2014年10月29日水曜日

nginx最大パフォーマンスを出すための基本設定

nginx

nginx最大限にスピードを出すために、設定パラメーターをチュニングしました。

nginx設定例


user www-data;
pid /var/run/nginx.pid;
worker_processes auto;
worker_rlimit_nofile 100000;

proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

events {
    worker_connections 2048;
    multi_accept on;
    use epoll;
}

http {
    server_tokens off;
    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;

    access_log off;
    error_log /var/log/nginx/error.log crit;

    keepalive_timeout 10;
    client_header_timeout 10;
    client_body_timeout 10;
    reset_timedout_connection on;
    send_timeout 10;

    limit_conn_zone $binary_remote_addr zone=addr:5m;
    limit_conn addr 100;

    include /etc/nginx/mime.types;
    default_type text/html;
    charset UTF-8;

    gzip on;
    gzip_http_version 1.0;
    gzip_disable "msie6";
    gzip_proxied any;
    gzip_min_length 1024;
    gzip_comp_level 6;
    gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript application/json;

    open_file_cache max=100000 inactive=20s;
    open_file_cache_valid 30s;
    open_file_cache_min_uses 2;
    open_file_cache_errors on;

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
}

2014年10月15日水曜日

Node.jsエラー処理例(domainモジュール)

Node.jsエラー処理例(domainモジュール)

// Node.jsエラー処理例(domainモジュール)
var fs = require('fs');
var util = require('util');

(function () {
    var d = require('domain').create();
    d.on('error', function (err) {
        //console.log('domain error:', toJson(err));
        console.log(err.stack);
    });
    d.run(function () {
        f1();
    });
})();

function f1() {
    fs.readFile('package.json', function (err, data) {
        if (err) throw err;
        console.log(a.aa.aaa, data.toString());
    });
}

function toJson(obj) {
    return util.inspect(obj, {
        showHidden: true,
        depth: null
    });
}

ホームページ