Hosting PHP on IIS 7.0 Best Practices for shared hosting
Embed Size (px)
description
Transcript of Hosting PHP on IIS 7.0 Best Practices for shared hosting
Hosting PHP on IIS 7.0
Hosting PHP on IIS 7.0Best Practices for shared hostingMicrosoftHosting Deployment Accelerator#AgendaPHP SetupFastCGI architectureHosting guidanceMultiple PHP versionsPer-site PHP configurationProviding URL rewritingManaging CPU usageSummary#PHP setup steps#3FastCGI process pool for PHP5FastCGI Handler ArchitectureIIS Worker Process
FastCGI protocol over named pipes or TCPRequest queue#Understanding the configuration options4App Pool #1 (user1) Web site #1Recommended configuration
FastCGI Process Pool
App Pool #2 (user2) Web site #2
FastCGI Process Pool
App Pool #N (userN) Web site #N
FastCGI Process pool
#5Recommended configuration Configure security isolationOne app pool per web siteEnable FastCGI impersonationPrevent failures caused by PHP recyclingset PHP_FCGI_MAX_REQUESTS >= instanceMaxRequestsFor higher site density:use dynamicIdleThresholdreduce idleTimeoutreduce maxInstances (may affect performance)#Enhance your PHP hosting offer#Multiple PHP versionsApp Pool #1 (user1) Web site #1
Process Pool for PHP 5
App Pool #2 (user2) Web site #2
Process Pool for PHP 4
C:\PHP526\php-cgi.exeC:\PHP447\php.exe#Per-site PHP configurationApp Pool #1 (user1) Web site #1
Process Pool #1
App Pool #2 (user2) Web site #2
Process Pool #2
PHPRC=C:\inetpub\website1\PHPRC=C:\inetpub\website2#Per-site PHP configurationConfiguring FastCGI process pool
Combination of fullPath and arguments uniquely identify FastCGI process pool definitionPHPRC environment variable contains path to the php.ini file#Per-site PHP configurationConfiguring Handler Mapping
Reference FastCGI process pool by concatenating [fullPath]|[arguments]#Providing URL rewriting
#Manage CPU utilizationWindows Server Resource Manager (WSRM)Available in all SKUs of WS2008Ensures that process gets *at least* the configured CPU percentageKicks in only if overall CPU load is more than 70%IIS team tested with 4000 web sites#Using WSRM
#Best practices summaryFollow IIS 7.0 security isolation guidelinesLeverage FastCGI/IIS features to enhance hosting offer:Multiple PHP versionsPer-site PHP configurationURL rewritingUse WSRM to manage w3wp.exe and php-cgi.exe CPU utilizationMore information at http://learn.iis.net/page.aspx/208/fastcgi-with-php ##Q & A