MVC4 網站發佈(整理 + 部分轉載 + 部分問題收集和解決方案)

網站發佈步驟:

這部分是轉載文章 在此標明出處,以前有文章是轉的沒標明的請諒解,因爲有些已經無法找到出處,或者與其它原因。

如有冒犯請聯繫本人,或刪除,或標明出處。

因爲好的文章,以前只想收藏,但連接有時候會失效,所以現在碰到好的直接轉到自己這裏。

原文 出處http://blog.sina.com.cn/s/blog_acb983ba0101c5um.html

 

1、打開你的VS2012網站項目,右鍵點擊項目》菜單中 重新生成一下網站項目;再次點擊右鍵》發佈:

2、彈出網站發佈設置面板,點擊<新建..>,創建新的發佈配置文件:

輸入你自己定義的配置文件名:

3、點擊下一步:在發佈方法中選“文件系統”,這樣我們可以發佈到自己指定的本機文件上。

選擇自己指定的文件夾:通過點擊下圖中右上角紅色箭頭處創建新的文件夾,自定義命名(我的就寫WebSite)。點擊打開,進入下一步

4、 在配置中,要選擇“Release”——發佈模式(Release   稱爲發佈版本,它往往是進行了各種優化,使得程序在代碼大小和運行速度上都是最優的,以便用戶很好地使用。Debug 通常稱爲調試版本,它包含調試信息,並且不作任何優化,便於程序員調試程序)

5、點擊下一步:進入發佈前的預覽界面

點擊發布即可以發佈你指定的文件夾中,這裏,我發佈的是C盤下的WebSite文件夾中。

發佈成功後,點開文件夾,所有頁面的.cs文件都消失了, 都去哪裏了呢?是bin文件夾裏面嗎?大家猜一猜。

發佈好的截圖:

6、通過》控制面板》管理工具》啓動 ‘Internet信息服務(IIS)管理器’ 進入IIS界面。

右鍵單擊網站》添加網站

7、下面圖中,左邊紅色方框內輸入自定義的網站名稱(請儘量用英文,這裏我就寫MyPhotoSite),右邊紅色箭頭處需要點擊 ‘選擇(E)…’ 進行更改。

大家可以點開下拉列表框根據自己的網站版本進行選擇(一般請選擇不帶有Classic的)。這裏我選擇的是選擇DefaultAppPool,

8、選擇 “已發佈網站文件夾” 的物理路徑。

9、點擊下拉列表選擇 “自己當前的IP地址”

點擊確定:這時我們的網站就還差一步就發佈好了,點擊網站MyPhotosSite,再點擊下圖紅色箭頭處 切換到 “內容視圖”。

10、 最後一步:註冊IIS服務器。命令:aspnet_regiis -i(請複製),先在程序菜單》VS2012裏面》Visual Studio Tools》VS2012開發人員命令提示。右鍵單擊 “VS2012開發人員命令提示”。以管理員身份運行。(如果不是以管理員身份運行,將會提示“權限不足”錯誤)

運行後,右鍵粘貼 aspnet_regiis -i 按回車。等待運行大概 1分鐘左右提示安裝完畢(我的機子慢所以提供1分鐘供大家參考,大家不要着急慢慢等待安裝完成即可)。

最後,找到自己的網站首頁,右鍵瀏覽。IE有時會不響應(地址欄出現空白),要多次瀏覽纔會成功。展示一下我們的成果:

 

 

說明:上面轉載的這部分文章,說明一點大概博主的網站不是MVC4的網站所以在添加網站那步是有出入的

原文是說

大家可以點開下拉列表框根據自己的網站版本進行選擇(一般請選擇不帶有Classic的)。這裏我選擇的是選擇DefaultAppPool,

而我們是MVC4的 所以選擇 ASP.NET v4.0 這項

一般會立即報一個

c:\Windows\Microsoft.Net\Framework64\v4.0.30319\Temporary ASP.NET Files\root\ca8ed912\d7b1512d\App_global.asax.6rl89b0n.dll' -- '拒絕訪問 的錯誤.

1,通常的解決方法:原因是由於系統目錄下的Temp目錄無相應的權限所致,具體操作如下:C:\Windows\temp-->屬性-->安全-->編輯-->添加NETWORK SERVICE用戶的讀寫權限就可以解決.

2,打開服務器系統c盤,打開window, 右鍵temp 屬性 安全 編輯 添加IIS_IUSRS 用戶控制權限添加修改和寫入權限即可。這是Windows Server 2008 R2 標準版 SP1 64位中文版解決辦法。(我的是這個問題.這樣就解決了,上面的network service不用也行)

 

 

 

IIS發佈步驟:

 

這部分是轉載文章 在此標明出處,以前有文章是轉的沒標明的請諒解,因爲有些已經無法找到出處,或者與其它原因。

如有冒犯請聯繫本人,或刪除,或標明出處。

因爲好的文章,以前只想收藏,但連接有時候會失效,所以現在碰到好的直接轉到自己這裏。

原文 出處http://www.soaspx.com/dotnet/asp.net/DPattern/dpattern_20120621_9306.html

 

網站發佈環境:Win7,IIS7.5

網站編寫環境:Win7,VS2010,MVC3

1.配置 IIS7.5

  控制面板——程序——打開或關閉Windows功能——Internet信息服務,按照下圖設置 【Internet信息服務】,現在IIS7.5就設置好了。

2.網站發佈

2.1. 從VS2010中導出網站

在VS2010中編譯好 Solution,然後在菜單欄選擇Build——Publish Test(這裏Test是Solution名稱)彈出如下窗口

網站存放在C:\inetpub\test地方

2.2. 去【Internet信息服務】發佈網站

2.2.1 查看 【應用程序池】是否包含ASP.NET v4.0,ASP.NET v4.0 Classic

控制面板(查看方式:小圖標)——管理工具(如圖2)——Internet 信息服務(IIS)管理器(鼠標雙擊打開,如圖3)——應用程序池(鼠標雙擊打開),

查看是否有圖3中綠色框裏的ASP.NET v4.0,ASP.NET v4.0 Classic,如果沒有,說明Framework沒有完全安裝,這樣種情況下發布的網站是無法訪問的。

解決方法:

  開始——cmd,在命令管理器裏輸入以下這樣一串字符按Enter鍵即可(如圖1):
%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i

                                     圖1 cmd

                                   圖2 管理工具

                                                                   圖3 Internet 信息服務(IIS)管理器

2.2.2 發佈網站

Internet 信息服務(IIS)管理器(鼠標雙擊打開,如圖3)——選擇【網站】鼠標右鍵單擊,彈出菜單,選擇【添加網站……】彈出圖4 窗口

                               圖4添加網站

經過如上操作,網站就發佈成功了

雙擊新建的網站test,如圖5,選擇右側的【重新啓動】,然後點擊右側的【瀏覽網站】下的【瀏覽192.168.19.19……】,就可以在瀏覽器中查看發佈的網站了

                                                                          圖5

 

 

 

 

一些可能會出現的問題:

錯誤:


用戶 'IIS APPPOOL\ASP.NET v4.0' 登錄失敗。

說明:執行當前 Web 請求期間,出現未經處理的異常。請檢查堆棧跟蹤信息,以瞭解有關該錯誤以及代碼中導致錯誤的出處的詳細信息。

異常詳細信息: System.Data.SqlClient.SqlException: 用戶 'IIS APPPOOL\ASP.NET v4.0' 登錄失敗。

源錯誤: 

執行當前 Web 請求期間生成了未經處理的異常。可以使用下面的異常堆棧跟蹤信息確定有關異常原因和發生位置的信息。

 

用戶 'IIS APPPOOL\ASP.NET v4.0' 登錄失敗 怎麼解決啊,各位高手?

因爲你的程序連接SQLServer的連接字符串是用了windows集成登陸,你可以改成用數據庫帳號密碼登陸。

 

你網站發佈到IIS 之前 記得修改 配置文件.即 web .config 文件中數據庫連接字符串
<connectionStrings> </connectionStrings>節點中

默認的或你自己一開調試程序添加的是有可能是以前 "." 代表本機 密碼是用系統默認的,發佈到IIS後是沒辦法使用的,所以要改成通用的 一下給出的是一個範例,第一個是系統默認的,用了之後也會出現你這錯誤, 另一個修過的的範例是正確的

默認:
 <!--<add name="TenderSystemContext" connectionString="Data Source=.;Initial Catalog=DeLiXiTenderSystem;Integrated Security=True;MultipleActiveResultSets=True"
          providerName="System.Data.SqlClient" />-->

正確:
<add name="TenderSystemContext" connectionString="Data Source=IT-CHENXIAOPENG\;Initial Catalog=DeLiXiTenderSystem;User ID=sa;Password=sql+SERVER;MultipleActiveResultSets=True"
      providerName="System.Data.SqlClient" />

 

 

 

provider: 共享內存提供程序, error: 0 - 管道的另一端上無任何進程

已成功與服務器建立連接,但是在登錄過程中發生錯誤。 (provider: 共享內存提供程序, error: 0 - 管道的另一端上無任何進程。)

用戶 'sa' 登錄失敗。該用戶與可信 SQL Server 連接無關聯。 
說明: 執行當前 Web 請求期間,出現未處理的異常。請檢查堆棧跟蹤信息,以瞭解有關該錯誤以及代碼中導致錯誤的出處的詳細信息。 

異常詳細信息: System.Data.SqlClient.SqlException: 用戶 'sa' 登錄失敗。該用戶與可信 SQL Server 連接無關聯。

說明: 執行當前 Web 請求期間,出現未處理的異常。請檢查堆棧跟蹤信息,以瞭解有關該錯誤以及代碼中導致錯誤的出處的詳細信息。 

解決方法如下

首先選中服務器(右鍵)->屬性->安全性->服務器身份驗證修改爲"SQL SERVER和WINDOWS身份驗證模式"
其次展開服務器上的"安全性"->登陸名->選中SA登陸帳號(右鍵)->狀態->登陸修改爲啓用

解決步驟:    
1、用Windows身份登錄Management Studio,右擊服務器選擇屬性,將安全性選項 更改爲:SQL Server 和 Windows 身份驗證模式。






2、在 安全性->登錄名 中設置sa用戶的屬性,在狀態一欄中有“登錄”一項,默認是禁用,改爲啓用。 




3、打開 配置工具->“SQL Server 外圍應用配置器”,運行後,選擇“服務和連接的外圍應用配置器”。 
   首先選擇 遠程連接->本地連接和遠程連接->僅使用TCP/IP,點擊“應用”。 
   其次選擇 服務 先停止SQLEXPRESS服務,再將其重新啓動。 





  

以上內容轉自:http://hi.baidu.com/hongfeisong/blog/item/96a4c158cb1afe84800a18b4.html

但並沒有解決我的問題。

後來發現。sql server brower服務沒啓動,重新啓動該服務。然後重啓sql server服務即可。

如果啓動後提示:

用戶 'sa' 登錄失敗。

說明: 執行當前 Web 請求期間,出現未處理的異常。請檢查堆棧跟蹤信息,以瞭解有關該錯誤以及代碼中導致錯誤的出處的詳細信息。

異常詳細信息: System.Data.SqlClient.SqlException: 用戶 'sa' 登錄失敗。

修改webconfig中相應的代碼即可。

<connectionStrings>
<add name="數據連接名" connectionString="Data Source=.;Initial Catalog=數據庫;pwd=你的密碼;"
   providerName="System.Data.SqlClient" />

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章