[ASP.net WebForm] 在Windows7上架ASP.net網站(適用WinServer2008)

[ASP.net WebForm] Windows7上架ASP.net網站(適用WinServer2008)

 

說明以下的Demo 環境

OS:Windows 7 64bit

DB:SQL Server 2008 (和IIS在同一台電腦上)

 

1. 要在Windows7上架ASP.net網站前要先啟動安裝IIS

控制台>程式和功能>開啟或關閉Windows功能

然後按「確定」

WindowsServer 2008 IIS的位置

2. 使用Windows系統管理員的權限,安裝.net framework(本Demo待會要架.net4開發的網站,所以以.net framework4為例)

Microsoft.NET Framework 4 (獨立安裝程式)

※如果1、2步驟安裝相反的話,請這樣做

打開『命令提示視窗』,到『C:\Windows\Microsoft.NET\Framework64\v2.0.50727』和『C:\Windows\Microsoft.NET\Framework64\v4.0.30319』底下,

輸入『aspnet_regiis -i』向IIS伺服器註冊.net framework

(如果不確定當初1、2步驟安裝順序的話,也可以執行以上指令)

 

 

3. 因為要讓外部連到網站

所以到控制台>Windows防火牆>進階設定

左方「輸入規則」把80 port打開(實務上這裡指的是AP Server)

因為實務上,AP Server架網站,DB Server架SQL Server

所以接下來假設網站要存取另一台電腦上的SQL Server

 

所以DB Server的Port(預設1433)也要打開

請在DB Server的電腦進到Windows防火牆>右方「新增規則」

選「連接埠」

輸入「1433」

「允許連線」

規則名稱請自行命名

如此Windows防火牆的設定完畢。

 

4. 接著要再設定SQL Server組態,讓它可以允許網站程式連接SQL Server

(實務上,這裡是DB Server的操作)

確保以下SQL Server和SQL Server Browser都有執行

Shared memory、TCP/IP、具名管道都有啟用

SQL Server網路組態的TCP/IP>內容

  

IP位址>TCP動態通訊埠清空>TCP通設埠設1433後按「確定」

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3和4的步驟完成後,網站和SQL Server應該就可以溝通了.

 

5. 架設ASP.net 站台

系統管理工具>IIS管理員>新增網站

※因為我曾經遇過客戶提供的環境把系統管理工具隱藏起來(自訂開始功能表也找不到)的狀況,所以再提供一個找到IIS管理員的方法:

我的電腦>右鍵>管理>服務與應用程式>IIS管理員

 

(本Demo未輸入主機名稱),按下「確定」

※如果一台電腦上要架設多個站台的話,請確保每個站台的連接埠不一樣或每個站台的主機名稱(DomainName)不一樣,網站才執行得起來

接下來要設定「預設文件」,目的是為了當使用者輸入一個DomainName的URL或輸入一個目錄名稱,預設要導向的網頁

※「預設文件」不設定沒關係,但就要啟用「瀏覽目錄」的功能(但不建議這樣做,因為會讓使用者知道你的網站架構),所以以下Demo有把「瀏覽目錄」功能「停用」

左鍵Click進入

左鍵Click進入

要測試網站有沒有架設成功,可以左鍵點選站台名稱後>「瀏覽*:80(http)」

有看到畫面代表成功了(以下Hello World的字串為從資料庫撈出來的字串)

本Demo剛剛沒有輸入DomainName,所以是http://localhost(或自己電腦的IP位址)

如果剛剛有輸入DomainName的話,可以直接在瀏覽器上輸入DomainName試試看網站是否成功被執行

 

以下附上該網站的Web.config設定(因為IIS有設定預設文件,所以defaultDocument區塊會被自動追加修改)

<?xml version="1.0" encoding="UTF-8"?>

 

 

  

 

 

<configuration>

  <connectionStrings>

 

    <!--資料庫的連線字串,Data Source為DB Server的IP位址-->

    <!--Initial Catalog為預設資料庫-->

 

    <!--Uid和Pwd請分別輸入SQL Server驗證登入的帳號和密碼-->

    <add name="connStr" connectionString="Data Source=192.168.1.9;Initial Catalog=Northwind;Uid=test;Pwd=test;Max pool Size=300" providerName="System.Data.SqlClient" />

 

  </connectionStrings>

    <system.web>

 

        <compilation debug="false" targetFramework="4.0" />

    </system.web>

 

    <system.webServer>

        <defaultDocument>

 

            <files>

                <add value="index.aspx" />

 

            </files>

        </defaultDocument>

 

    </system.webServer>

 

 

</configuration>

 

6.其他

如果要修改該網站的DomainName的話,請到該站台的「繫結」

 

如果要修改該網站使用的應用程式集區:

以上上圖ASP.net v4.0為整合式

ASP.net v4.0 Classic為傳統式

如果發生錯誤

偵測出 ASP.NET 設定沒有套用到整合式 Managed 管線模式

此為應用程式集區整合式和傳統式的問題,請參考此篇的解法:[IIS 7.5/Win2008 R2] 部署ASP.net Web Site問題集合

※請一定要注意,.net 4開發的網站就應該跑在.net 4版本的應用程式集區,非.net 4開發的網站就不要用ASP.net v4.0和ASP.net v4.0 Classic應用程式集區

否則會發生Server ApplicationUnavailable 或 伺服器應用程式無法使用的錯誤

解法和說明請參考此篇的常見問題4ASP.NET 4.0 安裝在 IIS6 最常遇到的四個問題

 

以上,正式部署網站時,本人大概就是如此架設

如果是本機練習的話,因為不可能有DomainName,要用不同的連接埠進到不同的網站要記Port號碼又麻煩

所以練習測試環境的話,可以這樣架設多個「應用程式」

 

1. 把「預設站台」啟動

2. 修改「預設站台」的應用程式集區

3. 新增應用程式

※虛擬目錄只能執行靜態網頁,應用程式可以執行動態網頁,如果不小心架成虛擬目錄的話,待會也可以對著虛擬目錄右鍵>轉換成應用程式

4 左鍵應用程式>測試與執行

可以照著此方法,新增多個應用程式,URL就會是http://本機電腦的IP位址/應用程式名稱

之後的各項設定跟站台類似,就不再累述,但切記站台所做的變更,底下的「應用程式」會跟著繼承

 

※最後印象中如果64位元的環境會執行到32位元應用程式的話

請到應用程式集區設定

 

 

※2011.11.24追記:

針對要上傳檔案的目錄要新增寫入的權限

權限名稱請參考:介紹 IIS 7.5 的應用程式集區與新增的「虛擬帳戶」特性 (【IIS AppPool\應用程式集區名稱】)

如果ASP.NET 想把檔案寫入到網路芳鄰的分享目錄的話,請參考:ASP.NET如何將檔案寫入到網路芳鄰的分享目錄

(只是我只完成1、2、3、6的步驟並把File目錄開成「共用」就行了)

※2011.12.18 追記:[MS SQL] SQL Server 2008新增允許遠端登入帳號

※2012.5.1  追記:IIS應該啟用的功能設定

 啟用 IIS7 (含 ASP.NET 與 WCF HTTP 啟動、靜態內容、IIS 管理主控台與選用的 CGI)。

  • Windows 7

1.    在 [開始] 功能表中,依序選取 [控制台] | [程式] | [程式和功能]。

2.    按一下 [開啟或關閉 Windows 功能]。

3.    在 Microsoft .NET Framework 3.5 下,選取 [Windows Communication Foundation HTTP 啟動]。

4.    在 Internet Information Services 底下,展開 [全球資訊網服務] 和 [應用程式開發功能],然後選取 [ASP.NET] 和 [CGI]。

5.    在 Internet Information Services 底下,展開 [全球資訊網服務] 和 [一般 HTTP 功能],然後選取 [靜態內容]。

6.    在 [網際網路資訊服務] 下,展開 [Web 管理工具],然後選取 [IIS 管理主控台]。

7.    安裝選取的功能。

  • Windows Server 2008

1.    在 [開始] 功能表中,依序選擇 [程式集]、[系統管理工具] 和 [伺服器管理員]。

2.    在 [伺服器管理員] 中 [功能摘要] 底下,選取 [新增功能]。

3.    在 [新增功能] 對話方塊中 [.NET Framework 3.0 功能] 底下,選取 [.NET Framework 3.0]。在 [WCF 啟動] 底下,選取 [HTTP 啟動]。按 [下一步] 按鈕進行安裝。

4.    在 [伺服器管理員] 中 [角色摘要] 底下,確認 [網頁伺服器 (IIS)] 有出現在可用角色的清單中。如果沒有出現,請按一下 [新增角色],安裝 Internet Information Services。

5.    在 [伺服器管理員] 中 [角色摘要] 底下,按一下 [網頁伺服器 (IIS)]。

6.    在 [網頁伺服器 (IIS)] 管理視窗中,按一下 [新增角色服務]。

7.    在 [新增角色服務] 對話方塊中,依序展開 [網頁伺服器] 和 [應用程式開發],然後選取 [ASP.NET] 和 [CGI]。

8.    在 [新增角色服務] 對話方塊中,依序展開 [網頁伺服器] 和 [一般 HTTP 功能],選取 [靜態內容],然後按 [下一步] 按鈕進行安裝。

你可能感兴趣的:([ASP.net WebForm] 在Windows7上架ASP.net網站(適用WinServer2008))