라벨이 서버인 게시물 표시

한대의 서버를 최대한 능력치로 끌어올리는 방법

 서버 한대에서 서비스를 하고자 할 때 보통 최대한 능력으로 사용하지 않는다. 이런 서버를 여러대 운영하다 보면 비효율적이란 생각이 든다. X86 서버 한대에 웹서비스를 운영한 경험이 있다. 1초에 한번씩 API를 호출하는 안드로이드 앱이 6천대 정도가 실행되는 환경이었다. 서버는 단 한대...., 보안 때문에 비용 때문에 각각의 이유로.... 그러한 서비스를 받아줄 서버는 X86 서버 한대 뿐이었다. 일단 API 서비스를 만들었다. 경량웹서비스인 Perfect 웹 프레임워크를 이용해서 만들었다. 스위프트 언어를 사용할 수 있어서 고차함수를 사용하면 아무래도 서비스를 좀 더 효율적으로 만들 수 있는 장점이 있다. 그리고 아이폰 개발자에게 좀 더 쉽게 다가갈 수 있었다. 또한 많이 사용하는 프레임워크가 아니라 보안에 우수한 장점이 있다. 웹서비스를 포트로 여러개를 만들어서 컴파일 했다. web_perfect_8100, web_perfect_8101,.... 이런 식으로... 필요한 서비스를 확장시켰다. 그리고 서버에 haproxy 를 설치했다. 외부에서 접속하는 것은 443 포트만 열었으며 나머지는 닫았다. haproxy 설정에서 각 서비스를 체크해서 분기하도록 설정했다. 서버의 상태를 보면서 이 서비스를 확장시켰다. 최대한 사용하도록 했더니 한대로 서비스를 해도 충분했다. 6천대가 사용하는데 동시접속은 거의 1천대 정도 되었으며 세션은 항상 10만개 정도 붙어 있었다. 그 이상 더 늘릴 수 있는데 못한 것은 데이터베이스 서버가 그 이상을 늘렸을 경우 응답속도가 급격히 저하되었다. 다음에 시간이 되면 데이터베이스 최적화한 경험을 이야기 해볼까 한다.

Ubuntu Server 15.10 GUI 최소 설치

우분투 서버를 설치한 다음 최소 형태의 GUI 를 설치하는 방법이다. 1. 먼저 우분투 서버를 설치한다. 2. 이제 저장소 파일을 최신화 한다. $ sudo apt-get update $ sudo apt-get upgrade 3. 이제 최소 형태의 GUI를 설치한다 $ sudo apt-get install --no-install-recommends ubuntu-desktop 4. GUI 모드로 실행한다 $ startx 5. 터미널을 뜨운다.   Ctrl + Alt + T 키를 이용하면 터미널이 뜬다. 6. 필요한 애플릿을 설치한다 앱이 뜨는 메뉴를 설치한다 $ sudo apt-get install indicator-appmenu-tools 세션 관련 메뉴를 설치한다 $ sudo apt-get install indicator-session 나는 이정도면 나머지는 필요할때마다 설치하면 된다.

서버 접속 에러 처리기 : bind to port 22 on 0.0.0.0 failed error

두대의 서버가 있다. 한대는 오라클이 설치되어 있는 디비서버로 A 라 한다. 또 한대는 백업솔루션이 설치된 백업서버로 B 라 한다. B 에서 A 로 접속하면 SSH 에서 bind to port 22 on 0.0.0.0 failed error 에러가 난다. A 에서 B 로는 접속이 잘 된다. A 와 B 로 ping 은 잘 된다. A 서버에 /etc/ssh/sshd_config 설정을 수정하고 /etc/hosts.allow 에 모든 아이피를 허용하고 iptables -l 로 확인해도 설정된 룰은 없다. 무엇이 문제일까 ? 일주일을 삽질을 했다. 문제는 바로 보안 솔루션이었다. 레드아울이라는 보안솔루션이 설치되어 있었는데 이를 몰랐던 것이다. 레드아울을 내리고 바이패스 시켰더니 잘 된다. 역시 모든 것은 기본이 최선이다.