1 Hosting PHP on IIS 7.0 Best Practices for shared hosting Microsoft® Hosting Deployment Accelerator.

Slides:



Advertisements
Similar presentations
Faith Allington Program Manager Microsoft Corporation WSV322.
Advertisements

Internet Information Server 6.0. IIS 6.0 Enhancements  Fundamental changes, aimed at: Reliability & Availability Reliability & Availability Performance.
1. 2 Branch Office Network Performance Caches content downloaded from file and Web servers Users in the branch can quickly open files stored in the cache.
Running PHP on Windows Server 2008 and IIS 7 Rob Cameron Developer Evangelist, Communications Sector Microsoft.
PHP on Windows Improvements in PHP-Microsoft Interoperability PHP World Kongress Munich, Germany November 9, 2010.
Lap around IIS7 Ashish Jaiman ISV AE Microsoft Confidential.
Overview Of Microsoft New Technology ENTER. Processing....
IIS v7.0 Martin Parry Developer & Platform Group Microsoft Limited
Web Servers How do our requests for resources on the Internet get handled? Can they be located anywhere? Global?
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 1: Introduction to Windows Server 2003.
Microsoft Virtual Server 2005 Product Overview Mikael Nyström – TrueSec AB MVP Windows Server – Setup/Deployment Mikael Nyström – TrueSec AB MVP Windows.
Lesson 20 – OTHER WINDOWS 2000 SERVER SERVICES. DHCP server DNS RAS and RRAS Internet Information Server Cluster services Windows terminal services OVERVIEW.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 8: Implementing and Managing Printers.
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 8 Introduction to Printers in a Windows Server 2008 Network.
Microsoft ® Application Virtualization 4.5 Infrastructure Planning and Design Series.
Windows Server 2008 Chapter 8 Last Update
April-June 2006 Windows Hosting Seminar Series Product Roadmap: IIS 7.0 Matthew Boettcher Web Platform Technical Evangelist (Hosting) Developer & Platform.
Microsoft ® Application Virtualization 4.6 Infrastructure Planning and Design Published: September 2008 Updated: February 2010.
Virtual techdays INDIA │ august 2010 IIS 7/7.5 Tips & Tricks Jaskirat Singh │ Technical Lead [IIS|Asp.Net team], Microsoft.
PHP on Windows Overview. AGENDA MS Support for PHP community WS08 +PHP FASTCGI Enhancing PHP with IIS Extending PHP with.NET.
BitWizards/Kentico Commercial Service Providers Hosters, SIs, Web Design Firms, VARs, OEM Partners Commercial Service Providers.
Michael Epprecht Microsoft Switzerland twitter: fastflame The Windows Web Platform.
Software Licensing, Made Simple SELECT Server XM Edition
Session 10 Windows Platform Eng. Dina Alkhoudari.
Module 8 Configuring and Securing SharePoint Services and Service Applications.
Data Management Kelly Clynes Caitlin Minteer. Agenda Globus Toolkit Basic Data Management Systems Overview of Data Management Data Movement Grid FTP Reliable.
Brent Mosher Senior Sales Consultant Applications Technology Oracle Corporation.
Microsoft SharePoint Server 2010 for the Microsoft ASP.NET Developer Yaroslav Pentsarskyy
Microsoft Internet Information Server (IIS) Judy Chen Mohammad Tiffany Le.
PHP on Windows Improvements in PHP-Microsoft Interoperability Brian Swan PHP Developer Outreach,
Module 10 Administering and Configuring SharePoint Search.
Module 5: Configuring Internet Explorer and Supporting Applications.
Hands-On Microsoft Windows Server Implementing Microsoft Internet Information Services Microsoft Internet Information Services (IIS) –Software included.
Module 13: Designing Print Services in Windows Server 2008.
Peter J. Meister Group Product Manager Microsoft Corporation Session Code: WSV318.
Page 1 © 2001, Epicentric - All Rights Reserved Epicentric Modular Web Services Alan Kropp Web Services Architect WSRP Technical Committee – March 18,
Michael Epprecht IT Pro Evangelist Microsoft Switzerland twitter: fastflame.
Good MDM IOS Overview Presented by: Jerry Wen 02/09/2012.
1 Session 1: Introduction to PHP & MySQL iNET Academy Open Source Web Development.
Solutions using Microsoft Content Management Server 2002 Connector for SharePoint Technologies Sue Corke Mark Harrison Microsoft UK.
IIS and.Net security -Vasudha Bhat. What is IIS? Why do we need IIS? Internet Information Services (IIS) is a Web server, its primary job is to accept.
April-June 2006 Windows Hosting Seminar Series Technical Labs.
Access Services Introduction & Setup Requirements Kipp Sorensen, Soren Innovations.
IIS 7 for Hosters Deven Kampenhout Web Platform Architect Developer & Platform Evangelism.
Module 11: Designing an Active Directory Federation Services Implementation in Windows Server 2008.
Hosting Websites and Web Applications with Microsoft ® SQL Server ® 2008.
Migrating ASP to ASP.NET Matt Gibbs ASP.NET Development Manager.
Configuring and Deploying Web Applications Lesson 7.
(ITI310) By Eng. BASSEM ALSAID SESSIONS 10: Internet Information Services (IIS)
Enabling the Cloud OS Today  New high-density Web Sites with elastic cloud scaling and complete dev-ops experiences  New rich IaaS experience for self-service.
2 Microsoft Confidential3 The Microsoft Web Platform is the software of choice when building web solutions or applications for your business, large.
Internet Information Server 6.0 & new management features.
Mohammed Abdul Muqeet Khan Microsoft MVP – IIS | HCL
Building web applications with the Windows Azure Platform Ido Flatow | Senior Architect | Sela | This session.
 Cloud Computing technology basics Platform Evolution Advantages  Microsoft Windows Azure technology basics Windows Azure – A Lap around the platform.
Building More Powerful ASP.NET Applications with IIS7 Michael Volodarsky COM303 Program Manager Microsoft Corporation.
Module 4: Troubleshooting Web Servers. Overview Use IIS 7.0 troubleshooting features to gather troubleshooting information Use the Runtime Control and.
ALL THINGS IIS TERRI DONAHUE
MIX 09 11/30/2017 5:54 AM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Managing State Chapter 13.
Maintaining Windows Server 2008 File Services
Securing the Network Perimeter with ISA 2004
Network Load Balancing
Jon Galloway | Tech Evangelist Christopher Harrison | Head Geek
Free Microsoft Accurate Study Material & Valid Questions
Downloading and Installing SQLExpress
IIS v7.0 Martin Parry Developer & Platform Group Microsoft Limited
Office 365 Development July 2014.
IIS and .NET Security Application Pools Pamella Smith June 18, 2009.
Microsoft 365 Business Technical Fundamentals Series
Presentation transcript:

1 Hosting PHP on IIS 7.0 Best Practices for shared hosting Microsoft® Hosting Deployment Accelerator

2 Agenda PHP Setup FastCGI architecture Hosting guidance Multiple PHP versions Per-site PHP configuration Providing URL rewriting Managing CPU usage Summary

3 PHP setup steps Copy binaries Use zip file with non-thread safe binaries Alternatively - download PHP installer Configure php.ini fastcgi.impersonate = 1 cgi.fix_pathinfo = 1 open_basedir = “C:\Websites\” Configure IIS Enable CGI Configure FastCGI handler mapping for *.php Change FastCGI settings Test that it works C:\php\php-cgi.exe –info

4 FastCGI process pool for PHP5 FastCGI Handler Architecture IIS Worker Process FastCGI protocol over named pipes or TCP Request queue

5 App Pool #1 (user1) Web site #1 Recommended configuration FastCGI Process Pool …… App Pool #2 (user2) Web site #2 FastCGI Process Pool App Pool #N (userN) Web site #N FastCGI Process pool

6 Recommended configuration Configure security isolation One app pool per web site Enable FastCGI impersonation Prevent failures caused by PHP recycling set PHP_FCGI_MAX_REQUESTS >= instanceMaxRequests For higher site density: use dynamicIdleThreshold reduce idleTimeout reduce maxInstances (may affect performance)

7 Enhance your PHP hosting offer Support both PHP 4.X and 5.X on the same server Allow customers to choose PHP version Enable hosting of PHP apps that require tweaks to php.ini Provide your customers with flexibility of changing PHP configuration Use URL rewrite module to implement sub-domains support Easily enable sub-domains Expose rich set of IIS tools for creating and testing of rewrite rules Provide URL rewriting functionality

8 Multiple PHP versions App 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.exe C:\PHP447\php.exe

9 Per-site PHP configuration App 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”

10 Per-site PHP configuration Configuring FastCGI process pool Combination of fullPath and arguments uniquely identify FastCGI process pool definition PHPRC environment variable contains path to the php.ini file

11 Per-site PHP configuration Configuring Handler Mapping <add name="PHP via FastCGI" path="*.php" verb="*" modules="FastCgiModule" scriptProcessor="C:\PHP\php-cgi.exe|-d my.website=website2" resourceType="Unspecified" requireAccess="Script" /> Reference FastCGI process pool by concatenating [fullPath]|[arguments]

12 Providing URL rewriting

13 Manage CPU utilization Windows Server Resource Manager (WSRM) Available in all SKU’s of WS2008 Ensures that process gets *at least* the configured CPU percentage Kicks in only if overall CPU load is more than 70% IIS team tested with 4000 web sites

14 Using WSRM

15 Best practices summary Follow IIS 7.0 security isolation guidelines Leverage FastCGI/IIS features to enhance hosting offer: Multiple PHP versions Per-site PHP configuration URL rewriting Use WSRM to manage w3wp.exe and php- cgi.exe CPU utilization More information at

16