在 IIS 上建置靜態網站

由基思·紐曼和 羅伯特·麥克默里

本檔會引導您完成安裝 IIS 網頁伺服器,並將其設定為提供靜態內容的程式。 靜態內容是一個網頁(HTML),會與儲存完全一樣傳遞給使用者。 相較之下,動態內容是由 Web 應用程式產生,例如 ASP.NET、傳統 ASP 或 PHP 應用程式。 靜態內容會顯示所有使用者的相同資訊;動態內容可以顯示使用者特定資訊,例如用戶名稱。

靜態內容網頁伺服器是支援 HTML 網站的 IIS 最基本的組態。 您可以使用靜態內容網頁伺服器來裝載內部或外部(公用)網站。 當您安裝 IIS 8 時,預設安裝會提供支援靜態內容網頁伺服器所需的所有 IIS 模組。 默認安裝包括提供靜態 HTML 檔案、檔案和影像的功能。 IIS 8 支援靜態內容伺服器的預設檔、目錄瀏覽、記錄和匿名驗證。

必要條件

若要充分利用本教學課程,您必須能夠存取執行下列其中一個操作系統的計算機:

  • Windows Server® 2012
  • Windows® 8

步驟 1:安裝 IIS 網頁伺服器

您可以使用 Windows 使用者介面 (UI) 或從命令行執行此程式。

使用UI在 Windows Server 2012 上安裝 IIS

  1. 在 [開始] 頁面上按一下 [伺服器管理員] 磚,然後按一下 [確定]

  2. 在 [伺服器管理員] 中選取 [儀表板] ,然後按一下 [新增角色及功能]

  3. 在 [新增角色及功能精靈] 的 [在您開始前] 頁面上,按 [下一步]

  4. 在 [選取安裝類型] 頁面上,選取 [角色型或功能型安裝] ,然後按 [下一步]

  5. 在 [ 選取目的地伺服器 ] 頁面上,選取 [從伺服器集區選取伺服器],選取計算機的名稱,然後按 [下一步]。

  6. 在 [選取伺服器角色] 頁面上,選取 [網頁伺服器 (IIS)] ,然後按 [下一步]

  7. 在 [ 選取功能] 頁面上,注意預先選取的功能,然後按 [下一步]。

  8. 在 [網頁伺服器 (IIS) 角色] 頁面上,按一下 [下一步]

  9. 在 [ 選取角色服務 ] 頁面上,記下預先選取的角色服務,然後按 [ 下一步]。

    注意

    安裝靜態內容網頁伺服器的 IIS 8 預設角色服務。

  10. 在 [確認安裝選項] 頁面上確認您的選項,然後按一下 [安裝]

  11. 在 [安裝進度] 頁面上,確認網頁伺服器 (IIS) 角色和必要角色服務的安裝順利完成,然後按一下 [關閉]

  12. 若要確認 IIS 已成功安裝,請在網頁瀏覽器中輸入下列內容:

    http://localhost

    您會看到預設的 IIS [歡迎使用] 頁面。

使用UI在 Windows 8 上安裝 IIS

  1. 在 [開始] 頁面上輸入 [控制台] ,然後在搜尋結果中按一下 [控制台] 圖示。

  2. 在 [控制台] 中按一下 [程式集] ,然後按一下 [開啟或關閉 Windows 功能]

  3. 在 [Windows 功能] 對話框中,按兩下 [網際網路資訊服務],然後按兩下 [確定]。

    此動作會安裝 IIS 8 預設功能。 只安裝靜態內容網頁伺服器的預設功能。

  4. 若要確認 IIS 已成功安裝,請在網頁瀏覽器中輸入下列內容:

    http://localhost

    您會看到預設的 IIS [歡迎使用] 頁面。

使用命令列安裝 IIS

在提升權限的指令提示字元或文稿中輸入下列命令:

Start /w pkgmgr /iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-StaticContent;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-LoggingLibraries;IIS-RequestMonitor;IIS-Security;IIS-RequestFiltering;IIS-HttpCompressionStatic;IIS-WebServerManagementTools;IIS-ManagementConsole;WAS-WindowsActivationService;WAS-ProcessModel;WAS-NetFxEnvironment;WAS-ConfigurationAPI

步驟 2:新增網站

此步驟會告訴您如何使用 IIS 管理員 UI,或在命令行視窗中執行Appcmd.exe命令,將網站新增至 IIS。

使用 UI 新增網站

  1. 開啟 [IIS 管理員]。

    • 針對 Windows Server 2012,在 [開始] 頁面上,按兩下 [伺服器管理員] 圖格,然後按兩下 [確定]。 在 伺服器管理員 中,單擊 [工具] 功能表,然後按兩下 [網際網路資訊服務 [IIS] 管理員
    • 針對 Windows 8,在 [開始] 頁面上輸入 控制台,然後按下搜尋結果中的 控制台 圖示。 在 [控制台] 畫面上,依序按一下 [系統及安全性] 、[系統管理工具] ,然後按一下 [Internet Information Services (IIS) 管理員]
  2. 在 [連線] 窗格中,以滑鼠右鍵按一下樹狀目錄中的 [網站] 節點,然後按一下 [新增網站]

  3. 在 [ 新增網站] 對話框中,於 [網站 名稱] 方塊中 輸入網站的易記名稱

  4. 如果您想要選取 [應用程式集區] 方塊中所列以外的應用程式集區,請按一下 [選取] 。 在 [選取應用程式集區] 對話方塊中,從 [應用程式集區] 清單中選取應用程式集區,然後按一下 [確定]

  5. 在 [ 實體路徑 ] 方塊中,輸入網站資料夾的實體路徑,或按下瀏覽按鈕 (...) 以瀏覽檔案系統以尋找資料夾。

  6. 如果您在上一個步驟中輸入的實體路徑是遠端共用,請按兩下 [連線],以指定有權存取路徑的認證。 如果您不使用特定認證,請在 [連線身分] 對話方塊中選取 [應用程式使用者 (通過驗證)]

  7. [類型 ] 列表中選取網站的通訊協定。

  8. . 如果您必須為網站指定靜態 IP 位址(根據預設,這會設定 為 [所有未指派],請在 [IP 位址] 方塊中 輸入 IP 位址

  9. 在[ ] 文字框中輸入埠號碼。

  10. 或者,在 [ 主機標頭 ] 方塊中輸入網站的主機標頭名稱。

  11. 如果您不需要對網站進行任何變更,而且您希望網站立即可供使用,請 選取 [ 立即啟動網站] 複選框。

  12. 按一下 [確定]

使用命令列新增網站

在提升權限的命令提示字元或文稿中使用下列語法:

appcmd add site /name:string uint/physicalPath:string string/bindings:/id:

注意

若要讓此語法能夠運作,您必須位於下列目錄中,或在您的路徑中具有 目錄: %windir%\system32\inetsrv

變數 name 是名稱,而變數 id 是您要指派給月臺的正整數。 name變數和 id 是唯一使用 appcmd 新增網站所需的變數。 不過,如果您新增網站而不指定 和 physicalPath 屬性的值bindings,網站將無法啟動。

變數 physicalPath 是文件系統中網站內容的絕對路徑。

變數 bindings 包含用來存取月台的資訊。 格式必須是 protocol/IP_Address:port:hostheader。 例如,針對網站,系結 http/*:85: 會將月臺設定為接聽埠 85 上所有IP位址和功能變數名稱的 HTTP 要求(也稱為主機標頭或主機名)。 另一方面,的 http/*:85:marketing.contoso.com 系結會設定網站,以接聽埠 85 上所有IP位址的 HTTP 要求,以及功能變數名稱 marketing.contoso.com

若要新增名為 contoso 的網站,其標識碼為 2,且在c:\contoso埠 85 上接聽所有 IP 位址的 HTTP 要求,以及 marketing.contoso.com功能變數名稱,請在命令提示字元中輸入下列命令:

appcmd add site /name:contoso /id:2 /physicalPath:c:\contoso /bindings:http/*:85:marketing.contoso.com

步驟 3:設定匿名驗證

匿名驗證可讓使用者存取您網站的公用區域,而不會提示使用者輸入使用者名稱或密碼。 您可以使用預設匿名用戶帳戶 (IUSR) 來設定匿名驗證,也可以為匿名使用者設定本機用戶帳戶。

使用UI設定匿名驗證

  1. [IIS 管理員的功能檢視 ] 中,按兩下 [ 驗證]。

  2. 在 [ 驗證] 頁面上,選取 [ 匿名驗證]。

  3. 在 [ 動作] 窗格中,按兩下 [編輯 ] 以設定匿名使用者將連線至網站的安全性主體(使用者認證)。

  4. 在 [ 編輯匿名驗證認證 ] 對話框中,選取下列其中一個選項:

    • 如果您想要設定 IIS 用來存取網站或應用程式的特定使用者帳戶,請選取 [ 特定使用者]。 然後按下 [設定] 以開啟 [設定認證] 對話框,然後輸入身分識別的使用者名稱和密碼。 然後按一下 [確定] 。

    • 如果您想要使用應用程式集區屬性頁面上目前指定的帳戶來執行 IIS 進程,請選取 [應用程式集區身分識別]。 根據預設,此身分識別是IUSR帳戶。

      重要

      如果您使用 IUSR 帳戶,您會將與該帳戶相關聯的所有內部網路存取權授與匿名使用者。

  5. 按兩下 [確定 ] 關閉 [ 編輯匿名驗證認證 ] 對話框。

使用命令行設定匿名驗證

使用下列語法來變更匿名存取的默認帳戶:

appcmd set config /section:anonymousAuthentication /userName:字串字串字串/password:

變數 username 是 IIS 用於匿名驗證的帳戶,而變數 password 是預設在組態檔中加密的密碼。 例如,若要使用名為 Moe帳戶和 pssword1 的密碼進行匿名存取,請在命令提示字元中輸入下列命令:

appcmd set config /section:anonymousAuthentication /userName:Moe /password:pssword1

步驟 4:設定預設檔

當用戶端要求您的網站不包含檔名稱時,IIS 會尋找名稱定義為預設檔案的檔案。 一般而言,預設的檔名稱是Default.htm。 您可以依優先順序定義預設檔案名稱的清單。

使用UI設定預設檔

  1. [IIS 管理員的功能檢視 ] 中,按兩下 [ 預設檔]。
  2. 在 [ 動作] 窗格中,按兩下 [ 新增]。
  3. 在 [ 名稱] 方塊中,輸入您要新增至默認文件的檔名,然後按兩下 [ 確定]。 此檔案名會新增至預設檔案清單的頂端。
  4. 或者,在清單中選取預設檔,然後在 [動作] 窗格中,按兩下 [上移] 或 [移] 來變更檔案的優先順序。
  5. 或者,在清單中選取預設檔,然後在 [動作 ] 窗格中,按兩下 [移除 ] 移除您不想做為預設檔的任何檔名。

使用命令行設定預設檔

若要將檔案名新增至預設檔案清單,請使用下列語法:

appcmd set config /section:defaultDocument /+files.[value='string']

變數字串是您要新增至清單的檔案名。 例如,若要將名為 home.html 的檔案新增至預設檔案清單,請在命令提示字元中輸入下列命令:

appcmd set config /section:defaultDocument /+files.[value='home.html']

若要從預設檔案清單中移除名為 home.html 的檔案,請在命令提示字元中輸入下列命令,然後按 ENTER:

appcmd set config /section:defaultDocument /-files.[value='home.html']

步驟 5:設定靜態內容壓縮

您可以選擇性地將網頁伺服器設定為壓縮靜態內容,以更有效率地使用頻寬,並增強網站的效能。

使用UI設定靜態內容壓縮

  1. [IIS 管理員的功能檢視 ] 中,按兩下 [ 壓縮]。

  2. 選取 [ 啟用靜態內容壓縮 ] 來設定 IIS 以壓縮靜態內容。

  3. 在 [ 靜態壓縮] 方塊中,設定下列設定:

    1. 您可以選擇只 壓縮大於 (以位元組為單位) 的壓縮檔案,然後輸入您想要 IIS 壓縮的最小檔案大小。 默認大小為 256 個字節。
    2. 在 [快 取目錄 ] 文本框中,輸入本機目錄的路徑,或按下瀏覽按鈕 (...) 來尋找目錄。 壓縮靜態檔案之後,它會在此暫存目錄中快取,直到它到期,或直到內容變更為止。 暫存目錄必須位於NTFS格式化磁碟分區的本機磁碟驅動器上。 無法壓縮目錄,而且不應該共用。
    3. 您可以選擇性地選取 [每個應用程式集區磁碟空間限制], 然後輸入每個應用程式集區的最大空間量,以 MB 為單位,您希望 IIS 在壓縮靜態內容時使用。 例如,如果伺服器上有 20 個應用程式集區,且 [磁碟空間限制 ] 設定為 100,則最大磁碟空間會是 2 GB。 如果您按兩下 [ 每一應用程式集區磁碟空間限制](以 MB 為單位) 選項,並在其下方的文字框中輸入數位,IIS 就會根據達到設定限制時,根據最近使用的規則自動清除暫存目錄。 默認為每個應用程式集區 100 MB。
  4. 按兩下 [動作] 窗格中的 [套用]。

使用命令行設定靜態內容壓縮

若要啟用靜態內容的 HTTP 壓縮,請在命令提示字元中輸入下列命令,然後按 Enter:

appcmd set config /section:urlCompression /doStaticCompression:True

若要設定靜態內容壓縮設定,請使用下列語法:

appcmd set config /section:urlCompression /minFileSizeforComp:int/directory:字串/maxDiskSpace:int

minFileSizeforComp變數會設定檔案必須包含的位元元組數目下限,才能進行壓縮。 預設值為 256。 變數 directory 會指定暫時儲存和快取靜態檔案壓縮版本的目錄。 預設值為下列資料夾:

%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files

maxDiskSpace變數會設定每個應用程式集區的最大空間量,以 MB 為單位,您希望 IIS 在壓縮靜態內容時使用。 默認為每個應用程式集區 100 MB。

後續步驟

徹底測試您的網站以確保其運作符合預期。 然後考慮設定下列功能:

另請參閱