Debian에 Redis 설치.

Linux 2017. 6. 26. 12:21

1.  vi /etc/apt/sources.list.d/dotdeb.list 파일을 만듬.


deb http://mirrors.teraren.com/dotdeb/ stable all
deb-src http://mirrors.teraren.com/dotdeb/ stable all


위의 내용 복사 붙여넣기.


2. GPG 키를 다운로드 받고 설치한다.


wget https://www.dotdeb.org/dotdeb.gpg
sudo apt-key add dotdeb.gpg


자세한 정보는 https://www.dotdeb.org/instructions/ 를 참조할것.


3. apt pakage를 업데이트 시킨다.


sudo apt-get update

sudo apt-get install redis-server


4. 설치확인을 해보자.


redis-cli



[ 기본 설정 ]


sudo sysctl vm.overcommit_memory=1


을 설정해주고


vi /etc/sysctl.conf

로 파일 열고


vm.overcommit_memory=1


를 추가해주자.

Posted by C마노
,

파일은 남겨두고 파일 내용만 지우고자 할 때. 


cat /dev/null > 해당파일

'Linux > Ubuntu' 카테고리의 다른 글

aptana 연동시 SFTP 설정.  (0) 2017.05.12
Node.js npm install 시 자꾸 Kill을 뱉을때  (0) 2017.03.29
[Ubuntu] Nohub의 사용  (0) 2017.03.11
[Ubuntu] Ubuntu 서버 14.04 초기설정 가이드  (0) 2016.11.23
Posted by C마노
,
  1. On remote server edit sshd_config:

    nano /etc/ssh/sshd_config

  2. Add the following line :

Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,blowfish-cbc,aes128-cbc,3des-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc

KexAlgorithms=curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1

  1. Restart ssh service

#/etc/init.d/ssh restart

Posted by C마노
,
npm verb about to build /home/username/html/node_modules/laravel-elixir/node_modules/partialify
npm info build /home/username/html/node_modules/laravel-elixir/node_modules/partialify
npm verb afterAdd /home/username/.npm/is-glob/2.0.1/package/package.json not in flight; writing
npm verb afterAdd /home/username/.npm/normalize-path/2.0.1/package/package.json not in flight; writing
npm verb readDependencies loading dependencies from /home/username/html/node_modules/laravel-elixir/node_modules/gulp-uglify/node_modules/uglify-js/package.json
npm verb write writing to /home/username/html/node_modules/laravel-elixir/node_modules/gulp-babel/node_modules/through2/node_modules/readable-stream/package.json
Killed


* 대안


서버의 메모리를 늘린다.

또는 Swap을 추가한다.


아래는 1G의 Swap을 추가하는 예이다.


sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo "/swapfile   none    swap    sw    0   0" >> /etc/fstab


Posted by C마노
,

다음과 같이 프로그램을 실행한 사용자가 터미널을 종료하면 프로그램도 함께 종료가 된다.

./[실행파일]

이럴 때 nohup을 사용하면 사용자가 터미널을 종료해도 프로그램이 계속 살아있게 된다.

1. nohup
nohup은 리눅스에서 쉘스크립트파일을 데몬형태로 실행시키는 명령어이다.
nohup으로 실행을 시키려면 실행파일 권한이 755이상으로 되어있어야 한다.
뒤에 &를 추가하면 백그라운드로 실행한다.
nohup으로 프로그램을 실행시키면 nohup.log라는 로그 파일이 생성된다.

$nohup [실행파일]
$nohup [실행파일] & // 백그라운드 실행

2. 로그 안 남도록 하는 nohup
nohup으로 프로그램을 실행하면 nohup.log라는 로그가 남게 된다.
로그파일을 안 남게 하려면 다음과 같이 하면 된다

$nohup [실행파일] 1>/dev/null 2>&1 &

1>/dev/null 이 표현은 1의 결과를 /dev/null 이라는 파일 속에 넣는다. /dev/null로 보내버리면 모든 출력을 없애버린다.

2>&1 이 표현은 2번 파일디스크립터를 1번에 지정된 형식과 동일하게 /dev/null로 지정한다.

& 은 프로그램을 백그라운드에서 실행하도록 하는 표현이다.

Posted by C마노
,

1단계. 루트(root) 로그인

모든 작업을 위해서 가장 먼저 필요한 서버 로그인을 해보겠습니다.

서버에 접속하기 위해서는 IP 주소와 root 계정의 비밀번호를 알아야 합니다. vlutr.com과 같은 VPS 서비스를 이용하여 가상서버 인스턴스를 생성하게 되면 IP 주소와 초기 root 계정 비밀번호를 제공해줍니다. 현재는 root 계정으로만 접근할 수 있습니다. OS X나 Unix 계열의 OS를 사용할 경우 터미널에서 다음과 같은 명령어로 서버에 접속할 수 있습니다.

$ ssh root@{server-ip-address}

처음 접속할 경우에는 다음과 같은 메시지를 볼 수 있습니다. 접속한 적이 없는 원격 서버라고 경고하는 것입니다. "yes"를 누르면 다음으로 넘어갑니다.

The authenticity of host '0.0.0.0 (0.0.0.0)' can't be established.
ECDSA key fingerpring is 79:95:46:1a:ab:37:11:8e:86:54:36:38:bb:3c:fa:c0.
Are you sure you want to continue connecting (yes/no)?

2단계. Hostname 설정

서버에 연결될 도메인 주소를 입력합니다. 아래와 같이 입력하면 즉시 반영되지만 재부팅시에는 설정이 유지되지 않습니다. (yourdomain.com 값은 해당하는 값으로 변경하시기 바랍니다.)

$ sudo hostname yourdomain.com

서버를 재부팅해도 값을 유지하기 위해서 /etc/hostname 파일을 다음과 같이 수정합니다.

yourdomain.com  

3단계. 언어(locale) 설정

/etc/default/locale 파일을 다음과 같이 수정합니다. (각 행의 마지막에 빈칸이 포함되지 않도록 합니다.)

LANG="en_US.UTF-8"  
LANGUAGE="en_US.UTF-8"  
LC_ALL="en_US.UTF-8"  

다음과 같이 서버를 재부팅하면 설정이 적용됩니다.

$ sudo reboot

4단계. 계정 생성

로그인할 수 있는 새로운 계정을 만들어 보도록 하겠습니다. 아래 {username} 부분을 원하시는 이름으로 바꾸시면 됩니다.

$ adduser {username}

비밀번호를 포함하여 몇 가지 정보를 입력하게 됩니다. 비밀번호를 제외하고는 필수 입력사항이 아니므로 그냥 엔터를 입력해도 됩니다.


5단계. 루트 권한

윗 단계에서 만든 계정은 일반 계정입니다. 일반적인 작업은 수행할 수 있지만 관리자 작업은 수행할 수 없습니다.

일반 계정에서 관리자 작업을 수행할 수 있도록 일반 계정에 "sudo" 권한을 부여할 수 있습니다. 이를 통해 일반 계정도 명령어 앞에 sudo를 붙이면 관리자 작업을 할 수 있게 됩니다.

일반 계정에 루트 권한을 부여하기 위해서 먼저 루트 계정으로 로그인 한 후에 다음과 같이 입력합니다.

$ adduser {username} sudo

6단계. 방화벽 설정

ufw는 Ubuntu에 기본적으로 설치되어 있는 방화벽입니다. SSH 접속을 위해서 해당포트(기본값 22)를 열어줍니다. 필요한 경우 http 포트도 열어줍니다.

$ sudo ufw allow ssh
$ sudo ufw allow http

이제 설정을 마쳤으므로 다음과 같이 enable할 수 있습니다.

$ sudo ufw enable

현재 동작여부와 열려있는 포트의 목록을 보려면 다음과 같이 입력합니다.

$ sudo ufw status

7단계. SSH 보안

SSH의 경우 무차별 아이디/패스워드 대입 공격을 당할 수 있으므로 root 계정을 비활성화 하고, 반복된 로그인 실패시 딜레이를 주도록 설정해야 합니다.

root 계정 비활성화

/etc/ssh/sshd_config 파일에서 다음 부분을 찾아서 no로 변경합니다.

PermitRootLogin no

다음과 같이 서비스를 다시 시작합니다.

sudo service ssh restart

반복 접속시 딜레이 주기

$ sudo apt-get install sshguard

8단계. apt-get 업데이트

OS를 새로 설치한 후 최신 업데이트를 합니다. apt-get update를 통해 최신 업데이트 목록을 가져올 수 있으며, apt-get upgrade를 통해 실제로 업데이트를 할 수 있습니다.

$ apt-get update
$ apt-get upgrade


Posted by C마노
,