메타 데이터의 끝으로 건너뛰기
메타 데이터의 시작으로 이동

EC2 인스턴스를 만들어 보면 특징이 하나 있는데, swap 파티션이 없다.

추측하기로 이는 필요한 메모리에 맞는 상위 인스턴스를 사용하라는 AWS 의 영업전략으로 보인다.

하지만 대부분의 경우 제공 받은 메모리로 충분하지만 간혹 사용자가 늘어서 메모리가 부족하여 서버가 죽는 경우라면

이를 위해 상위 인스턴스를 사용하는 것보다는 swap 을 추가하는 것이 비용면에서 효율적이다.

 

또한 EBS 전용 인스턴스가 아닌 m3.large 급 정도만 되면 재부팅시마다 초기화되는 추가 Instance Storage를 제공해준다. (속도도 EBS보다 빠름)

따라서 EBS말고 Instance Storage에 swap을 만들어주면 효율적이다. Instance Storage가 제공되지 않는 인스턴스에서는 EBS에 만들어야 한다.

물론 t1.micro 같은 Free Tier 인스턴스는 제공 메모리 613MB 웬만한 서비스를 하나 돌려볼려면 swap을 추가하는 것은 필수라고 할 수 있다.


가장 많이 사용할 것으로 보이는 t2.micro Amazon Linux (메모리 996MB) 기준으로 작업

 

$ sudo dd if=/dev/zero of=/swapfile bs=1M count=512     # 512MB 스왑용 파일 생성
   
$ sudo chown root:root /swapfile    # root 소유
   
$ sudo chmod 600 /swapfile          # 권한설정
   
$ sudo mkswap /swapfile
   
$ sudo swapon /swapfile
  
$ sudo swapon -a
  
   
 
$ sudo vi /etc/fstab        # 리부팅시 인식할 수 있도록 fstab에 등록 (실수할 경우 부팅이 안될 수 있으니 스냅샷 + 조심!)
   
가장 아래줄에 내용추가
   
/swapfile   swap   swap   defaults  0  0
   
 
$ sudo swapon -s    # sanity test  Swap 에 설정한 용량이 사용되었는지 확인
   
$ free -m           # sanity test  Swap 에 설정한 용량이 사용되었는지 확인


'리눅스' 카테고리의 다른 글

리눅스 디스크 추가 후 마운트 하기  (2) 2017.04.29
ddos공격 예방 iptables룰  (0) 2017.04.07
aws 서버 한국시간으로 맞추기  (0) 2017.03.31
폴더 및 파일 권한 변경  (0) 2016.12.13
iptalbes란?  (0) 2016.11.02
블로그 이미지

칩사마코더

,

ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime

'리눅스' 카테고리의 다른 글

ddos공격 예방 iptables룰  (0) 2017.04.07
aws 스왑 메모리 만들기  (0) 2017.04.02
폴더 및 파일 권한 변경  (0) 2016.12.13
iptalbes란?  (0) 2016.11.02
iptables 방어설정  (0) 2016.11.02
블로그 이미지

칩사마코더

,

forever npm start

node js 2017. 3. 21. 21:04

forever start -c "npm start" ./

블로그 이미지

칩사마코더

,
var casper = require("casper").create({
    }),
    utils = require('utils'),
    http = require('http'),
    fs = require('fs');

casper.start();

casper.thenOpen('http://www.yahoo.com/', function(response) {
    casper.capture('test.png');
    utils.dump(response.status);
    if (response == undefined || response.status >= 400) this.echo("failed");
});

casper.on('http.status.404', function(resource) {
  this.echo('wait, this url is 404: ' + resource.url);
});

casper.run(function() {
  casper.exit();
});



'크롤링' 카테고리의 다른 글

원하는 패턴 문자열 뽑기  (0) 2017.02.07
fetchText 와 getHTML 차이  (0) 2016.10.29
캐스퍼 함수들 정리  (0) 2016.10.20
쿠키 파일로 저장  (0) 2016.09.22
블로그 이미지

칩사마코더

,

var position = pattern_str_array(text,"'>","</td>");


console.log(position);



function pattern_str_array(str,start,end){

    // 뽑을 문자의 시작 문자,뽑을 문자의 마지막, 자르고 난뒤에 문자열 변경 변수

    var str_start,str_end,text;

    // 뽑은 문자열 저장 배열

    var str_array = new Array();


    //문자열에 시작문자가 있다면 계속 반복

    while(str.indexOf(start) > -1){

        // 시작문자와 끝문자가 반복문에 있는 이유는 계속 변경된 시작문자와 끝문자의 위치를 알기위해

        // 시작 문자

        str_start = str.indexOf(start);

        // 끝문자

        str_end = str.indexOf(end);

        // 길이를 더해주는 이유는 

        // 찾는 문자열의 크기뒤부터 가져오기 위해. 끝문자까지

        text = str.substring(str_start + (start.length),str_end);

        // 가져온 문자를 배열에 저장

        str_array.push(text);

        // 문자열을 한번 가져온 패턴 뒤부터 가져올수 있도록 변경처리

        str = str.substring(str_end+1);

    }

    return str_array;

}

'크롤링' 카테고리의 다른 글

캐스퍼 url 접속 여부 테스트  (0) 2017.03.13
fetchText 와 getHTML 차이  (0) 2016.10.29
캐스퍼 함수들 정리  (0) 2016.10.20
쿠키 파일로 저장  (0) 2016.09.22
블로그 이미지

칩사마코더

,

레드햇 / CentOS에 / 된 CloudLinux의 경우 :

# yum install glibc.i686
# rpm -i mod_cloudflare-elX.latest.rpm

데비안 / 우분투의 경우 :

# dpkg -i mod_cloudflare-XXXXX.latest.deb

RHEL / CentOS에 / 된 CloudLinux

RHEL / CentOS에 / 된 CloudLinux 7 (64 비트) RHEL은 / CentOS에 / 된 CloudLinux 6 (64 비트)


wget 으로 위 링크의 파일을 다운 받고


다운 받은 파일 명으로 아래와 같은 명령어를 실행후 아파치 재시작


 rpm -i mod_cloudflare-elX.latest.rpm


위 명령을 다운 받은 파일명으로 변경후 아파치 재시작하면 


방문자의 실제 아이피를 확인할수 있다.

블로그 이미지

칩사마코더

,

// var seed_money  = parseInt($('#seed_money').val());

// var start_money = parseInt($('#start_money').val());

var seed_money  = ($('#seed_money').val());

var start_money = ($('#start_money').val());


자바스크립트 연산전에 형변환을 해야 버벅거림이 없음


노드JS에서는 형변환없이도 바로 처리가 되는데

왜 이러지?

블로그 이미지

칩사마코더

,

chmod 755 -R /폴더명 

하위폴더까지 변경하고 싶다면 -R


■ 리눅스 시스템의 파일 및 디렉토리에 대한 권한/그룹 관리


(1) 권한에 대한 관리
: 파일이나 디렉토리의 permition을 관리한다.

● 명령어
chmod [권한값] [파일명]

● 권한값에 대한 정의
: ls -al 명령을 통해 파일/디렉토리의 권한을 확인할 수 있다.


r : 읽기권한(4) , w : 쓰기권한(2), x : 실행권한(1)

- 10자리의 의미를 파악하기 위해 4파트로 나누어 해석

- [디렉토리 1자리] [소유자권한 3자리] [그룹권한 3자리] [전체권한 3자리]

 - 권한값 읽기 : [ -rw-rw-r-- ] => 664로 읽을 수 있다. (r+w(6), r+w(6), r(4))

● 파일 권한 변경하기
: chmod 명령을 이용해 파일의 권한을 변경


- chmod 755 test.c 명령실행
- test.c 라는 파일의 권한이 664 에서 755로 변경
- 소유자권한 : 읽기, 쓰기, 실행
- 그룹권한 : 읽기, 실행
- 전체권한 : 읽기, 실행

● 디렉토리 권한 변경하기
: chmod 명령을 이용해 디렉토리의 권한을 변경


- chmod 750 tes 명령실행
- test 라는 디렉토리의 권한이 775 에서 750로 변경
- 소유자권한 : 읽기, 쓰기, 실행
- 그룹권한 : 읽기, 실행
- 전체권한 : 없음 

=> root 또는 동일그룹의 사용자를 제외하고는 디렉토리를 열 수 없다.
    디렉토리에 대한 실행 권한은 디렉토리 오픈을 의미한다.

'리눅스' 카테고리의 다른 글

aws 스왑 메모리 만들기  (0) 2017.04.02
aws 서버 한국시간으로 맞추기  (0) 2017.03.31
iptalbes란?  (0) 2016.11.02
iptables 방어설정  (0) 2016.11.02
CentOS | 서버 부팅 시 서비스(Service) 자동으로 시작되게 하기  (0) 2016.10.20
블로그 이미지

칩사마코더

,
curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -
yum -y install nodejs


블로그 이미지

칩사마코더

,

<input type='file' accept='text/plain' onchange='openFile(event)'><br>

<img id='output'>

<script>

  var openFile = function(event) {

    var input = event.target;


    var encoding = 'euc-kr';


    var reader = new FileReader();

    reader.onload = function(){

      var text = reader.result;

      console.log(reader.result.substring(0, 200));

    };

    reader.readAsText(input.files[0],encoding );

  };

</script>



참고 사이트 http://www.javascripture.com/FileReader

http://tibang.tistory.com/entry/HTML5-%ED%8C%8C%EC%9D%BC%EC%9D%BD%EA%B8%B0


'자바스크립트' 카테고리의 다른 글

정규표현식 사용하기  (0) 2018.03.24
date 포맷 변경 2017-05-21 05:00  (0) 2017.05.21
배열 객체에서 중복값 제거  (0) 2016.12.02
블로그 이미지

칩사마코더

,