본문 바로가기

리눅스11

[MariaDB] CentOS에서 TokuDB 사용하기 * TokuDB?Percona TokuDB 는 MySQL 에서 사용하던 추가적인 엔진으로 알고있습니다. MariaDB에서는 기본적으로 탑제가 되어있으나 설정으로 동작을 시키는 방식으로 구동이 됩니다. RDBMS는 보통 B- 트리를 사용하지만 TokuDB 는 Fractal Tree Indexing 을 사용하여 InnoDB 에 비해 약 20배 정도의 더 빠른 응답시간을 가진다고 합니다. (공식홈페이지) Fractal Tree Indexing 에 대한 참고 문서는 (링크 / 링크) 로 가셔서 확인하시면 됩니다. 그럼 TokuDB를 어느때 사용해야할까는 저도 전문가(DBA)가 아니기에 확언은 하지 못하지만 여럿 밴치마크와 공식 문서에 참고하자면 * InnoDB 대비 적은용량으로 SSD를 사용할시에 읽기 쓰기 작.. 2017. 4. 6.
[CentOS] Redmine 설치 + nginx + Passenger * 레드마인?레드마인은 프로젝트 진행시 Task 관리 등을 관리해주는 프로젝트 매니지먼트를 해주고있습니다. 간트차트또한 지원이 되지만 문서 작업용으로는 많이 부족합니다만 전반적인 프로세스를 한눈에 알기 쉽기때문에 간혹 쓰이곤 합니다. * 설치전 필수 설치사항PostgreSQL 9.x 버전 (설치법) * 설치설치전 먼저 레드마인은 Ruby 라는 언어로 이루어져있습니다. 그렇기때문에 ruby 와 필수 패키지들을 먼저 설치하도록 하겠습니다. yum -y install zlib-devel curl-devel openssl-devel libyaml-devel openssl-devel readline-devel 확인창에는 물론 y y y 입니다. 그리고 루비를 설치해 보도록 하겠습니다. 루비는 다운로드를 하여 설치.. 2017. 1. 11.
[CentOS] SonarQube 설치 * 소나큐브?소나큐브는 정적 코드 분석 툴로써 사용되는 오픈소스 프로젝트입니다. 주로 메소드명이 길진 않은지 파라미터값이 많지는 않은지 복잡도는 얼마나되는지 등등을 검사해주는 툴입니다. 웹으로 구동되며 자세한 내용은 (링크) 로 가셔서 확인하시면 되겠습니다. 만약 복잡도가 높거나 파라미터값이 많거나 할때는 다른 방식으로 구현하도록 에러를 띄워주는 툴입니다. 개인 개발을 할때에도 복잡도가 늘어나면 한눈에 코드의 내용이 들어오지 않기때문에 변경해주는것이 좋습니다. 다시말해 젠킨스는 코드의 지속적인 통합으로 에러검출과 소스코드 품질을 높이는 곳에 중점을 둔다하면 소나큐브는 정적으로 코드를 분석하여 코드의 품질을 올려주는 역할을 담당합니다. 개인적으로는 가장 권장되는 툴이 아닌가 싶습니다. * 설치전 필수 설치.. 2017. 1. 10.
[CentOS] nginx 설치 * NGINX 엔진엑스?엔진엑스라는 것은 이전 아파치 httpd 서버를 대체하는 주로 정적 웹페이지(html 등)을 처리할때 많이 쓰이는 웹 서버 중 하나입니다. 이전에는 Apache Httpd 를 주로 썼지만 엔진엑스를 쓰는 주된 이유는 Httpd 의 성능의 한계가 왔기 때문입니다. 사람들이 많이 모이는 홈페이지가 있을 경우 아파치 httpd 는 느려지는 현상이 있는 반면 엔진엑스는 빠른 웹 페이지를 제공합니다. 보다 자세한건 (링크) 로 가시면 있습니다. 이외 구글에 검색을 조금만 해보셔도 많은 자료들이 나올 것입니다. 유명한 포털중에서는 네이버가 사용중인것으로 알고있습니다. 주된 목표는 정적인 페이지 처리담당은 엔진엑스 동적인 JSP 처리를 위한 서버는 Tomcat 에서 담당을 목표로 하고있습니다... 2017. 1. 10.
[CentOS] PostgreSQL 설치 * PostgreSQL포스트그래스큐엘은 어떻게보면 읽기가 힘든 DB 일지도 모르겠습니다. 하지만 포스트그래스큐엘은 RDBMS 중 4위(링크) 로 해외나 일본측 최근엔 한국에서 GIS 쪽으로 쓰이는것으로 알고있습니다. 개인적으로 오라클에 먹힌 (사용하기 좀 불안한) MySQL 보다는 연동되는 DB로 주로 이것을 사용합니다. 아직 포스트그래스큐엘로 개발해본적은 없지만 마리아 DB 로는 아직 프로그램 지원범위가 넓지 않아서 사용합니다. 즉 저의 사용목적은 Redmine 과 SonarQube 를 사용하기위한 DB로 사용하려고 합니다. 성능은 두말할것 없이 좋습니다. MariaDB InnoDB 로 했을때 PostgreSQL 이 좀더 빠르다는 벤치마크들이 종종 있습니다. 하지만 단점으로는 대형 DB로는 조금 부족하.. 2017. 1. 10.
[CentOS] Jenkins 설치 * 젠킨스?젠킨스는 CI(Continuous Integration) 약자로 지속적인 통합을 말합니다. 단독으로 프로젝트를 진행할때는 큰 필요는 없지만 팀단위로 하는 경우가 많습니다. 팀단위로 할때 누군가는 커밋(Pull) 을 안하고 있을때면 통합 테스트때에 발생된 오류들을 또 고치기 마련입니다. 하지만 CI 라는것은 이러한 지속적인 커밋(Pull) 을 해가며 오류사항과 팀원들의 진행상황 전반적인 코드 품질을 향상시키기도 합니다. 그중 젠킨스라는 것은 CI중 가장 대표적이고 가장 많이 쓰이는 도구라고 할 수 있습니다. 이전에는 허드슨(Hudson) 으로 시작을 했지만 Oracle 에 편입이 되는 바람에 나온 오픈소스 툴입니다. * 설치설치는 아주 간단합니다. 이전에 1장부터 4장까지 진행했던 내용중 아파치.. 2017. 1. 9.
5장. MariaDB 설치 ( yum repo. ) * 이번장의 목표MariaDB Yum Repo. 를 수정하여 최신버전을 설치. * 마리아 DB?컴퓨터를 전공하거나 컴퓨터에 관심이 있다면 특히 웹쪽 한번쯤은 MySQL 이라는 DB를 들어본적이 있을텐데 오라클에 흡수되고 오라클에 좋지 못한 감정을 가지게되어 핵심개발자가 나와 다시 만든게 마리아 디비입니다. 꽤나 함축적으로 적었는데 조금 더 자세히 알고싶으신 분들은 (링크) 로 가셔서 확인하시면 됩니다. 아무튼 무료에 RDBMS중 가장 괜찮다고 생각하는 DB중 하나입니다. 개인적으로 쓰는 이유중 하나는 무료로 제공되는 오라클 DB 11g xe는 안전성이 높지만 한글이 3byte 씩 차지하고 무엇보다 리스너가 꽤나 무겁게 느껴집니다. 반대로 마리아디비는 큰 리소스를 차지하지 않는 느낌과 한글이 2byte씩 .. 2017. 1. 6.
4장. git 설치 ( make ) * 이번장의 목표git 을 소스를 다운받아 make로 설치하기 * git 이란?간단한 소개로 형상관리(버전관리)중 하나인 git 입니다. 그럼 형상관리라는 것은 보통 프로그램을 만들때 혼자서 만드는 경우가 드물기때문에 같이 소스를 공유하고 버전을 관리하기 위해 사용하는 프로그램입니다. git 이외에 자주쓰이는 것은 SVN(Subversion) 입니다. git에 대해 조금더 자세히 알고싶으신 분은 (링크) 로 가셔서 확인하시면 됩니다. 흔히 알고계시는 GitHub 같은경우는 git 를 웹으로 서비스를 해주는 곳중 하나입니다. * git 설치 방법 1CentOS 에 git 을 설치할때 방법중 하나는 yum 을 이용하는것입니다. yum install git 하지만 위와같은 방법을 쓴다면 yum CentOS 레.. 2017. 1. 6.
3장. Apache Tomcat 설치 ( tar / wget / mkdir ) * 이번장의 목표wget 으로 다운을하고 tar 압축을 풀고 설치 * Apache Tomcat아파치 톰캣이란? JSP 와 서블릿을 구동해주는 웹 어플리케이션 서버(WAS) 입니다. 아직은 정적인 서버와 동적인 아파치 톰캣을 분리할 필요가 없기때문에 먼저 아파치 톰캣을 설치합니다. 조금더 자세히 알고싶으신 분은 (링크) 로 가셔서 확인하시면 됩니다. 먼저 아파치 톰캣을 설치하기 이전에 아파치 톰캣은 Java 단에서 구동되는 서버이기에 자바를 먼저 설치를 해야합니다. root 상태에서 진행하도록 하겠습니다.yum list java*jdk 위와같이 명령어를 입력하면 현재 yum 에 jdk 리스트들을 볼 수 있습니다. 이번에 설치할 jdk 는 1.8.0 입니다. yum install java-1.8.0-open.. 2017. 1. 4.
2장. 기본 명령어 및 업데이트 ( VIM / YUM ) * 이번장의 목표vim 에디터를 이용하여 간단한 네트워크 설정을 수정하고 yum 으로 업데이트 * 기본적인 명령어여기서 기본적인 설정을 만지는데에는 su, cd , rm , cp, ls, tar, vim, yum 정도만 쓰입니다.자세하고 많은 명령어를 알고싶다면 (링크) 로 가셔서 확인하시면 됩니다. 간단히 소개후 직접 사용해보면서 하는 식으로 익히도록 하겠습니다. su - 계정을 바꿀때 쓰입니다 일반적으로 su - [계정명] 이 기본이며 root 로 갈때는 계정명을 생략해도 무관합니다. cd - 보통 MS-DOS 에서도 동일하게 사용하는 명령어중 하나입니다. 기본적으로 cd [폴더주소] 로 쓰입니다. rm - cd 와 비슷하게 rm [폴더/파일 주소] 로 지정하여 삭제를 합니다. cp - 이것도 얼추 .. 2017. 1. 4.