在 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
在 [開始] 頁面上按一下 [伺服器管理員] 磚,然後按一下 [確定] 。
在 [伺服器管理員] 中選取 [儀表板] ,然後按一下 [新增角色及功能] 。
在 [新增角色及功能精靈] 的 [在您開始前] 頁面上,按 [下一步] 。
在 [選取安裝類型] 頁面上,選取 [角色型或功能型安裝] ,然後按 [下一步]
在 [ 選取目的地伺服器 ] 頁面上,選取 [從伺服器集區選取伺服器],選取計算機的名稱,然後按 [下一步]。
在 [選取伺服器角色] 頁面上,選取 [網頁伺服器 (IIS)] ,然後按 [下一步] 。
在 [ 選取功能] 頁面上,注意預先選取的功能,然後按 [下一步]。
在 [網頁伺服器 (IIS) 角色] 頁面上,按一下 [下一步] 。
在 [ 選取角色服務 ] 頁面上,記下預先選取的角色服務,然後按 [ 下一步]。
注意
安裝靜態內容網頁伺服器的 IIS 8 預設角色服務。
在 [確認安裝選項] 頁面上確認您的選項,然後按一下 [安裝] 。
在 [安裝進度] 頁面上,確認網頁伺服器 (IIS) 角色和必要角色服務的安裝順利完成,然後按一下 [關閉] 。
若要確認 IIS 已成功安裝,請在網頁瀏覽器中輸入下列內容:
http://localhost
您會看到預設的 IIS [歡迎使用] 頁面。
使用UI在 Windows 8 上安裝 IIS
在 [開始] 頁面上輸入 [控制台] ,然後在搜尋結果中按一下 [控制台] 圖示。
在 [控制台] 中按一下 [程式集] ,然後按一下 [開啟或關閉 Windows 功能] 。
在 [Windows 功能] 對話框中,按兩下 [網際網路資訊服務],然後按兩下 [確定]。
此動作會安裝 IIS 8 預設功能。 只安裝靜態內容網頁伺服器的預設功能。
若要確認 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 新增網站
開啟 [IIS 管理員]。
- 針對 Windows Server 2012,在 [開始] 頁面上,按兩下 [伺服器管理員] 圖格,然後按兩下 [確定]。 在 伺服器管理員 中,單擊 [工具] 功能表,然後按兩下 [網際網路資訊服務 [IIS] 管理員。
- 針對 Windows 8,在 [開始] 頁面上輸入 控制台,然後按下搜尋結果中的 控制台 圖示。 在 [控制台] 畫面上,依序按一下 [系統及安全性] 、[系統管理工具] ,然後按一下 [Internet Information Services (IIS) 管理員] 。
在 [連線] 窗格中,以滑鼠右鍵按一下樹狀目錄中的 [網站] 節點,然後按一下 [新增網站] 。
在 [ 新增網站] 對話框中,於 [網站 名稱] 方塊中 輸入網站的易記名稱 。
如果您想要選取 [應用程式集區] 方塊中所列以外的應用程式集區,請按一下 [選取] 。 在 [選取應用程式集區] 對話方塊中,從 [應用程式集區] 清單中選取應用程式集區,然後按一下 [確定] 。
在 [ 實體路徑 ] 方塊中,輸入網站資料夾的實體路徑,或按下瀏覽按鈕 (...) 以瀏覽檔案系統以尋找資料夾。
如果您在上一個步驟中輸入的實體路徑是遠端共用,請按兩下 [ 連線為 ] 以指定有權存取路徑的認證。 如果您不使用特定認證,請在 [連線身分] 對話方塊中選取 [應用程式使用者 (通過驗證)] 。
從 [類型 ] 列表中選取網站的通訊協定。
. 如果您必須為網站指定靜態 IP 位址(根據預設,這會設定 為 [所有未指派],請在 [IP 位址] 方塊中 輸入 IP 位址 。
在[ 埠 ] 文字框中輸入埠號碼。
或者,在 [ 主機標頭 ] 方塊中輸入網站的主機標頭名稱。
如果您不需要對網站進行任何變更,而且您希望網站立即可供使用,請 選取 [ 立即啟動網站] 複選框。
按一下 [確定]。
使用命令列新增網站
在提升權限的命令提示字元或文稿中使用下列語法:
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設定匿名驗證
在 [IIS 管理員的功能檢視 ] 中,按兩下 [ 驗證]。
在 [ 驗證] 頁面上,選取 [ 匿名驗證]。
在 [ 動作] 窗格中,按兩下 [編輯 ] 以設定匿名使用者將連線至網站的安全性主體(使用者認證)。
在 [ 編輯匿名驗證認證 ] 對話框中,選取下列其中一個選項:
如果您想要設定 IIS 用來存取網站或應用程式的特定使用者帳戶,請選取 [ 特定使用者]。 然後按下 [設定] 以開啟 [設定認證] 對話框,然後輸入身分識別的使用者名稱和密碼。 然後按一下 [確定] 。
如果您想要使用應用程式集區屬性頁面上目前指定的帳戶來執行 IIS 進程,請選取 [應用程式集區身分識別]。 根據預設,此身分識別是IUSR帳戶。
重要
如果您使用 IUSR 帳戶,您會將與該帳戶相關聯的所有內部網路存取權授與匿名使用者。
按兩下 [確定 ] 關閉 [ 編輯匿名驗證認證 ] 對話框。
使用命令行設定匿名驗證
使用下列語法來變更匿名存取的默認帳戶:
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設定預設檔
- 在 [IIS 管理員的功能檢視 ] 中,按兩下 [ 預設檔]。
- 在 [ 動作] 窗格中,按兩下 [ 新增]。
- 在 [ 名稱] 方塊中,輸入您要新增至默認文件的檔名,然後按兩下 [ 確定]。 此檔案名會新增至預設檔案清單的頂端。
- 或者,在清單中選取預設檔,然後在 [動作] 窗格中,按兩下 [上移] 或 [下移] 來變更檔案的優先順序。
- 或者,在清單中選取預設檔,然後在 [動作 ] 窗格中,按兩下 [移除 ] 移除您不想做為預設檔的任何檔名。
使用命令行設定預設檔
若要將檔案名新增至預設檔案清單,請使用下列語法:
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設定靜態內容壓縮
在 [IIS 管理員的功能檢視 ] 中,按兩下 [ 壓縮]。
選取 [ 啟用靜態內容壓縮 ] 來設定 IIS 以壓縮靜態內容。
在 [ 靜態壓縮] 方塊中,設定下列設定:
- 您可以選擇只 壓縮大於 (以位元組為單位) 的壓縮檔案,然後輸入您想要 IIS 壓縮的最小檔案大小。 默認大小為 256 個字節。
- 在 [快 取目錄 ] 文本框中,輸入本機目錄的路徑,或按下瀏覽按鈕 (...) 來尋找目錄。 壓縮靜態檔案之後,它會在此暫存目錄中快取,直到它到期,或直到內容變更為止。 暫存目錄必須位於NTFS格式化磁碟分區的本機磁碟驅動器上。 無法壓縮目錄,而且不應該共用。
- 您可以選擇性地選取 [每個應用程式集區磁碟空間限制], 然後輸入每個應用程式集區的最大空間量,以 MB 為單位,您希望 IIS 在壓縮靜態內容時使用。 例如,如果伺服器上有 20 個應用程式集區,且 [磁碟空間限制 ] 設定為 100,則最大磁碟空間會是 2 GB。 如果您按兩下 [ 每一應用程式集區磁碟空間限制](以 MB 為單位) 選項,並在其下方的文字框中輸入數位,IIS 就會根據達到設定限制時,根據最近使用的規則自動清除暫存目錄。 默認為每個應用程式集區 100 MB。
按兩下 [動作] 窗格中的 [套用]。
使用命令行設定靜態內容壓縮
若要啟用靜態內容的 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。
後續步驟
徹底測試您的網站以確保其運作符合預期。 然後考慮設定下列功能:
- 若要對您的網頁伺服器進行疑難排解或效能最佳化,請設定 IIS 記錄。 如需指示,請參閱 Configure Logging in IIS。
- 若要改善網頁伺服器的安全性,請設定要求篩選。 如需指示,請參閱 Configure Request Filtering in IIS。