lighttpd : Virtualhost 에 따라 php 다르게 설정하기 Lighttpd:Lighty
2009.03.19 22:00 Edit
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 설정을 사용하고 특별한 경우에만 위 내용을 적용해서 사용하면 좋을 것이다.
- [2010/03/05] PHP 확장 모듈 추가 하기 (180)
- [2010/03/05] PHP 파일 업로드 용량 제한 :: 환경설정(php.ini & Apache) (493)
- [2010/03/05] PHP 파일 업로드 용량 제한 :: 환경설정(php.ini & Apache) (0)

- fcgi , mod_fastcgi , php.ini
토트에서 다시 이어갑니다. ^^ 