Sun Java System Web Server 7.0 Update 3 관리자 설명서

가상 호스팅 환경 구성

가상 호스팅 환경은 가상 서버가 여러 대인 경우 PHP 엔진 공유와 관련된 잠재적인 보안 및 성능 문제를 방지하기 위한 것입니다.

Web Server 7.0 환경 변수를 사용하면 별도의 엔진 범위가 있는 동일한 PHP 바이너리를 각 가상 서버에 할당할 수 있습니다. 각 가상 서버에는 서버마다 고유한 php.ini 파일이 있어야 합니다.


Service fn=responder-fastcgi
        app-path="/path/to/php/php_fcgi"
        bind-path="$(lc($urlhost))"
        req-retry=5
        type="*magnus-internal/fastcgi*"
        app-env="PHPRC=/path/to/users/$(lc($urlhost))/config"
        app-env="PHP_FCGI_CHILDREN=5"
        app-env="PHP_FCGI_MAX_REQUEST=200"
        min-procs=1
        restart-interval=10
        bucket="php-bucket"
        rlimit_cpu=60

Web Server tmp 디렉토리에는 이제 PHP 요청을 처리하는 개별 가상 서버를 따라 명명된 Unix 도메인 소켓이 표시됩니다. 이것은 모든 사용자에 대해 단일 PHP FastCGI 바이너리를 사용하기 때문에 가능합니다. 그러므로 단일 바이너리에 바이너리로 컴파일된 필요한 모든 플러그인이 들어 있어야 합니다. 위 문제에 대한 해결책으로 각 사용자는 본인의 필요에 따라 PHP 바이너리 복사본을 가지고 있어야 합니다.


Service fn=responder-fastcgi
        app-path="/path/to/users/$(lc($urlhost))/php_fcgi"
        bind-path="$(lc($urlhost))"
        req-retry=5
        type="*magnus-internal/fastcgi*"
        app-env="PHPRC=/path/to/users/$(lc($urlhost))/config"
        app-env="PHP_FCGI_CHILDREN=5"
        app-env="PHP_FCGI_MAX_REQUEST=200"
        min-procs=1
        restart-interval=10
        bucket="php-bucket"
        rlimit_cpu=60

URI 공간 구조를 제어하여 각 응용 프로그램에 대해 다른 PHP 바이너리를 허용할 수도 있습니다.

예:

URI 공간이 다음과 같이 구성되어 있는 경우:

/app/foo.php

여기에서 /app는 전체 응용 프로그램의 이름으로 PHP 파일로 끝나는 URI 구조에서 항상 첫 번째 디렉토리가 됩니다.


<If uri~=^/(\w+)/\w+\.php$>
						Service fn=responder-fastcgi
						app-path="/path/to/users/$(lc($urlhost))/$1/php_fcgi"
						bind-path="$(lc($urlhost))_$1"
						req-retry=5
						type=+magnus-internal/fastcgi*"
						app-env="PHPRC=/path/to/users/$(lc($urlhost))/config"
						app-env="PHP_FCGI_CHILDREN=5"
						app-env="PHP_FCGI_MAX_REQUEST=200"
						min-procs=1
						restart-interval=10
						bucket="php-bucket"
						rlimit_cpu=60
</If>

이렇게 하면 고유하게 명명된 Unix 도메인 소켓으로 바인드하는 특별히 구성된 PHP FastCGI 바이너리가 호출됩니다. 그러므로 다른 PHP 응용 프로그램이나 가상 서버에 영향을 미치지 않습니다. 하지만 이 프로세스는 다수의 PHP 프로세스로 인해 메모리 사용량이 많습니다.