lighttpd : Virtualhost 에 따라 php 다르게 설정하기 Lighttpd:Lighty

fastcgi 방식으로 PHP를 운영하면서 가장 불편하게 생각했던 점은
Apache 에서는 가능한 .htaccess 나 php_value 을 이용하여
각 가상호스트별로 PHP설정값을 따로 설정을 해줄 수 없다는 점이었다.

그동안 해결방법을 찾지 못하다가 우연히 문서를 찾아보던 중 발견하게 되었다.
[참고사이트]
1. http://snippets.dzone.com/posts/show/321
2. http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:Configuration
3. http://www.cyberciti.biz/tips/custom-phpini-file-for-each-domain-user.html
※ 참고 : 위 3번은 나중에 찾게 된 페이지.  이걸 알았다면 삽질도 없었을 것을 ㅡㅡ;

설정은 다음과 같다.

[test_php.conf 파일 내용]
[code]fastcgi.server      = ( ".php" =>
        ( "localhost" =>
                (
                    "socket" => "/var/run/lighttpd/test/php-fastcgi.socket",
                    "bin-path" => "/usr/bin/php-cgi -c /etc/php_test.ini"
                )
        )
)[/code]
위 내용 중 "/usr/bin/php-cgi -c /etc/php_test.ini"   <-- 이부분이 핵심이다.
(물론 이 때 소켓파일도 별도로 만들어 줘야 한다.)
각 CGI 설정별로 php.ini 파일을 다르게 사용할 수 있다.

[lighttpd.conf 파일 내용]
[code]$HTTP["host"] =~ "^test\.com$" {
    server.document-root    = "/home/test/www"
    accesslog.filename      = "/var/log/lighttpd/test-access_log"
    # fastcgi 따로 추가
    include "conf.d/test_php.conf"
}[/code]
이렇게 설정한 다음 lighttpd 를 재시작하면
프로세스가 /usr/bin/php-cgi -c /etc/php_test.ini  이렇게 실행이 되며
php 설정파일을 다르게 사용한다는 것을 알 수 있다.

가상호스트별로 모두 설정하면 프로세스가 많아지므로
일반적인 경우에는 Global 설정을 사용하고 특별한 경우에만 위 내용을 적용해서 사용하면 좋을 것이다.

이 글과 관련된 글
  1. [2010/03/05] PHP 확장 모듈 추가 하기 by pop2joa (180)
  2. [2010/03/05] PHP 파일 업로드 용량 제한 :: 환경설정(php.ini & Apache) by pop2joa (493)
  3. [2010/03/05] PHP 파일 업로드 용량 제한 :: 환경설정(php.ini & Apache) by pop2joa (0)
TAG

Leave Comments


profile토트에서 다시 이어갑니다. ^^ 


T-NAVI