[Server] PHP 세션 만료 타임 수정

php.ini

세션 만료 타임을 24시간으로 변경

session.cookie_lifetime = 0 ; 초 (0일경우 브라우저를 닫을때까지 쿠키가 유효함)
session.cache_expire = 1440 ; 분 
session.gc_maxlifetime = 86400 ; 초

by Mays | 2010/09/20 15:04 | System. | 트랙백 | 덧글(0)

[IT] 맥용 곰플레이어 소식

맥용 곰플레이어(맥곰)가 곧 공개되는 모양이다. 맥유저로써 동영상 플레이어는 VLC 를 애용하고 있었지만,
곰플레이어의 그 편함을 잊을수 없었는데, 마침 잘되었다.  또한, 아이폰 런칭 과 맥용 곰플레이어 공개 등
좋은 소식이 자주 들려 오니 맥유저로써 기쁘기 그지 없다. 
그나저나, 한국은 맥 유저가 많지는 않지만 점점 늘어나는 추세이고, 외국은 맥을 많이 이용한다고는 하는데,
아마도 이번 맥용 곰TV 와 곰플레이어 공개 소식은 해외를 위한 교두보 역활을 위한 것일듯 하다.

by Mays | 2009/12/26 15:47 | IT Story | 트랙백 | 덧글(0)

[OS] FreeBSD 에서 bash 사용

환경
 VMware - FreeBSD 7.2

상황
 FreeBSD 를 인스톨하면 bash 패키지를 설치 하지 않는 이상 bash 를 바로 사용할수 없다.
 또한 설치 화면에서 bash를 인스톨 하였더라도 유저 생성시 bash 를 지정하지 않으면,
 디폴트로 다른 쉘을 사용하게 된다. 또한 root 는 기본적으로 csh 를 사용 하도록 되어
 있으므로, bash 쉘로 바꿔 보도록 한다.

패키지 확인
 front# pkg_info | grep bash
 bash-4.0.10_2       The GNU Project's Bourne Again SHell
 위와 같이 "bash-4.0.10_2 ... " 로 나온다면 bash 가 이미 설치 되어 있는 것이다.

패키지 설치
 front# cd /usr/ports/shells/bash
 front# make install clean

쉘 변경
 front# rehash
 front# chsh -s /usr/local/bin/bash
    또는
 front# rehash
 front# chsh
 #Changing user information for root.
 Login: root
 Password:
  ...
 Shell: /bin/csh
 ..
 에서 /bin/csh/usr/local/bin/bash 로 변경하고 저장하고 나가면 된다.

 "chsh : user information updated" 가 출력되면, 성공적으로 쉘이 변경된것이다
 그리고, 다음번 로그인시 bash 로 적용되어 있을것이다.

by Mays | 2009/12/26 04:55 | System. | 트랙백 | 덧글(0)

[OS] FreeBSD 시스템 모니터링 유틸( systat )

환경
 VMware - FreeBSD 7.2


명령
 systat [-display] [refresh-interval]


설명
 systat 는 swap 상태, 디스크 I/O 상태, virtual memory 상태, 네트워크 및 인터페이스 등의 상태를
 사용자가 알아 보기 쉽도록 일목 요연하게 보여준다. iostat, netstat, vmstat 등은 문자와 숫자로
 구성된 전형적인 텍스트 기반이라 쉽게 접근하기 어려우나, systat 는 처음 사용하더라도 바로
 알아볼수 있을정도로 명확하다.


사용 예
 ( 자세한것은 man systat 참고 하기 바라며,  결과 화면에서 나가려면
 Ctrl +c 또는 : 를 입력한후 quit 입력하여 종료한다.)

 1초 마다 디스크 I/O 상태 확인
 [root@front snmp ]$ systat -iostat 1

 1초 마다 vitual memory 상태 확인
 [root@front snmp ]$ systat -vmstat 1

 1초 마다 인터페이스 트래픽 확인
 [root@front snmp ]$ systat -ifstat 1

 1초 마다 네트워크 상태 확인
 [root@front snmp ]$ systat -netstat 1

 1초 마다 tcp 상태 확인
 [root@front snmp ]$ systat -tcp 1

by Mays | 2009/12/25 17:05 | System. | 트랙백 | 덧글(2)

[OS] CentOS 네트워크 설정

환경
 VMware - CentOS 5.2

네트워크 설정

 터미널에서 setup 명령을 이용하여 셋업 유틸리티를 실행 시킨다.


 "Network Configuration" 항목을 선택후 아래 "Run Tool"을 선택한다.


 자신 머신에 설치된 네트워크 인터페이스를 선택한다 ( ex : eth0 )


 위 화면에서 각자의 시스템에 맞게 네트워크 환경을 설정한다.


 네트워크 설정을 마치고 셋업 유틸리티 화면에서 빠져나간다.




 ifdown 명령어로 인터페이스 eth0 를 down 시키고, ifup 명령어로 인터페이스 eth0을 다시 up 시킨다.
 (설정을 다 마치고 ifconfig 명령어로 네트워크 설정이 제대로 되었는지 확인한다.)
 또는 아래처럼 /etc/init.d/network restart 로 네트워크 설정을 재 가동 할수 있다.

 

by Mays | 2009/12/25 05:24 | System. | 트랙백 | 덧글(0)

[OS] VMware 네트워크 셋팅 Bridge & NAT

환경
 공유기 <-> Host  OS (사설 IP : 192.168.0.2) ---- VMware Guest OS


Bridge
 VMware에서 Guest OS 를 만들때 네트워크 설정을 Bridge로 설정하면 공유기의 내부 네트워크를
 그대로 이용할수 있다.  그러므로 VMware 의 네트워크 설정이 필요없다.

 공유기(공인 IP & 사설 IP : 192.168.0.1 )
    |---- Host OS ( 사설 IP : 192.168.0.2 )
    |---- Guest OS ( 사설 IP : 192.168.0.3 )


NAT
 VMware에서 Guest OS 를 만들때 네트워크 설정을 NAT로 설정하면 공유기 안의 NAT환경을
 구성할수 있다. 이때 공유기의 내부 네트워크에서 VMware 의 Guest OS로 접근하고자 할때는
 VMware에서 NAT 포트포워딩을 설정해주어야 한다.

 공유기(공인 IP & 사설 IP : 192.168.0.1 )
    |---- Host OS ( 사설 IP : 192.168.0.2 )
                |---- Guest OS ( 사설 IP : 192.168.128.3 )

by Mays | 2009/12/25 05:13 | System. | 트랙백 | 덧글(0)

[OS] CentOS 5.2 에서 Starting udev 메시지후 부팅 지연

문제 상황
 VMware 에 CentOS 5.2 를 인스톨후 부팅화면에서
 Starting udev... 메시지후 부팅이 멈추 버린다.
 일단 Ctrl + c 로 취소 시키고 부팅을 시켰지만 다음번 부팅시에도 같은 증상이었다.
 네이버 및 구글 검색 결과 /etc/grub.conf 를 수정하여 해결이 된다고 하였다.

해결 방법
 grub 부트로더를 이용하였다면,
 /etc/grub.conf 에 acpi=off 를 추가한 후 리부팅한다.

by Mays | 2009/12/25 01:34 | System. | 트랙백 | 덧글(0)

[Server] FastCGI 데몬의 프로세스 상태가 lockf 로 hang이 걸릴때

서비스 환경
 FreeBSD - Nginx - FastCGI - PHP

문제 상황
 CBT 중 uptime 이 약 5일동안 무리없이 서비스 되던 웹 서버에서
 갑자기 php-cgi 들이 하나 둘씩 lockf 상태로 변하면서,  php 페이지 요청을 처리 하지 못함
 Nginx는 요청을 제대로 받아들이나, PHP를 처리하던 FastCGI(php-cgi)는 무한대기 상태로 빠짐

조치 상황
 FastCGI 데몬 재가동 : 상황 나아지지 않음
 머신 reboot : 상황 나아지지 않음
 동일 환경의 여분 머신으로 서비스를 유지시키고, 문제 장비는 서비스에서 제거
    : 여분 장비에서는 같은 문제 발생안함

원인 파악
 서비스는 PHP의 SESSION을 활용하여 유저간의 로그인 상태를 처리하였다.
 SESSION 정보는 해당 머신의 파일로 관리되고 있었으며, SESSION 정보를 파일에 기록하거나, 
 엑세스하려 할때 lock이 걸릴수 있음을 알게되었다. (구글 검색 참고 : ajax and sessions : race condition)
 물론, ajax 로 인한 문제는 아니지만, SESSION 을 관리할때 lock이 걸릴수 있음이 파악되었고, 실제로
 lockf 중인 php-cgi 의 상태를 procstat 로 확인한 결과, 세션 파일을 open한후 대기중이었다. 
 그래서 세션파일을 모두 지우고, FastCGI를 재 가동 하였으나, 해결되지는 않았다.
 "세션 파일을 open한후 계속 대기중인 상태"에서 힌트를 얻어, php session에 대해 검색한 결과
 session_start() 로 세션을 초기화하고 세션 정보를 저장할때는 반드시 다음 리퀘스트에서도
 세션 정보를 저장해 줄수 있도록 session_write_close()를 호출해줘야 함을 알게 되었다. 
 해결 방법을 적용한후 문제 상태가 복구되었다.

해결 방법( PHP에 세션 정보를 저장하는 코드)
 session_start()
 ...
 _SESSION['user_info'] = user_info;
 ...
 session_write_close()

by Mays | 2009/12/23 01:57 | Programming. | 트랙백 | 덧글(0)

[Server] Apache Prefork & Worker 모델

컴파일 옵션
 prefork
    --with-mpm=prefork

 worker
    --with-mpm=worker

by Mays | 2009/12/23 01:07 | System. | 트랙백 | 덧글(0)

◀ 이전 페이지          다음 페이지 ▶