<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      代碼改變世界

      微軟ASP.NET站點部署指南(7):生產環境部署

      2011-11-29 13:38  湯姆大叔  閱讀(3846)  評論(4)    收藏  舉報

      1.  綜述

      現在,程序也已經在本機IIS部署了,也測試了,該到發布到互聯網上的時候了。本章節你將創建一個虛擬主機賬戶,然后將程序發布到該生產環境。

      提醒:如果根據本章節所做的操作出現錯誤信息或一些功能不正常的話,請務必check Troubleshooting頁面。

      2.  選擇主機提供商

      對于Contoso University程序和本系列教程,你需要選擇一個支持ASP.NET 4和Web Deploy的虛擬主機。我們選擇了一個主機提供商一般來展示一個完整的部署體驗過程。由于每個不同的提供商提供不同的功能和部署流程,不過本教程的部署流程基本上涵蓋了所有的步驟。本教程使用的提供商是Cytanium.com,使用它不代表認可以及推薦它。

      如果你準備選擇提供商了,你可以根據微軟站點的提供商列表來比較各自支持的功能和價格。

      3.  創建賬戶

      在提供商那里創建一個賬戶,如果以及支持完整版的的話,我們在這個章節也不需要用到。但是后面的章節會講到如何數據遷移至完整版的SQL Server上。

      本教程,不需要你注冊新的域名,你可以直接用現有的域名,也可以用提供商提供的臨時URL地址來訪問。

       

      賬戶創建以后,通常你會收到一封歡迎郵件,里面包含了所有需要部署和管理站點的信息。不同的提供商發的郵件內容是不一樣的,但是大概都是類似的。Cytanium發送的郵件一般包括如下信息:

      1. 控制面板的URL地址,通過這個地址可以管理站點的配置信息。賬戶和密碼也包含在里面(以后修改過了,不用嘗試登陸啦)。

      2. 默認的.NET Framework版本以及如何修改版本信息。大部分虛擬主機站點提供的都是2.0版(支持2.0/3.0/3.5的程序),但Contoso University是基于.NET Framework 4的程序,所以需要稍后修改這個設置。

      3. 網站臨時URL地址,創建的時候輸入了以及存在的域名(contosouniversity.com)。因此,臨時地址是:http://contosouniversity.com.vserver01.cytaniu.com。

      4. 如何建立數據庫和設置連接字符串的一些信息:

      5. 部署程序需要的工具和設置信息(也提到了WebMatrix方面的信息,此處忽略)。

       

      4.  設置.Net Framework版本

      Cytanium歡迎郵件里有一個可以更改.NET Framework版本的連接,該頁面介紹了如何通過Cytanium控制面板來設置。其它的提供商的控制面板也許是不一樣的,可能用其它的方式去操作。

       

      訪問控制面板地址,輸入用戶名和密碼以后,將看到如下頁面:

       

      Hosting Spaces框里,移動鼠標上去能看到2個連接,選擇Web Sites

       

      Web Sites框里,點擊contosouniversity.com(創建賬戶時輸入的名字)。

       

      Web Site Properties框里,選擇Extensions選項卡:

       

      將ASP.NET從2.0 Integrated Pipeline修改才4.0 (Integrated Pipeline),然后點擊更新Update。

      5.  發布程序到虛擬主機

      修改當前的build配置為Release,你可以從工具欄選擇(如下圖),或者從編譯(Build菜單里的配置管理器Configuration Manager)里選擇。

       

      Solution Explorer里,右鍵ContosoUniversity項目,選擇發布(Publish),彈出Publish Web對話框,里面顯示的是Test profile,因為目前為止你只創建了這個。

      Publish profile框里,選擇新建new:

       

      輸入新名稱"Production"

      Service URL里輸入提供商歡迎郵件里提供的地址

      Site/application里輸入提供商歡迎郵件里提供的名稱

      選擇 Mark as IIS application on destination.

      確保選擇上Leave extra files on destination (do not delete),如果不選擇這個Web Deploy將會刪除目標站點上有而解決方案里沒有的文件,第一次部署沒有影響,但是以后的升級部署可就慘了,選上它只是避免這些問題。例如,它會刪除生產環境Elmah文件夾的日志文件(你解決方案里沒有)。

      選擇Allow untrusted certificate.

      輸入提供商提供的認證賬戶信息

      選擇Save password以便不用每次都輸入密碼

       

      點擊發布(Publish

      這樣程序就發布到虛擬主機上了,Output 窗口會顯示發布結果。

       

      6.  設置Elmah目錄權限

      還記得上個章節Elmah記錄日志的時候需要設置寫權限才能寫入XML文件呢,在你本機的IIS上部署的時候需要手工設置。本小節,你將使用Cytanium 來設置這個(其它提供商也行不允許這么做,通常情況他們會提供特殊的目錄讓你寫文件,這樣的話,你就要修改你的程序只能在特殊的目錄里寫文件了)。

      你可以在Cytanium控制面板里設置權限,訪問控制面板URL,然后選擇File Manager。

       

      File Manager框里選擇contosouniversity.com,可以看到根目錄wwwrooot。點擊Elmah右邊的關閉鎖圖片。

       

      在彈出的File/Folder Permissions窗口里,為contosouniversity.com選擇ReadWrite,點擊保存(Set Permissions)。

       

      7.  設置Bin目錄權限

      對于Cytanium和SQL Server Compact,還有另外一個文件夾權限問題需要注意, 如果你運行程序的話,首頁是沒有問題的,但是其它牽涉到數據庫操作的頁面都會出現如下錯誤:

      System.UnauthorizedAccessException : Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))

      原因是為了讀取原生的程序集,NETWORK SERVICE賬戶會從bin目錄讀取這些程序集,但是它現在沒有權限。(如果你想看到這個錯誤信息,你需要修改Web.config的錯誤配置為Off,然后重新部署,因為默認的生產環境顯示的自定義錯誤頁,而且你在錯誤報告頁面也查不到錯誤信息,是因為根本就沒權限寫入這個錯誤信息。)

      再次打開File Manager里的wwwroot,點擊bin目錄傍邊的關閉鎖圖片,在File Folder Permissions彈窗里為contosouniversity.com和NETWORK SERVICE都選擇上Read。然后選擇Replace permissions on all child objects以后,點擊Set Permissions保存設置。

       

      8.  產品環境測試

      打開創建賬戶時給的臨時訪問地址(該例是:http://contosouniversity.com.vserver01.cytanium.com),你可以看到和你本機Visual Studio里一樣效果的首頁,只不過不再顯示Test和Dev指示符了,這就是說Web.config 的transformation以后的信息是正確的。

       

      訪問Students頁面驗證數據庫里沒有student記錄:

       

      訪問Instructors頁面驗證Instructors數據依然保留在數據庫里:

       

      和測試環境一樣,你需要驗證生產環境的數據庫是否能否正常操作,但通常不想輸入測試數據進去,因為它是真正的生產環境。本章節依然使用同樣的方式來測試,在真正的生產環境里你需要使用不同的方式去做這個事情,比如不輸入測試數據也能驗證的辦法。當然除了要求不大,你也可以添加一些實用的數據進行測試然后再刪除。

       

      添加一個student然后訪問Students頁面看看數據是否存在,以此來驗證數據庫操作是否正常:

       

      Courses菜單選擇Update Credits頁面驗證授權認證是否正常。正常顯示了Log In 頁面。

       

      輸入管理員賬戶和密碼登錄以后,Update Credits頁面可以正常顯示,說明ASP.NET membership數據庫工作正常。

       

      測試Elmah在生產錯誤日志的時候是否正常記錄日志,訪問一個非法的URL地址(例如Studentsxxx.aspx)。和以前一樣,會顯示GenericErrorPage.aspx頁面,點擊Log Out退出連接,運行Elmah.axd,再次顯示Log In頁面(驗證了Web.config里對于Elmah認證的transform是否正確),登錄以后,就可以看到剛才生產的錯誤信息了。

       

      現在,已經成功部署了站點,并且驗證了測試結果,這個站點就可以在公網上正式公開運行了。

      9.  創建更可靠的測試環境

      在第5章我們提到了最可靠的測試方式是在主機提供商那里購買第2個賬戶作為測試環境,花費自然也要比在你本機IIS測試要高,但是為了防止生產環境出問題,購買第2個賬戶做測試也只值得的。

      部署測試賬戶的流程和部署生產環境是幾乎一樣的,只需要走如下工作:

      1. 參考第3章和第4章,創建一個新的build配置和Web.config transformation文件
      2. 和上面部署生產環境一樣,在主機提供商那里再購買一個賬戶,以便部署這個新的build 配置。
      3. 創建新的publish profile以便部署到這個測試賬戶上。

      10.    防止測試站點被公開

      測試賬戶要考慮的事情是,它運行在公網上,但你不想讓其它人訪問,保存這個站點私有的話,你可以這么做:

      1. 聯系主機提供商為你設置防火墻規則以便只有你的IP地址才能訪問測試
      2. 掩飾URL路徑,以便不合生產環境的URL地址相似。
      3. 使用robots.txt文件禁用搜索引擎爬行收錄你的地址。

       

      第1調是最常用的,但每個提供商所處理的流程這里就不寫了,如果你的提供商可以設置只允許你的IP地址房屋內,理論上就不用擔心搜索引擎爬行了,盡管這樣,部署一個robots.txt 以防萬一。

      部署的robots.txt應該是如下這樣的:

      User-agent: *
      Disallow: /

       

      User-agent告訴搜索引擎下面的規則適用于所有的搜索引擎爬蟲, Disallow 意味著所有的頁面都不允許爬蟲訪問。

       

      生產環境需要收錄,所以不要部署這個文件。參考:Can I exclude specific files or folders from deployment? 以確保只在Release build里排除這個文件。

       

      為測試環境專門創建第二個虛擬主機賬戶雖然不是必須的,但是非常值得的。下面的一些章節和使用IIS作為測試環境。

      下一章節,你修改對程序走一些修改,然后重新部署到測試環境和生產環境。

      主站蜘蛛池模板: 诱人的老师hd中文字幕| 肥乡县| 国产一区二区黄色在线观看| 四虎永久精品免费视频| 久热在线中文字幕色999舞| 欧美嫩交一区二区三区| 色噜噜噜亚洲男人的天堂| 国产精品无码素人福利不卡| 91九色国产成人久久精品| 欧美人成在线播放网站免费| 丰满岳乱妇久久久| 国产精品午夜福利91| 久久婷婷五月综合色和啪| 国产另类ts人妖一区二区| 松阳县| 久久久久久99av无码免费网站| 国产首页一区二区不卡| 国产精品久久久久久妇女| 十八禁国产一区二区三区| 国产 亚洲 制服 无码 中文| 国产精品久久中文字幕| 国产办公室秘书无码精品99| 国产成人自拍小视频在线| 国产一区二区三中文字幕| 97亚洲色欲色欲综合网| 男人和女人做爽爽免费视频| 亚洲午夜无码久久久久蜜臀AV| 欧美白妞大战非洲大炮| 亚洲成人精品在线伊人网| 欧美激情内射喷水高潮| 久爱无码精品免费视频在线观看| 久久亚洲精品中文字幕无| 国产97人人超碰caoprom| 成人午夜福利精品一区二区| 二区三区亚洲精品国产| 最新国产AV最新国产在钱| 色老头亚洲成人免费影院| 亚洲av首页在线| 亚洲男女羞羞无遮挡久久丫 | 五十路丰满中年熟女中出| 日韩无人区码卡1卡2卡|