[Ubuntu] Monit 설치 및 설정

서버 모니터링 용도로 오픈소스 monit 을 사용하고 있다. 설치 및 설정이 간단하지만 기능은 강력하다. monit 공식사이트는 https://mmonit.com/monit/ 이다.

설치

우분투 환경에서는 위 명령을 실행해서 monit을 설치할 수 있다. monit 설정은 /etc/monit 에서 한다. 설정 파일은 monitrc 이며 모니터링할 서비스 설정은 conf-available 디렉토리에 제공되고 있다. 아래는 기본 제공되는 설정 파일이다. 이 중 php7.0-fpm 파일은 별도로 추가한 것이다.

monit 에서 모니터링할 서비스는 conf-enabled 에 넣어주면 되는데 나의 경우는 아래처럼 심볼릭 링크를 이용했다. Read More

Ubuntu 16.04 에서 리부팅 때 ufw 시작되지 않는 문제

적잖이 황당했다. ufw enable 명령으로 활성화를 해둔 상태인데 재부팅을 하면 다시 inactive 상태??? @.@

더구나 설정한 rule도 적용되지 않는 문제가 생겨서 구글링하다가 아래 답변을 보고 적용했더니.. 해결!!

https://askubuntu.com/questions/851164/ufw-remains-disabled-after-a-reboot-using-ubuntu-server-16-04/851166?sfb=2#851166

아래처럼 netfilter-persistent 서비스가 ufw 서비스를 무력화시켜서 시작도 되지 않고 rule 도 적용되지 않았던 것이다. 아래 명령어를 통해 netfilter-persistent 서비스를 disable 시킨다.

[PhantomJS] Ubuntu 16.04에서 QXcbConnection: Could not connect to display 오류 해결

우분투 16.04 LTS 서버에서 PhantomJS를 아래 명령어로 설치하고 실행 때 오류가 발생할 수 있다.

오류 메시지는 아래와 같다.

위와 같은 오류가 발생하면 xvfb 패키지를 설치하고 아래와 같이 PhantomJS를 실행하면 된다.

위 명령을 매번 입력하는 게 귀찮다면 Alias 를 이용해 처리한다.

aliases.sh 파일의 내용은 아래와 같다.

파일을 저장한 후 아래 명령어를 통해 갱신해준다.

 

아래의 코드로 PHP 에서 phantomjs 명령어를 실행할 경우 위의 내용을 적용했음에도 제대로 실행이 되지 않는 경우가 있음을 알았다.

PHP에서는 아래와 같은 코드로 phantomjs 명령을 실행하면 된다.

 

PHP cli 모드에서 위 스크립트를 실행해보면 xvfb-run: error: Xvfb failed to start 라는 오류가 화면에 표시되는 걸 확인할 수 있다. 이 때는 아래와 같이 -a 옵션을 추가해준다.

[Python] 파이썬3.6 팁 정리

Ubuntu 16.04 LTS 버전에 Python 3.6 버전을 설치한 상태를 기준으로 한다.

  1. pip 업그레이드

You are using pip version 8.1.1, however version 9.0.1 is available.
You should consider upgrading via the ‘pip install –upgrade pip’ command.

위와 유사한 메세지가 표시되는 경우 내용대로 pip install –upgrade pip 실행해도 pip 업그레이드 되지 않는다면 아래 명령을 실행한다.

  1. constant.py 파일의 상수 사용하기

예를 들어 constant.py 파일의 상수를 다른 py 파일에서 import 하여 사용하는 방법이다.

두 파일이 같은 디렉토리에 존재할 경우 import constant 와 같이 파일이름에서 .py 를 제외한 것을 지정하고 파일의 상수를 사용하기 위해서는 constant.Key 와 같이 constant.py 파일의 Key 라는 상수를 지정해서 사용할 수 있다.

가상호스트 환경에서 Apache와 Tomcat의 연동

여러 개의 가상호스트 환경에서 아파치와 톰캣을 연동하는 작업을 진행했다. 검색으로 찾은 자료들은 단일 호스트 환경이었기 때문에 바로 적용이 어려웠고 많은 시행착오 끝에 2개 이상의 가상호스트 환경에서 톰캣과 연동을 통해 jsp 파일을 실행할 수가 있었다. 작업을 진행하면서 바로 작성한 것이 아닌 작업 후 기억에 의존해서 정리하는 것이라 틀린 내용이 있을 수도 있다.

톰캣(Tomcat) 설치

톰캣을 yum 을 이용해 설치했다. 설치 후 톰캣을 실행해 서버가 제대로 실행되는지 확인한다. http://example.com:8080 으로 접속해 화면을 확인한다.

mod_jk 설치

설치 후 아파치 설정을 변경한다.

mod_jk.conf 파일의 내용은 아래와 같다.

workers.properties 파일의 내용은 아래와 같다.

uri.properties 파일의 내용은 아래와 같다.

아파치(Apache) 가상호스트 설정

톰캣(Tomcat) 가상호스트 설정

server.xml 파일에 Host 부분을 추가한다.

name 설정은 아파치의 가상호스트명과 동일하게 설정한다.

ROOT.xml 파일을 Catalina 디렉토리 안에 있는 example.com 디렉토리에 생성한다. 가상호스트명에 해당하는 디렉토리가 없는 경우 톰캣을 재실행한 후 확인한다. ROOT.xml 파일의 내용은 아래와 같다.

 

가상호스트가 추가될 때는 아파치와 톰캣에 가상호스트 추가 과정을 반복한다.