Presentation is loading. Please wait.

Presentation is loading. Please wait.

Peter J. Meister Group Product Manager Microsoft Corporation Session Code: WSV318.

Similar presentations


Presentation on theme: "Peter J. Meister Group Product Manager Microsoft Corporation Session Code: WSV318."— Presentation transcript:

1

2 Peter J. Meister Group Product Manager Microsoft Corporation Session Code: WSV318

3 Why Use PHP on Windows? Migrate existing PHP applications to Windows with virtually no modifications Combine PHP with Microsoft® technologies to create rich Web sites Reuse existing PHP applications and infrastructure on Windows Provide customers greater availability of applications and capabilities without increasing costs

4 The Windows Web Platform Overview of the platform components

5 Windows Web Platform PHP Microsoft® SQL Server® 2008 Internet Information Services (IIS) 7.0 Windows Server® 2008

6 Windows Server 2008 The most advanced Windows Server operating system yet A great multipurpose operating system Provides world-class support Offers competitive virtualization Provides outstanding value More secure end to end An outstanding Web server Includes IIS 7.0 for developing and reliably hosting Web applications and services More advantageous licensing with the Web edition

7 Server Core A powerful Web server on top of a minimal footprint operating system A low-footprint server installation option that reduces: Servicing requirements Management requirements Attack surface Disk space usage IIS 7.0 and PHP can run on Server Core

8 Includes IIS 7.0 Security-enhanced, easy-to-manage Web platform Built-in support for PHP via FastCGI A new, request-processing architecture Windows Server 2008 as a PHP Web ServerFastCGI

9 IIS 7.0 Modular Architecture Full IIS Web server contains 44 modules New modular architecture can enhance security, performance, and reliability

10 IIS 7.0 Improvements from Previous Versions Security improvements End-to-end extensibility Improved error tracing and diagnostic support

11 IIS Manager Easy to: Use for configuration Manage remote administration over HTTPS Extend

12 AppCmd Single command-line tool for managing IIS 7.0 Can use to: Create and configure sites, applications, application pools, and virtual directories Start and stop sites Recycle application pools List running worker processes and examine currently executing requests Search, manipulate, export, and import IIS and Microsoft® ASP.NET configuration

13 Advantages of IIS 7.0 for PHP Modular architecture for reduced attack surface XML-based configuration system Remote management capability Advanced diagnostics Integration with Windows Media® Services Simple extensibility APIs

14 PHP-Specific IIS 7.0 Enhancements FastCGI included as built-in component Delegated management to site owners Metabase replaced by configuration files Module support provides capabilities similar to mod_rewrite

15 PHP-Specific Features in IIS 7.0

16 PHP Optimizations for Windows Improved registry handling for PHP Rewritten and updated file system functions Updated memory manager Optimized timeout thread started only when needed

17 FastCGI Run PHP applications reliably and with high performance As reliable as CGI because a single-threaded execution environment for PHP scripts is enforced. As fast as ISAPI because processes are reused.

18 Install PHP Use Microsoft® Windows® Installer Use Zip installation

19 PHP Settings Extensions needed for most of the common PHP applications include: Database Image handling Internationalization and localization Web Services Php.ini file settings include: fastcgi.logging = 0 cgi.force_redirect = 0

20 Microsoft Web Platform Installer For installing and configuring the entire Microsoft Web platform IIS 7.0 Microsoft® Visual Web Developer™ 2008 Express Edition Microsoft® SQL Server® 2008 Express The Microsoft®.NET Framework

21 Microsoft Web Application Installer Helps get you up and running with the most widely used Web applications, including: Graffiti DotNetNuke WordPress Drupal OSCommerce

22 Server Migration Microsoft has produced a rich set of PHP migration documentation and a toolkit to assist in deployment Basic steps in migration: 1. Install environment 2. Migrate content 3. Migrate application 4. Fine tune

23 Optimization Best Practices Getting the most from the Windows Web platform

24 Disable Unneeded Services and Processes Free up resources Remove processes such as: Microsoft Find Fast and other search indexing services Three-dimensional screen savers Unused network protocols Unneeded mail servers Unused antivirus scanners and hardware drivers

25 Optimize Server Performance Maximize data throughput for network applications by running the IIS 7.0 pageable code in working memory Run the IIS process as a background service Minimize IIS logging

26 Enable Bandwidth Throttling Limit the network bandwidth and number of connections available to individual Web sites Use the Bit Rate Throttling Module Enable CPU monitoring

27 Use HTTP Keep-Alives and HTTP Compression HTTP Keep-Alives improve Web server performance by keeping a client/server connection open across multiple requests HTTP compression reduces bandwidth needed to deliver application responses

28 Enable IIS 7.0 Output Cache A good way to improve performance of applications that execute repeated work Enables caching of dynamic content from PHP

29 Provide Security Isolation for Web Sites Use one application pool per Web site Use a dedicated user account as an identity for the application pool Configure anonymous user identity to use the application pool identity Ensure that FastCGI impersonation is enabled in the php.ini file

30 Application Pool Isolation

31 (TBD still determining) Name Title Company

32 Extend IIS 7.0 Administer Web server and Web sites remotely IIS Manager uses HTTPS Ideal for shared Web-hosting environments Applications can be deployed and configured from the IIS Manager Extend the configuration schema to help manage applications

33 Manage IIS with the PowerShell Provider Enables creation and configuration of application pools, Web sites, Web applications, and virtual directories Enables Querying of run- time data Enables search and discover configuration settings

34 Use a Non-Thread-Safe Build of PHP Non-thread-safe PHP is faster No thread-related locks No per-thread data structure handling Non-thread-safe PHP components and applications run reliably on FastCGI Available in PHP 5.2.1 and greater

35 Enable Per-Site PHP Configuration To provide different PHP settings for each application Create per-site PHP process pools Associate a dedicated FastCGI process pool with each Web site Specify the php.ini locations

36 Enable PHP Versioning Run multiple PHP versions on the same Web server Place corresponding PHP binaries in separate folders on file system Create FastCGI application process pools for each version Define handler mapping on each site to reference corresponding application pool

37 Provide URL Rewriting Functionality Equivalent to Apache ' s mod_rewrite Enables user-friendly and search engine- friendly URL with dynamic Web applications Rewrite URLs based on HTTP headers and server variables Provides Web site content management Allows control of access to Web site content

38 Additional Features Configuration delegation Failed request troubleshooting Integrated pipeline Allows services provided by both native and managed modules to apply to all requests Lets ASP.NET components provide previously unavailable functionality Provides a single place to implement, configure, monitor, and support server features

39 Summary Windows is a premier platform for PHP Migrate existing PHP applications to Windows with virtually no modifications Combine PHP with Microsoft technologies to create rich Web sites Best practices include: Improving performance by maximizing throughput and reducing bandwidth for applications Enhancing security by reducing attack surface and isolating Web sites Windows Web platform brings a familiar UI and ease of use to the server platform Windows Server 2008 A solid, multipurpose operating system and an outstanding Web server A solid, multipurpose operating system and an outstanding Web server Server Core is a low- footprint installation option Server Core is a low- footprint installation option IIS 7.0 A security-enhanced, easy- to-manage Web platform A security-enhanced, easy- to-manage Web platform Includes built-in support for PHP via FastCGI Includes built-in support for PHP via FastCGI Microsoft SQL Server 2008 or MySQL Use the SQL Server Driver for PHP Use the SQL Server Driver for PHP

40 Links for More Information PHP on IIS: http://www.iis.net/phphttp://www.iis.net/php IIS 7.0 home page: http://learn.iis.net/http://learn.iis.net/ Windows Server 2008 home page: http://www.microsoft.com/windowsserver2008/en/us/default.aspx http://www.microsoft.com/windowsserver2008/en/us/default.aspx SQL Server 2008 home page: http://www.microsoft.com/sqlserver/2008/en/us/default.aspx http://www.microsoft.com/sqlserver/2008/en/us/default.aspx Microsoft SQL Server Driver for PHP team blog: http://blogs.msdn.com/sqlphp/default.aspx http://blogs.msdn.com/sqlphp/default.aspx SQL Server Driver for PHP: http://msdn.microsoft.com/en-us/library/cc296172(SQL.90).aspx http://www.microsoft.com/sqlserver/2005/en/us/php-driver.aspx http://msdn.microsoft.com/en-us/library/cc296172(SQL.90).aspx http://www.microsoft.com/sqlserver/2005/en/us/php-driver.aspx PHP community forum: http://forums.iis.net/1102.aspx http://forums.iis.net/1102.aspx

41 www.microsoft.com/teched Sessions On-Demand & Community http://microsoft.com/technet Resources for IT Professionals http://microsoft.com/msdn Resources for Developers www.microsoft.com/learning Microsoft Certification and Training Resources www.microsoft.com/learning Microsoft Certification & Training Resources Resources

42 Related Content Breakout Sessions (session codes and titles) Developer Drilldown on the Linux Web Platform to Windows Web Platform Migration Toolkit – WSV306 Developer Drilldown on the Linux Web Platform to Windows Web Platform Migration Toolkit – WSV306 Next Generation Web: What's in It for Your Organization - ISB202 Next Generation Web: What's in It for Your Organization - ISB202 Interactive Theater Sessions (session codes and titles) Hands-on Labs (session codes and titles)

43 Windows Server Resources Make sure you pick up your copy of Windows Server 2008 R2 RC from the Materials Distribution Counter Learn More about Windows Server 2008 R2: www.microsoft.com/WindowsServer2008R2 Technical Learning Center (Orange Section): Highlighting Windows Server 2008 and R2 technologies Over 15 booths and experts from Microsoft and our partners Over 15 booths and experts from Microsoft and our partners

44 Windows Server Resources Make sure you pick up your copy of Windows Server 2008 R2 RC from the Materials Distribution Counter Learn More about Windows Server 2008 R2: www.microsoft.com/WindowsServer2008R2 Technical Learning Center (Orange Section): Highlighting Windows Server 2008 and R2 technologies Over 15 booths and experts from Microsoft and our partners Over 15 booths and experts from Microsoft and our partners

45 Track Resources Resource 1 Resource 2 Resource 3 Resource 4

46

47 Complete an evaluation on CommNet and enter to win!

48 © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

49

50 Peter J. Meister Group Product Manager Microsoft Corporation Session Code: WSV318

51 Why Use PHP on Windows? Migrate existing PHP applications to Windows with virtually no modifications Combine PHP with Microsoft® technologies to create rich Web sites Reuse existing PHP applications and infrastructure on Windows Provide customers greater availability of applications and capabilities without increasing costs

52 The Windows Web Platform Overview of the platform components

53 Windows Web Platform PHP Microsoft® SQL Server® 2008 Internet Information Services (IIS) 7.0 Windows Server® 2008

54 Windows Server 2008 The most advanced Windows Server operating system yet A great multipurpose operating system Provides world-class support Offers competitive virtualization Provides outstanding value More secure end to end An outstanding Web server Includes IIS 7.0 for developing and reliably hosting Web applications and services More advantageous licensing with the Web edition

55 Server Core A powerful Web server on top of a minimal footprint operating system A low-footprint server installation option that reduces: Servicing requirements Management requirements Attack surface Disk space usage IIS 7.0 and PHP can run on Server Core

56 Windows Server 2008 as a PHP Web Server Includes IIS 7.0 Security-enhanced, easy-to-manage Web platform Built-in support for PHP via FastCGI A new, request-processing architectureFastCGI

57 IIS 7.0 Modular Architecture Full IIS Web server contains 44 modules New modular architecture can enhance security, performance, and reliability

58 IIS 7.0 Improvements from Previous Versions Security improvements End-to-end extensibility Improved error tracing and diagnostic support

59 IIS Manager Easy to: Use for configuration Manage remote administration over HTTPS Extend

60 AppCmd Single command-line tool for managing IIS 7.0 Can use to: Create and configure sites, applications, application pools, and virtual directories Start and stop sites Recycle application pools List running worker processes and examine currently executing requests Search, manipulate, export, and import IIS and Microsoft® ASP.NET configuration

61 Advantages of IIS 7.0 for PHP Modular architecture for reduced attack surface XML-based configuration system Remote management capability Advanced diagnostics Integration with Windows Media® Services Simple extensibility APIs

62 PHP-Specific IIS 7.0 Enhancements FastCGI included as built-in component Delegated management to site owners Metabase replaced by configuration files Module support provides capabilities similar to mod_rewrite

63 PHP-Specific Features in IIS 7.0

64 PHP Optimizations for Windows Improved registry handling for PHP Rewritten and updated file system functions Updated memory manager Optimized timeout thread started only when needed

65 FastCGI Run PHP applications reliably and with high performance As reliable as CGI because a single-threaded execution environment for PHP scripts is enforced. As fast as ISAPI because processes are reused.

66 Install PHP Use Microsoft® Windows® Installer Use Zip installation

67 PHP Settings Extensions needed for most of the common PHP applications include: Database Image handling Internationalization and localization Web Services Php.ini file settings include: fastcgi.logging = 0 cgi.force_redirect = 0

68 Microsoft Web Platform Installer For installing and configuring the entire Microsoft Web platform IIS 7.0 Microsoft® Visual Web Developer™ 2008 Express Edition Microsoft® SQL Server® 2008 Express The Microsoft®.NET Framework

69 Microsoft Web Application Installer Helps get you up and running with the most widely used Web applications, including: Graffiti DotNetNuke WordPress Drupal OSCommerce

70 Server Migration Microsoft has produced a rich set of PHP migration documentation and a toolkit to assist in deployment Basic steps in migration: Install environment Migrate content Migrate application Fine tune

71 Optimization Best Practices Getting the most from the Windows Web platform

72 Disable Unneeded Services and Processes Free up resources Remove processes such as: Microsoft Find Fast and other search indexing services Three-dimensional screen savers Unused network protocols Unneeded mail servers Unused antivirus scanners and hardware drivers

73 Optimize Server Performance Maximize data throughput for network applications by running the IIS 7.0 pageable code in working memory Run the IIS process as a background service Minimize IIS logging

74 Enable Bandwidth Throttling Limit the network bandwidth and number of connections available to individual Web sites Use the Bit Rate Throttling Module Enable CPU monitoring

75 Use HTTP Keep-Alives and HTTP Compression HTTP Keep-Alives improve Web server performance by keeping a client/server connection open across multiple requests HTTP compression reduces bandwidth needed to deliver application responses

76 Enable IIS 7.0 Output Cache A good way to improve performance of applications that execute repeated work Enables caching of dynamic content from PHP

77 Provide Security Isolation for Web Sites Use one application pool per Web site Use a dedicated user account as an identity for the application pool Configure anonymous user identity to use the application pool identity Ensure that FastCGI impersonation is enabled in the php.ini file

78 Application Pool Isolation

79 Extend IIS 7.0 Administer Web server and Web sites remotely IIS Manager uses HTTPS Ideal for shared Web-hosting environments Applications can be deployed and configured from the IIS Manager Extend the configuration schema to help manage applications

80 Manage IIS with the PowerShell Provider Enables creation and configuration of application pools, Web sites, Web applications, and virtual directories Enables Querying of run-time data Enables search and discover configuration settings

81 Use a Non-Thread-Safe Build of PHP Non-thread-safe PHP is faster No thread-related locks No per-thread data structure handling Non-thread-safe PHP components and applications run reliably on FastCGI Available in PHP 5.2.1 and greater

82 Enable Per-Site PHP Configuration To provide different PHP settings for each application Create per-site PHP process pools Associate a dedicated FastCGI process pool with each Web site Specify the php.ini locations

83 Enable PHP Versioning Run multiple PHP versions on the same Web server Place corresponding PHP binaries in separate folders on file system Create FastCGI application process pools for each version Define handler mapping on each site to reference corresponding application pool

84 Provide URL Rewriting Functionality Equivalent to Apache's mod_rewrite Enables user-friendly and search engine-friendly URL with dynamic Web applications Rewrite URLs based on HTTP headers and server variables Provides Web site content management Allows control of access to Web site content

85 Additional Features Configuration delegation Failed request troubleshooting Integrated pipeline Allows services provided by both native and managed modules to apply to all requests Lets ASP.NET components provide previously unavailable functionality Provides a single place to implement, configure, monitor, and support server features

86 Summary Best practices include: Improving performance by maximizing throughput and reducing bandwidth for applications Enhancing security by reducing attack surface and isolating Web sites Windows is a premier platform for PHP Migrate existing PHP applications to Windows with virtually no modifications Combine PHP with Microsoft technologies to create rich Web sites Windows Web platform brings a familiar UI and ease of use to the server platform Windows Server 2008 A solid, multipurpose operating system and an outstanding Web server Server Core is a low- footprint installation option IIS 7.0 A security-enhanced, easy-to-manage Web platform Includes built-in support for PHP via FastCGI Microsoft SQL Server 2008 or MySQL Use the SQL Server Driver for PHP

87

88 Resources PHP on IIS: http://www.iis.net/phphttp://www.iis.net/php IIS 7.0 home page: http://learn.iis.net/http://learn.iis.net/ Windows Server 2008 home page: http://www.microsoft.com/windowsserver2008/en/us/default.aspx http://www.microsoft.com/windowsserver2008/en/us/default.aspx SQL Server 2008 home page: http://www.microsoft.com/sqlserver/2008/en/us/default.aspx http://www.microsoft.com/sqlserver/2008/en/us/default.aspx Microsoft SQL Server Driver for PHP team blog: http://blogs.msdn.com/sqlphp/default.aspx http://blogs.msdn.com/sqlphp/default.aspx SQL Server Driver for PHP: http://msdn.microsoft.com/en-us/library/cc296172(SQL.90).aspx http://www.microsoft.com/sqlserver/2005/en/us/php-driver.aspx http://msdn.microsoft.com/en-us/library/cc296172(SQL.90).aspx http://www.microsoft.com/sqlserver/2005/en/us/php-driver.aspx PHP community forum: http://forums.iis.net/1102.aspx http://forums.iis.net/1102.aspx

89 www.microsoft.com/teched Sessions On-Demand & Community http://microsoft.com/technet Resources for IT Professionals http://microsoft.com/msdn Resources for Developers www.microsoft.com/learning Microsoft Certification and Training Resources www.microsoft.com/learning Microsoft Certification & Training Resources Resources

90 Related Content Breakout Sessions Developer Drilldown on the Linux Web Platform to Windows Web Platform Migration Toolkit – WSV306 Developer Drilldown on the Linux Web Platform to Windows Web Platform Migration Toolkit – WSV306 Next Generation Web: What's in It for Your Organization - ISB202 Next Generation Web: What's in It for Your Organization - ISB202

91 Windows Server Resources Make sure you pick up your copy of Windows Server 2008 R2 RC from the Materials Distribution Counter Learn More about Windows Server 2008 R2: www.microsoft.com/WindowsServer2008R2 Technical Learning Center (Orange Section): Highlighting Windows Server 2008 and R2 technologies Over 15 booths and experts from Microsoft and our partners Over 15 booths and experts from Microsoft and our partners

92 Complete an evaluation on CommNet and enter to win!

93 © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.


Download ppt "Peter J. Meister Group Product Manager Microsoft Corporation Session Code: WSV318."

Similar presentations


Ads by Google