5월, 2012의 게시물 표시

MacPorts로 설치한 daemon 프로그램 시작하고 종료하기

/opt/local/etc/LaunchDaemons 디렉토리 아래에 daemon 프로그램을 쉽게 그리고 확실하게 실행하고 종료할 수 있는 스크립트들이 있습니다. 아파지 HTTP 서버는 /opt/local/etc/LaunchDaemons/org.macports.apache2/apache2.wrapper MySQL 서버는 /opt/local/etc/LaunchDaemons/org.macports.mysql55/mysql55.wrapper 그 밖에 mongodb, rsync 등도 비슷하게 실행하거나 종료할 수 있습니다. 문득 daemon의 정의가 궁금해서 찾아 보았습니다. 뭔가 늘 실행중이라는 느낌이 들긴 하는데 좀 더 정확히 알고 싶군요!! Daemon[디-먼]은 주기적인 서비스 요청을 처리하기 위해 계속 실행되는 프로그램을 말한다. 디먼은 수집된 요구들을 또다른 프로그램이나 프로세스들이 처리할 수 있도록 적절히 전달한다. 디먼의 예로서, 각 웹 서버들은 웹 클라이언트나 사용자들로부터 들어오는 요구를 계속해서 기다리는 HTTPD라는 디먼을 가지고 있다. 사전적 의미에 따르면, 신화에 나오는 디먼은 "신들과 사람들 중간에 위치하고 있는 일종의 수호신"이라고 되어 있다. Daemon은 demon과 헷갈리기 쉬운데, 비슷한 의미를 갖고는 있지만 조금 다르다. 해커사전(The New Hacker's Dictionary)에서 구분하고 있는 바에 따르면, daemon은 운영체계하에서 그 자신이 직접 실행되는, 하나의 프로그램이고, demon은 커다란 응용프로그램의 일부분이라고 한다.  [출처 : http://terms.co.kr/daemon.htm] 발음이 [디-먼]이군요..그래서 데몬이라 썼다가 전부 daemon으로 고쳤습니다.^^ 편하실데로 발음하세요~

apache 서버에 설치된 모듈 확인하기

아래 명령을 통해서 아파치에 설치된 모듈 리스트를 확인할 수 있습니다. ./httpd -M

apache rewrite_module 로그

버전) apache 2.2 주의) apache 2.2와 2.4는 설정이 좀 다릅니다. 아래 내용은 2.2에서 테스트하였습니다. 참고)  http://httpd.apache.org/docs/2.2/ko/mod/mod_rewrite.html 참고2) 2.4는  http://httpd.apache.org/docs/2.4/mod/mod_rewrite.html 를 참조하세요. 아파치 rewrite_module 에 대해서는 검색해보면 많습니다. 하지만 RewriteCond 및 RewriteRule 설정이 복잡하거나 이상해서 원하는데로 동작안하는 경우가 있습니다. 이럴때는 그냥 아무 생각없이 설정을 만지작거려 보다가 "어라?!?!" .......다시 아파치 매뉴얼을 읽어봅니다. 그리고 다시 설정을 만지작거리다가 운 좋으면 가끔 될 때도 있지만 아마도 1년 중에 360일은 운이 없는 날인듯 합니다.ㅋㅋ 간혹 되더라도 원하는데로 동작하게 했다는 것 이외에는 큰 의미가 없습니다. 나중에 또 삽질이 반복될테니까요. 암튼 우리같은 사람은 뭐가 잘 안될 때 증상을 파악해야 합니다. 바로 로깅이죠. 근데 rewrite_module의 로그를 남기는 방법에 대한 설명은 영문 매뉴얼 이외에는 잘 없어서 간단한 예제 하나 올립니다. (야간 서버 작업 중인데 기다리는 시간이 너무 지루합니다.^^ 롤백 어쩌고 저쩌고 하는거 보니 뭐가 잘 안되나 보네요. DB는 정말 어렵습니다. 엉엉) <IfModule rewrite_module> RewriteEngine On RewriteCond %{DOCUMENT_ROOT}/notice.html -f RewriteRule .* /notice.html RewriteLog logs/rewrite.log RewriteLogLevel 4 </IfModule> 빨간색으로 표시된 부분이 바로 rewrite 로그 남기는 설정입니다. 로그 레벨은 0부터 9까지 사용할 수 있는데 숫자가 클수록 자