패키지 관리자를 통해 NGINX 최신 버전(Mainline/Stable) 설치하기

아무런 조치 없이 리눅스의 패키지 관리자를 통해서 웹 서버인 NGINX를 설치하게 되면 자신이 원하는 버전을 설치하지 못할뿐더러, 현재 패키지 관리자에선 구 버전이 기본 설정되어 있습니다. 실제 운영환경에서 구 버전은 보안 문제든 기능 문제든 치명적으로 작용할 수 있습니다. 패키지 관리자를 업데이트해서 NGINX 최신 버전 및 원하는 버전을 설치해보도록 하겠습니다. NGINX의 버전 관리 일반적으로, 많이 알려진 버전은 단 두 가지인데요. Mainline 버전과 Stable 버전이 있습니다. 새로운 특징, 기능, 버그 패치 등은 Mainline 버전에서 작업하고 그 이후에, 새로운 기능이 추가되지 않고 버그 패치만 하는 게 Stable 버전입니다. 버전 선택에 관련해서 NGINX의 공식 입장은 다음과 같..

ulimit 명령어로 시스템 자원 최대로 활용하기

최근에, 회사에서 채굴관련 웹 서버를 운영하는데 stratum 서버에 다수의 채굴기가 연결 되면서 서버 트래픽이 급격히 증가하면서 다운되는 현상이 있었다. 동시 접속자와 네트워크 트래픽이 증가하면 어떻게 처리를 할까 검색을 하던 중 ulimit 이라는 아주 최고의 설정을 발견했다. ulimit 이란?프로세스의 소켓 최대 개수를 늘려 자원 한도를 설정하는 명령어 라고 한다. ulimit -a 로 전체적인 설정 값들을 볼 수 있으며, ulimit -n 으로 현재 설정되어있는 ulimit 값을 볼 수 있습니다.(참고로, 우리가 원하는 정보는 ulimit -n 명령어로도 충분하다.) sudo vim /etc/security/limits.conf 에서 다음과 같이 설정해주면 된다. 맨 마지막 부분에 * - nof..

netcat(nc)를 이용해 포트 열기

얼마 전 회사에서 서버 포트를 열어달라는 요청을 받았다. 근데, 웹서버가 있는 것도 아니고 어떻게 포트만 달랑 열 수 있는 방법은 무엇인가? 처음엔 iptables 라는 명령어로 연신 포트 설정만 해댔다. 하고 나서 윈도우에서 telnet 으로 붙어보니 연결이 되지 않은 것을 확인했다. 검색결과, netcat(nc)를 사용하면 간단히 해결 될 문제 였다. netcat(nc) 란?Network connection 에서 raw-data read, write를 할수 있는 유틸리티 프로그램이다. 일반적으로는 UNIX의 cat과 비슷한 사용법을 가지고 있지만 cat이 파일에 쓰거나 읽듯이 nc는 network connection에 읽거나 쓴다. 이것은 스크립트와 병용하여 network에 대한 debugging, ..