본문 바로가기

서버관리

(22)
[서버관리] CentOS에 CI(Jenkins) 구축하기 오늘은 개발서버에 CI서버 Jenkins를 설치하려고 합니다. CI서버와 관련된 내용은 여기 블로그에서 검색하셔서 찾으실 수 있습니다. Jenkins 서버를 설치하면서 참고한 영상은 https://www.youtube.com/watch?v=yP4EHnKcOrc 입니다. git과 github를 서버에 구축하면서 개발의 편의성을 도모했는데요. CI를 구축해서 얼마나 편해질지는 직접 사용해보면서 확인해나가려고 합니다. 일단 jenkins 패키지를 다운받아 rpm 명령어로 설치합니다. 지속적으로 최신버전이 업그레드 되는것 같으니, 포스팅을 확인하신 시점에 해당되는 최신버전의 다운로드 url을 확인하여 wget 인수를 변경하셔도 됩니다. wget https://pkg.jenkins.io/redhat-stable/..
[서버관리] SWAP 메모리 추가 할당 개발서버에서 애플리케이션 서버 2대에 버전관리서버, CI서버까지 동시에 구동하다 보니 간혹 버전관리서버에 소스코드가 업로드 될때나 CI서버에서 메모리 점유율이 높은 작업이 진행될때 우선순위가 낮은 작업이 중단되는 현상이 가끔 일어나곤 했습니다. 에러메시지를 가지고 원인을 찾다보니 할당된 SWAP 메모리가 부족할 경우, 그러한 현상이 일어난다고 합니다. 그럼 앞으로 이러한 문제가 다시 생기지 않도록 swap 메모리를 추가할당하는 방법을 알아보도록 하겠습니다. [root@localhost ~]# dd if=/dev/zero of=/home/swapfile bs=1024 count=10000001000000+0 records in1000000+0 records out1024000000 bytes (1.0 GB..
[서버관리] 인바운드 트래픽과 아웃바운드 트래픽 인바운드 트래픽(inbound traffic)외부에서 가상서버 내부로 데이터가 유입될때 발생하는 트래픽을 말합니다. 예를들어, 클라이언트가 웹사이트에 접속했을 경우 클라이언트의 접속정보가 가상서버 내의 DB에 저장된다거나 클라이언트가 웹사이트에서 어떠한 정보가 필요하여 가상서버에 요청데이터를 보냈을때 발생하기도 합니다.그리고 FTP나 웹사이트 첨부파일 등으로 가상서버내로 파일을 전송하여 저장하는 것도 인바운드 트래픽이 발생됩니다. 아웃바운드 트래픽(outbound traffic)인바운드 트래픽과는 반대로, 가상서버 내에서 외부로 데이터가 전송되었을때의 트래픽을 발합니다. 아웃바운드의 경우 클라이언트가 웹사이트에서 어떤 정보를 요청하였을 때 해당 정보에 대한 데이터를 다시 클라이언트로 전송시 발생된 트래픽..
[인프라] CI(지속적인 통합, Continuous Integration) 이해하기 지속적인 통합이란?소프트웨어 개발 프로젝트는 [분석/설계] → [코드 작성] → [빌드] → [테스트] → [릴리스] → [디플로이] 와 같은 생명 주기를 지니고 있으며, 각 단계는 프로젝트가 진행되는 동안 계속 반복적으로 실행되는 경우가 많습니다. 또 개별 단계 내에서 진행되는 업무 내역을 자세히 분석해 보면 처리해야 할 업무가 생각보다 많고 복잡하며, 중간에 하나만 실수하거나 잘못돼도 이를 바로잡는 데 상당히 오랜 시간이 걸리는 경우가 많습니다. 이 같은 복잡성 및 시간이 많이 소요된다는 특성 때문에 반복적인 단계가 잘 진행되지 않고, 이로 인해 개별 개발자가 작업한 내용을 통합하고 테스트하는 작업을 드물게 수행하거나 심지어 프로젝트의 중반 이후에야 수행하는 경우가 많았습니다. 그 결과, 소프트웨어 ..
[서버관리] 서버 세팅시 팁 설정에 대한 튜닝은 반드시 해야 합니다. 대체로 기본값으로 최대한의 성능을 낼 수 있는 것은 없습니다. 웹 개반 시스템도 정상적으로 작동하게 하려면 세팅이 대단히 중요합니다. 프로그램에 문제가 없는데 세팅값 하나 때문에 애플리케이션의 성능이 안 좋아지는 경우가 굉장히 많기 때문입니다. DB서버를 제외한 서버 세팅에 대해 알아보겠습니다. 세팅해야 하는 대상개발하는 것만큼 중요한 것이 서버의 세팅입니다. 개발된 프로그램이 0.1초 걸린다고 해도 서버 세팅을 잘못하면 1초가 걸릴 수도 있고, 10초가 걸릴 수 있습니다. 이러한 문제를 진단하는 가장 좋은 방법은 성능 테스트를 통해서 병목 지점을 미리 파악하는 것입니다. 무조건 애플리케이션 위주로 병목을 찾는 것보다, 일단 문제가 될 만한 세팅값을 먼저 진단하는..