김보안의 블로깅
  • 🏠 Home
  • 📚 Project
    • Blockchain
      • 🎦 PickMe
      • 🎦 IoTC
      • 🎦 Blackchain
      • 📃 Gemology
      • 🎦 PickMe
      • 🎦 PickMe
    • AI
      • 👋 A.I. Dream Reader
      • 🎦 A.I. Dream Reader
    • Security
      • 🎦 SNAC
    • Education
      • 🎦 Smart Lecture
  • 🤸‍♂ Hobby
    • Music
      • Violin
      • Guitar
      • Piano
      • Drum
    • Flower
      • Flower Certificate
    • Sport
      • Ski
      • Skateboard
      • Golf
      • Boxing

2013년 7월 12일 금요일

[Nginx] apache를 nginx로 window를 CentOS 로 !

 SecureKim     오후 6:14     검은화면, 센토스, 센트 오에스, 아파치, 엔진엑스, 윈도우, 커서 깜빡임, apache, Centos, nginx, window     2 comments   




최근에 Window 7, Apache ,Node , Mysql , Redis 로 구성된 서버에

Stress Test를 하게되었습니다.

첫 페이지에서 PHP로 MySQL 로 로그인 하고,

여러 과정을 지나 Node에서 서비스를 해주는 것이었습니다.

사람들 60여명 정도에게 테스트를 했는데

정말 생각지도 못하게 로그인 페이지 부터 막혔습니다.

Win7 + Apache가 그 정도일 줄이야...


그날 바로 서버를 완전히 백업하고

Centos 를 설치한 후

Apahce를 Nginx 로 바꾸고 다른 것들도 올려 보았습니다.

그 사이에 있었던 (지금 생각해보면 어처구니 없는, 하나당 몇시간동안 고생했던)

잊지 말아야 할 것들을 적어 봅니다.

####################################################
# USB로 Centos 설치할 때는 부트로더가 USB에 설치되지 않도록 주의한다.
(이 상황에서 재부팅시 부트로더 뻥난것처럼 검은화면에 커서만 깜빡거립니다.)
이 경우, 재설치 하지말고 설치한 USB로 다시 부트로더를 잡아주면 됩니다.

# PHP Session을 이용하려면 최신버젼을 설치해야 한다.

# Nginx 에서 해야할 설정들
PHP , 특히 Websocket을 이용하기 위한 설정들

# 방화벽 설정을 잘 해준다. 열어야 할 포트를 열어준다.

# Mysql 백업했던거 복원할 때 < ,  > 절대 헷갈리지 말것.

# 현재 디렉토리부터 하위디렉토리 까지 문자열 /SL/ 을 /sl/로 바꾸어야 할 때
# 단, 신중하게 사용하여야 합니다. 반드시 바꿀 폴더에 들어가서 작업 하세요.
# 잘못사용했다가 서버가 날아갔습니다.
find ./ -type f -exec sed -i 's#/SL/#/sl/#' {} \;


#삼바 폴더 권한 설정을 해도 권한 문제로 안될 때
vi /etc/selinux/config
Set
//SELINUX=enforcing
SELINUX=disabled

#whereis , ps -e | grep "찾을 프로세스" 로 잘 설치되었고 실행되는지 확인한다.

# 더 있었던것 같은데 기억이 안나는 관계로...
####################################################



CentOS 와 Nginx 로 바꾼 다음 , 신세계가 펼쳐졌습니다. 정말 확실히 느껴지는 속도차이!


여담으로..CentOS에 대해서

"누가 센트 오에스라고 읽냐 센토스라고 읽어야지" 라는 분도 계시고

Cent + OS(Operating System) 이기 때문에

센트 오에스 라고 읽어야 된다고 하는 분도 계십니다.

뭐가 맞는 건지는 잘 모르겠지만 전 그냥 센트오에스 라고 읽으렵니다 ㅋㅋ


Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Stumble
  •  Digg

2013년 7월 4일 목요일

[Node.js] 객체 정렬, 방 찾기, Usage

 SecureKim     오후 4:49     객체 정렬, 로드밸런싱, 소켓으로 방 찾기, 툴, CPU, loadbalancing, memory, Node.js, sorting     No comments   

Tools.


var Tools={

//소켓 전체를 받아서 방을 돌려준다.
  getRoomBySocket:function(obj){
   var sockId=io.sockets.manager.roomClients[obj.id];
   var r= null;
   for(var k in sockId){
    if(!sockId.hasOwnProperty(k))
     continue
    r=k;
   }
   if(r!=null && typeof r !="undefined") r=r.split("/")[1];
   else r=null;
   console.log("[ function ] getRoomBySocket : ",r);
   return r;
  },

//객체를 소팅한다.
  sorting: function(f, r, p){
   var key = function (x) {return p ? p(x[f]) : x[f]};
      return function (a,b) {
          var A = key(a), B = key(b);
          return ((A < B) ? -1 : (A > B) ? +1 : 0) * [-1,1][+!!r];
      }
  },

//CPU , MEMORY 정보를 알려준다.
updateServerState:function(callback){
   var freemem=os.freemem();
   var totalmem=os.totalmem();
   var memUse=Math.round((totalmem-freemem)/totalmem*100);
   var r=null;
   os_util.cpuUsage(function(v){
    cpuUse=Math.round(v*100);
       r={cpu : cpuUse , mem : memUse};
       callback(r);
   });
  }
};


/*
 *사용법 
 * 소켓 가지고 그 소켓이 join된 방을 찾고 싶을 때. */ 
 Tools.getRoomBySocket(socket);  

/*
* 객체 소팅 */
  var book=[ { "price" : "500",
               "name"  : "andromeda" },
             { "price" : "1500",
               "name"  : "thebook" }];
// '가격' 높은거에서 낮은거로 소팅
book.sort(Tools.sorting('price', true, parseInt)); 
// '책 제목'의 a-z까지 순서로 소팅
book.sort(Tools.sorting('name', false, function(a){
return a.toUpperCase()
})); 

/*
* Server의 CPU, MEM 사용량 조사를 동기적으로 받아서 처리하고 싶을 때.
*/
 Tools.updateServerState(function(r){
 console.log("cpu : ",r.cpu," mem : ",r.mem);
 })

다음에 Node.js 프로젝트를 할때 유용하게 쓰일 것 같아서 포스팅합니다. 마음껏 쓰셔도 좋습니다. 혹시 코드에 문제가 있으면 저한테도 알려주세요 ^^
Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Stumble
  •  Digg

[Node.js] Redis 의 데이터 관리(쿼리,삽입,삭제)

 SecureKim     오후 3:30     자동 json, hdel, hget, hset, json, Node.js 와 Redis, Redis     2 comments   

Redis 의 hset , hget , hdel

var redis = require('redis');
/*
*자동으로 JSON String화 되어 들어가고 나오게 할 방법이 있습니다.
*npm install redis-jsonify 로 다운받으시면 됩니다.
*
*사용법
*var jsonify=require('redis-jsonify');
*var client=jsonify(redis.createClient(포트,호스트,null));
*
*/
var client=redis.createClient(포트,호스트,null);
var tempobj={test: "hi", test2:"ho"}
client.hset('test','a',JSON.stringify(tempobj) ); 
client.hget('test','a',function(err,obj){
 obj=JSON.parse(obj);
 console.log(obj.test);
});
client.hdel("test","a"); 
//test 키 전체가 삭제되는 것이 아니라 test 의 a와 내용만 삭제합니다.

github.com/mranney/node_redis 이곳에서 함수를 찾아보곤 했었는데 이곳에 없는 것들이 많더라구요. hget, hdel이 있다는 사실은 나중에 실험을 통해 알게 되었습니다.
Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Stumble
  •  Digg
최근 게시물 이전 게시물 홈

페이지

  • 홈
  • Hobby

Categories

  • AI
  • AWS
  • Blockchain
  • Hardware
  • Javascript
  • Node.js
  • Plasma
  • Security
  • Study
  • Video
  • android
  • mysql
  • review
  • windows

Popular Posts

  • 다빈치리졸브로 영상의 음성 보정 (잡음 노이즈 없애기)
      잡음 없애는 방법 1. 음악 쪽 들어가서 음악에서 소스 우클릭 - Normalize Audio Levels 2. 우측의 Mixer에서 Dynamics 더블클릭, Effects아래 +누르고 Metering에 Meter 그럼 아래처럼 나오는데  Gat...
  • 블루투스 BLE 보안 모드와 보안 레벨 (BLE SECURITY MODE and SECURITY LEVEL)
      BLE에서 무슨 모드와 무슨 레벨을 사용해야 가장 안전할까? (글 맨 밑에 답 있음) 블루투스는 워낙 표준이 다양하고 버전따라서 달라서 다들 다른 이야기를 하는 것 같다. BLE와 BT는 전혀 별개의 표준인데 같은거라고 이야기하는 사람도 있고 특히...
  • 회사 프록시와 인증서에 고통받는 그대를 위한 글 (Bash, Gradle, Python, wget, nodejs(npm), apt-get, cURL, git, yarn, androidStudio)
    대기업에 입사하면 장단점이 있는데, 단점 중에 하나가 회사에서 프록시를 사용하여 트래픽 감시를 하므로 프록시 설정을 해주어야 한다는 점 입니다. 특히, 회사에서는 https 트래픽도 감시를 하므로 인증서도 설정해 주어야 합니다. 그런데 문...

Blog Archive

  • ►  2025 (1)
    • ►  7월 (1)
  • ►  2024 (2)
    • ►  11월 (2)
  • ►  2023 (2)
    • ►  10월 (1)
    • ►  1월 (1)
  • ►  2022 (10)
    • ►  12월 (1)
    • ►  11월 (3)
    • ►  9월 (1)
    • ►  8월 (1)
    • ►  6월 (2)
    • ►  3월 (2)
  • ►  2021 (9)
    • ►  12월 (3)
    • ►  11월 (1)
    • ►  6월 (1)
    • ►  5월 (2)
    • ►  4월 (2)
  • ►  2020 (12)
    • ►  10월 (1)
    • ►  9월 (2)
    • ►  7월 (1)
    • ►  6월 (1)
    • ►  5월 (5)
    • ►  4월 (1)
    • ►  2월 (1)
  • ►  2019 (14)
    • ►  10월 (2)
    • ►  7월 (1)
    • ►  3월 (4)
    • ►  2월 (2)
    • ►  1월 (5)
  • ►  2018 (14)
    • ►  12월 (2)
    • ►  11월 (4)
    • ►  10월 (1)
    • ►  8월 (2)
    • ►  5월 (4)
    • ►  1월 (1)
  • ►  2017 (12)
    • ►  10월 (2)
    • ►  9월 (9)
    • ►  5월 (1)
  • ►  2016 (8)
    • ►  10월 (2)
    • ►  8월 (1)
    • ►  6월 (1)
    • ►  1월 (4)
  • ►  2015 (6)
    • ►  12월 (3)
    • ►  10월 (1)
    • ►  6월 (1)
    • ►  5월 (1)
  • ►  2014 (10)
    • ►  11월 (1)
    • ►  9월 (1)
    • ►  7월 (1)
    • ►  6월 (1)
    • ►  5월 (3)
    • ►  4월 (1)
    • ►  3월 (2)
  • ▼  2013 (28)
    • ►  12월 (3)
    • ►  11월 (6)
    • ►  10월 (6)
    • ►  9월 (6)
    • ►  8월 (1)
    • ▼  7월 (3)
      • [Nginx] apache를 nginx로 window를 CentOS 로 !
      • [Node.js] 객체 정렬, 방 찾기, Usage
      • [Node.js] Redis 의 데이터 관리(쿼리,삽입,삭제)
    • ►  6월 (3)

구독

글
Atom
글
전체 댓글
Atom
전체 댓글

로드 중입니다...

각오

직접 해보지 않은 것은 포스팅 하지 않겠습니다.

Copyright © 김보안의 블로깅 | Powered by Blogger
Design by Hardeep Asrani | Blogger Theme by NewBloggerThemes.com | Distributed By Gooyaabi Templates