開始使用Windows IIS(Internet Information Services)

網站是當今最常見的互聯網內容類型。但為了確保您的網站能夠被最廣泛的受眾看到,您需要將您的網站托管在 Web 伺服器上。如何做呢?考慮轉向 Windows Internet Information Services(Windows IIS),這是一個用於 Web 托管的熱門選擇。

在本教程中,您將學習如何使用 Windows IIS 通過 GUI 或命令行環境進行 Web 應用程序管理的基礎知識!

繼續閱讀,提升您在 Windows IIS 中管理 Web 應用程序的能力吧!

先決條件

本教程將是一個實踐演示。如果您想跟隨進行,請確保您已經:

  • A Windows machine – This tutorial uses Windows Server 2012 since it’s stable and available at a low cost (or free). But you can also use Windows 10 for this tutorial.
  • 在您的 Windows 機器上安裝了 Visual C++ 發行版。IIS 需要 Visual C++ 正確地呈現 PHP 頁面。

在 Windows Server 上安裝 Windows IIS

IIS Web 伺服器提供了豐富的功能和可擴展性,可用於在 Windows 操作系統上托管網站和服務。但在使用 IIS 之前,您必須先在 Windows 機器上安裝此工具。

要在 Windows Server 上安裝 Windows IIS:

1. 按下 Ctrl+R 以打開執行框,在其中輸入 ServerManager,然後按 Enter。

此操作將打開 Server Manager 儀表板。IT 管理員使用此 GUI 儀表板來執行與伺服器管理相關的各種日常任務。

Launching the Server Manager

2. 在 Server Manager 上,點擊「新增角色和功能」鏈接以開啟一個嚮導,在其中您可以將角色服務和功能添加到您的本地服務器。

Initiating adding roles and features

3. 接下來,閱讀「開始之前」頁面上的信息,然後點擊「下一步」。

您也可以勾選「默認情況下跳過此頁面」選項,這樣下次添加角色和功能時將不會再看到此頁面。

Acknowledging the welcome page

4. 現在,在「安裝類型」頁面上,選擇第一個選項(基於角色或基於功能的安裝),然後點擊「下一步」。

在大多數情況下,建議選擇此選項,它會按標準方式引導您添加特定角色、角色服務和功能。

如果選擇第二個選項(遠程桌面服務安裝),您需要手動選擇要安裝的所需角色、服務和功能。

Selecting installation type

5. 從服務器池中選擇您的服務器,然後點擊「下一步」。

您也可以為分佈式安裝選擇多個服務器,但這不在本教程的範圍之內。

Selecting a destination server

6. 接下來,在「服務器角色」頁面上選中「網頁伺服器 (IIS)」核取方塊,以建立可擴展的 Web 應用程序基礎架構,然後點擊「下一步」。

Selecting the Web Server (IIS) role to install on the destination server

7. 保留默認選擇,然後點擊「下一步」。此操作告訴 Windows 安裝 IIS 伺服器角色的所有必需子功能,包括 ASP.NET、靜態內容和默認文件。

Confirming default selected features

8. 查看有關「網頁伺服器角色 (IIS)」的更多信息,然後點擊「下一步」。

Reviewing more information about the Web Server Role (IIS)

9. 在「角色服務」頁面上,保留默認選擇,但展開「應用程式開發」節點,選中「CGI」核取方塊,然後點擊「下一步」。

這個選項安裝了對通用閘道介面(CGI)的支援,這是將外部應用程式與 Web 伺服器進行介面的標準方法。

Selecting role services

10. 在配置安裝設定後,按一下「安裝」按鈕以安裝所選的角色和功能。

Installing the selected roles and features

11. 安裝完成後,如下所示,按一下「關閉」以完成並退出精靈。

這樣就完成了!您已成功在您的伺服器上安裝了 Windows IIS。

Finishing the roles and features installation

12. 最後,打開您喜歡的 Web 瀏覽器,並導航到 http://localhost/。

如果一切順利,您將看到默認的 IIS 頁面,如下所示,這證實了您的 Web 伺服器正在運行。

Viewing the default IIS web page

安裝 PHP 並配置 IIS 處理 PHP 請求

您已成功在伺服器上安裝了 Windows IIS,但您仍然需要一種在伺服器上部署頁面的方法。在本教程中,您將安裝 PHP 並配置 IIS 以處理 PHP 請求。

要在伺服器上安裝 PHP:

1. 轉到 PHP 發布 下載頁面。在編寫本文時,最新的穩定版本是 PHP 8.1。

下載非線程安全(NTS)ZIP 套件,因為 IIS 使用單線程處理每個請求。線程安全(TS)套件適用於 IIS FastCGI,它使 PHP 可以在多線程環境中運行。

Downloading the PHP (NST) package

2. 將下載的 PHP 存檔解壓縮到伺服器上的 PHP 目錄(C:\PHP\)。

解壓縮存檔後,您需要安裝和配置 IIS,以便管理和部署 Web 應用程式。

Unzipping the downloaded PHP archive to the PHP directory

3. 開啟您的 Server Manager,選擇儀表板 → 工具 → 網際網路信息服務 (IIS) 管理員。這將打開 IIS 管理員控制台,在此您可以配置 IIS 設置、建立和管理網站以及部署 Web 應用程式。

Opening the IIS Manager console.

4. 現在,選擇您的本機主機 (連接面板),並雙擊 Handler Mappings 以訪問可用的處理程序映射清單。

Accessing handler mappings

5. 在 Handler Mappings 頁面上,點擊新增模組映射 (右面板),這將打開新增模組映射對話框。

Initiating adding a module mapping

6. 接下來,使用以下方式配置新映射:

  • 請求路徑 – 輸入 *.php 以告訴 IIS 將所有以 .php 結尾的請求轉發到 PHP 處理程序模組。萬用字元 (*) 讓您節省時間,因為您不需要為每個 PHP 檔案添加處理程序映射。
  • 模組 – 選擇 FastCgiModule 以指定 FastCGI 模組應處理請求。
  • 可執行文件 – 輸入 php-cgi.exe 檔案的完整路徑。在此示例中,路徑為 C:\PHP\php-cgi.exe。
  • 名稱 – 提供一個唯一的模組映射名稱,但本教程使用 PHP_FastCGI
  • 點擊請求限制以配置請求限制。
Adding module mapping

7. 勾選核取方塊,並選擇「文件」或「資料夾」選項。此選項確保處理程序映射僅適用於伺服器上的檔案。

Selecting the invoke handler

8. 導航到動詞標籤,並選擇所有動詞選項。此選項告訴IIS將所有類型的HTTP請求(例如GET、POST和HEAD)轉發給PHP處理器模塊。

Selecting all verbs to be handled

9. 現在在存取標籤中,選擇腳本選項,然後點擊確定。此選項告訴IIS PHP頁面是要執行的腳本,而不是直接提供的靜態文件。

Selecting the required access by the handler

10. 返回到新增模組映射,點擊確定以添加新的模組映射。

Adding the new module mapping

11. 最後,以系統管理員身份打開PowerShell,執行IISRESET命令以重新啟動Windows IIS。這個動作是為了使新的處理程序映射生效。

IISRESET 
Restarting the Windows IIS server

部署您的第一個網站

現在,您已經安裝了PHP並配置了IIS,最令人興奮的部分來了-部署您的網站。但首先,您需要一個要部署的網站。在這個示例中,您將在IIS服務器上創建並部署一個基本的PHP頁面。

1. 在您喜歡的文本編輯器中,在網站的根目錄中創建一個新的index.php文件。在這個示例中,網站的根目錄是C:\inetpub\wwwroot\。

擴展名 .php 告訴 IIS,index.php 檔案是一個要由 PHP 處理器模組處理的 PHP 頁面。

2. 接下來,將以下程式碼添加到您的新 index.php 檔案中,保存更改並關閉檔案。

以下程式碼告訴 IIS 在瀏覽器中顯示一則簡單的 “Hello World” 訊息。

<?php
header('Content-Type: text/html; charset=UTF-8');
echo '<html><head><title>Hello World</title></head><body>Hello world!</body></html>';

3. 最後,在網頁瀏覽器中開啟一個新標籤,並導航到 http://localhost/index.php 從本地 IIS 伺服器請求您的 index.php 頁面。這樣做可以測試您的網站部署是否正常運作。

如果一切順利,您將在 index.php 頁面上看到 “Hello world!” 訊息,如下所示。

Testing the PHP (index.php) page

通過命令行環境管理 Windows IIS

喜歡使用 CLI 嗎?沒問題!除了 GUI 外,IIS 也可以使用命令提示字元進行管理。使用此工具,您可以管理 IIS 的幾乎所有方面,包括站點、應用程式、虛擬目錄、應用程式集區等。

在本教程中,您將簡要介紹一些管理 IIS 的基本命令。但是要查看所有可用的 AppCmd.exe 命令的完整列表,請查看 官方微軟文件

1. 以管理員身份開啟命令提示字元,並執行以下命令以列出在您的 IIS 伺服器上可用的所有網站。

%systemroot%\system32\inetsrv\APPCMD list sites

您將看到一個列出目前在您伺服器上執行的所有網站以及有關每個網站的一些基本資訊,例如 ID、狀態等。

太一般了?沒問題!您也可以在接下來的步驟中使用 AppCmd.exe 查詢特定網站,以便深入了解您感興趣的資訊。

Listing all the websites on your IIS server.

2. 執行以下命令以獲取有關預設網站的所有資訊。

%systemroot%\system32\inetsrv\APPCMD list site "Default Web Site"
Listing all information about a specific website

3. 接下來,執行以下命令來停止特定網站並列出所有已停止的網站 (/state:Stopped)。

您可以將已停止的狀態替換為其他網站狀態,例如啟動、執行或未知。


%systemroot%\system32\inetsrv\APPCMD stop sites "Default Web Site"
%systemroot%\system32\inetsrv\APPCMD list sites /state:Stopped
Finding all websites that are currently stopped

4. 現在,執行以下命令,通過空格分隔多個條件,進一步篩選結果。

下面的命令列出所有處於停止狀態 (/state:Stopped) 並啟用伺服器級自動啟動 (/serverAutoStart:true) 的網站。

%systemroot%\system32\inetsrv\APPCMD list sites /serverAutoStart:true /state:Stopped

5. 最後,執行以下命令來啟動您在第三步中停止的網站(“預設網站”)。

Starting a stopped website

結論

您已經看到了 Windows IIS 如何讓您管理您的網站。在本教程中,您已經學會在 Windows Server 上安裝和配置 IIS 以部署和測試基本的 PHP 網站。Windows IIS 是一個多功能工具,讓您可以通過 GUI 和命令行環境管理您的網站。

使用這個新獲取的知識,您已經準備好在 IIS 上開始構建您的網站和應用程序了!為什麼不學習如何在 IIS 上創建 WordPress 網站呢?

Source:
https://adamtheautomator.com/windows-iis/