在一個系統網站項目做完之後,這個時候我們就要把這個做好的網站發布到伺服器上,並給這個系統一個網域名稱供使用者訪問並使用。
本來那天發布完這個系統之後就像把這個系統整個發布的過程寫出來,由於工作繁忙有些耽誤。在這篇日誌中,我將把我前幾天發布一個網站過程記錄下來供大家分享。
用VS內建的網站發布工具,首先,在VS2008(visual studio 2005也可以,本人用的是VS2008, )中,開啟已經做好的項目,
1. 右擊項目WEB層,這時我們可以看見,在右擊菜單中有發布(B)...一欄,點擊它,將出現:
2. 點擊輸入框後面的…將彈出下面對話方塊
我們選擇本地IIS進行發布,為什麼呢?OK,很簡單,本地IIS發布好之後,這個系統的配置差不多就完成了。選擇好發布好的目錄之後,點擊發布,這時我們注意到VS的下方有:
說明網站正在發布。發布完成之後,VS的左下角會提示發布成功。
3. 這時我們開啟IIS,不好了,發現剛發布的系統所有的內容都在那個Default Web Sites目錄下,看起來很不順眼是吧,而且你瀏覽你發布“成功”時,你會發現報錯了,是不是下面這個錯誤呢?
是的,就是這個錯誤,哈哈,告訴你吧,你想象的發布系統也太簡單了。
4. 其實在剛剛發布網站之前,我們首先就必須在IIS中建立一個虛擬目錄,並將該目錄指向你所定的物理目錄,你發布的系統的內容都將在這個目錄下。這樣說是不是太虛幻了,還是給些提示吧
(1) 右擊Default Web Sites,選擇添加虛擬目錄,給這個虛擬目錄一個別名,並給它指向一個實際的實體路徑
點擊確定就OK了。
(2) 別急,上面那還有一個關鍵要完成,就是將你剛剛添加的虛擬目錄轉換成應用程式,很簡單,右擊剛添加的虛擬目錄,選擇轉換為應用程式。
5. 這下我們就可以重新回到發布的第一步,選擇剛添加的虛擬目錄
6. 發布完成之後,我們再次對頁面進行瀏覽,發現又報錯了,哈哈,是不是很急人啊,哎,想那麼簡單發布好一個網站不是那麼簡單哦。錯誤是不是下面這樣的呢?
其實這個是程式池的問題,很簡單,我們需要對這個虛擬目錄進行些進階設定,右擊虛擬目錄pubHealthService->管理應用程式->進階設定,我們發現這個虛擬目錄的應用程式是值預設是DefaultAppPool,問題就出在這裡,點擊後面的省略符號,
選擇Classic .NET AppPool,點擊確定。
哈哈,是不是已經可以正常瀏覽呢,本地發布的對問題已經解決了,小高興下!~~。
7. 本地發布之後,我們就需要把這個發布好的系統發布到伺服器上去,這下就比較簡單了,首先將剛剛發布好的網站物理目錄裡面內容上傳到伺服器中,並在伺服器的IIS中像第四步那樣建立虛擬目錄,注意,這個虛擬目錄的實體路徑指向你上傳來的檔案所在目錄(呵呵,別忘記了,還要轉換為應用程式,千萬不要粗心!)。伺服器上的發布按道理這樣發布就應該好,可是有部分人,可能還會遇見問題,系統能跑起來,但是根本上連不上資料庫,查遍IIS和資料庫相關配置之後,根本沒有任何錯誤,是的,你的配置沒有任何問題,是不是該考慮下??對,伺服器沒裝.NET3.5,要知道,沒裝.NET3.5很多類庫都沒有,系統當然跑不起來,裝上之後問題就解決了。
8. 當然,說到上面的第七步,大家可能覺得有些多餘,是的,我們在當初的發布系統的時候就可以選擇遠端站台,這樣就少了第七步的部分操作。
呵呵,不早了,就寫到這吧,大家要是遇見什麼問題,歡迎留言討論,有問題本人將儘力解決!~~