RSS구독하기:SUBSCRIBE TO RSS FEED
즐겨찾기추가:ADD FAVORITE
글쓰기:POST
관리자:ADMINISTRATOR
얼마전 아는 동생의 커뮤니티 사이트 이전 때문에 약간 삽질을 했었다.

환경은
Intel(R) Pentium(R) 4 CPU 3.00GHz ( HT Enable )
Mem 1G

CentOS 4.3 ( 2.6.9-42.0.2.ELsmp )
Apache 2.x (prefork) + PHP 5 으로 셋팅을 하였지만.

서비스가 올라오고 나서 이후에 자주 서비스가 떨어지는 것이다.
프로세서는 살아있으되 좀비가 된듯한 모습이였다.

error_log 에는 다음과 같은.... 메세지만..

[notice] child pid xxxx exit signal Segmentation fault (11)

X 됐다 ㅡ,.ㅡ;;;


Apache 와 PHP 모두 다운그레이드를 시도하여
(Apache-1.3.x 와 PHP-4.4.4 를 이용) 하였으나 역시 같은 문제가 발생하였다.


옵티마이징 코드 마져 빼버린 상황에서도 ....
불규칙적으로 서비스가 떨어져 나가는 것이다.

게다가 메모리 사용량이 비 정상적(?) 이라 보여질 만큼 낮은 ..사용율...

혹시나 하는 마음에 ..
동적 모듈로 분리했던 몇몇 모듈을 Build-in 하였다...

...지금 약 12H 정도 지났지만 별 이상 없이 돌아가고 있다.
아무래도 동적 모듈로 분리하였던 몇몇 PHP 모듈들이 원인인거 같다.

ㅡ,.ㅡ 괜한 삽질로 하루를 다보내 버렸군 ..orz..

서비스가 안정적이면 다시 돌려놔야겠다.
2006/09/04 12:30 2006/09/04 12:30
이 글에는 트랙백을 보낼 수 없습니다
RH 만 쓰다가 Gentoo 를 만질 일이 생겼는데.

BIND 데몬을 다시 시작시킬려고 늘 그랬듯이...
강제로 프로세서를 죽이고 실행 시키는데
(..무개념.....killall .... )

다음과 같은 오류 메세지가 실행된다.

* WARNING: "named" has already been started.

이런 초 낭패가 있나!!

여기서 대처 방법은
일단 해당 프로세서의 실행 여부를 확인해보라!

shell > ps aux | grep named

여기서 실행되어있다면 당근 안죽은 것이겠지만
killall 커맨드로 죽인 상황에 나올리가 없지 않은가!!

여기서 init script 를 이용해보면 재미있는 결과가 나온다 ..

shell > /etc/init.d/named status
* status: started

실행 되어있단다!!!!!
분명 프로세서는 존재하지 않는다..

하지만 start 하게 되면 실행되질 않는다..

이럴때 다음 과 같이 해주면 실행가능해진다!

shell > /etc/init.d/named zap
* Manually resetting named to stopped state.

다음과 같은 메세지를 받고 나면
데몬을 실행 시킬수 있게 된다.

데몬을 시작/종료 할땐 init script 를 이용하자 ㅡ,.ㅡ;;;;
2006/03/29 01:24 2006/03/29 01:24
이 글에는 트랙백을 보낼 수 없습니다
dinosur  | 2006/03/29 07:54
역시 초초고수 사쿨옹 (중얼)
aqua  | 2006/04/03 00:08
kill -HUP PID를 쓰던가 rndc reload를 쓰기를!!!
Dot  | 2006/04/03 10:39
killall -HUP .. 이 능사는 아니야 ....그것 썼다가 데몬이 zombie 되서 killall 때린거 거던 ㅡ,.ㅡ;;;
Spam 때문에 고생하는가!
여기 SPF 가 있다!

SPF 가 무엇이냐 하면!

간단하게 말하자면 MTA 에서 발송된 메일에 대해서
해당 Domain 에 대한 TXT 레코드를 참조하여 Trust Host 를 판별하고 이를 바탕으로
헤더 정보의 위/변조를 통하여 들어오는 Spam 들을 걸러내는 것이다.

SPF 를 써먹는 방법은
DNS 서버에는 단지 해당 도메인에 대한 TXT 레코드를 추가하고
사용중인 MTA 서버에 SPF 패치를 적용하면 되겠다.

간단하지 않은가!!?

Sendmail/Qmail/postfix 등 많이 사용하는 MTA 에 대응하는 SPF 패치가 나와있다.
그러니 걱정할 필요는 없다!

TXT 레코드에 삽입하는 정보는 The SPF Setup Wizard 페이지를 이용하면 쉽게 추가 할 수 있다.

더불어 셋팅된 Rule 이 제대로 되는지 궁금할 경우 이를 테스트 하는 페이지도 있다.

자세한 내용은 http://www.openspf.org 을 참조하면 되겠다.

Spam 없는 세상에서 살아보자 ㅡ,.ㅡ
2006/03/24 14:39 2006/03/24 14:39
이 글에는 트랙백을 보낼 수 없습니다
reserve  | 2006/03/29 14:18
살게해줘-_-
PHP 에서 Oracle 연동
PHP 에서 Oracle 접근할때 ORA-12154 에러를 뱉어내는 경우가 생긴다.

이때 확인해야 할 내용은
1. $ORACLE_SID 를 비롯한 환경 설정 여부.
  -> Oracle 을 이용하려면 몇가지 환경변수가 셋팅 되어야 한다.
특히 $ORACLE_SID 값! 이것에 주의하기 바란다.
phpinfo() 페이지의 환경변수 목록 부분에서 확인해봐라.
없으면 셋팅해주고 셋팅이 되어있다면 제대로 됐는지 확인!

2. tnsnames.ora 설정
  -> 쓰려는 tnsname 이 정상적으로 작동중인지 tnsping 커맨드를 이용하면 된다.
만약 이것이 제대로 안 먹힐 경우
listener 설정과 tnsname 설정을 다시 확인해봐야 한다!
물론 Oracle 서버와 네트웍 연결은 가능해야 한다!

3. tnsnames.ora 파일에 대한 접근 여부.
  -> 바로 이것때문에 삽질을 했다 ㅡ,.ㅡ; 설정엔 이상이 없지만.
oracle 유저의 생성시 만들어진 home 디렉토리가 퍼미션이 묶이면서
다른 유저(정확하게는 Apache User 에 셋팅된 유저임) 의 접근이 불가능해졌던 것이다!
tnsnames.ora 파일을 참조해서 Oracle 연결한다는 것을 명심하자!



PHP Extension Module 붙이기!

PHP Extension Module 을 붙이기 위해선
php.ini 파일에 extension_dir 변수를 설정해줘야 한다.
설정값엔 Full PATH 를 명시해줘야 한다.

extenstion='/usr/local/lib'

위 와 같이 말이다.

이후 저 경로에 .so 모듈을 집어 넣어주면 ok !

물론 상대경로를 지정해줘도 되지만 ..
좀 고달퍼질 수도 있어서 걍 절대 경로를 입력해주는 쪽이 나은거 같다.
아마 특별한 이유가 없다면
왠만해선 모듈은 버젼에 따라서 새로 컴파일 할 필요가 없다.

Zend 엔진과 모듈 사이에 프로토콜(?) 이 특별히 변하진 않는거 같다;
2006/03/09 11:53 2006/03/09 11:53
이 글에는 트랙백을 보낼 수 없습니다
dinosur  | 2006/03/09 15:32
사쿠루옹~~ 젠투에 APM 올리는 것 좀 도와줘요. 뭐가 뭔지 모르겠어요 ;ㅁ;
Dot:Where is ......
byDot
Where is ......
전체 (177)
주절거림 (60)
윈도우벽지 (2)
Shoveling.. (9)
주워들은것들.. (48)
요집이 괜찮더라!! (0)
찍사놀이 (7)
관심꺼리~ (4)
«   2024/11   »
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
  1. 내 맘대로 보는 세상  2009
    맘에 안드는 Internet Explorer 업데이트 방침!
  2. 시리니  2008
    브라우저 업데이트, 작지만 큰 실천입니다.
  3. Dinosur와 KM의 Blog  2007
    저도 보통 사람
  1. 2019/02 (1)
  2. 2018/07 (1)
  3. 2018/01 (11)
  4. 2017/12 (10)
  5. 2017/10 (1)