跳到主要內容

[ASP.NET] 部署ASP.NET到Server主機上



部署ASP.NET到自有的實體Server

此處紀錄實際部署ASP.NET到自有的實體Server的案例,不同的軟體系統和開發的軟體版本可能會有操作上的差異。因此以下以案例的方式描述,請參考並搭配實際情況進行安裝。

案例一

開發環境

作業系統:Win 7
開發軟體;Visual Studio 2013 / ASP .NET MVC 4 / SQL Server Data Tools

Server環境

作業系統:Win 7
安裝套件:.NET framework 4.5

設定流程

1.      安装WIN7IIS功能
IIS 預設是沒有開啟的,要手動安裝 IIS 「控制台 -> 程式集 -> 程式和功能 -> 開啟或關閉 Windows 功能」
[Internet Information Service]選項打勾,並到[World Wide Web服務]項目下確認所有項目打勾

測試在瀏覽器網址輸入 http://127.0.0.1(localhost)

成功應該會看見IIS歡迎畫面,這是你的主機首頁

現在你的電腦已經是個網頁伺服器,

預設網頁存放的目錄是C:\Inetpub\wwwroot,接下來要試著將子己開發的ASP .NET MVC 4專案透過IIS部署到網站上。

2.      ASP .NET MVC 4專案打包發佈
在你的專案右鍵à[Publish]

在“配置文件”阶段,选择新建配置文件
在“连接”阶段,“发布方法”下拉列表中选择“文件系统”选项,“目标位置”根据自己的需求选择一个本地路径:
在“设置”阶段,"配置”选择“Release"最后,在“预览”阶段点击“发布”。

此時你的ASP .NET MVC 4專案已經打包至你所設定的目標位置。





3.      透過IIS管理介面建立網站
windows START 輸入 IIS,開啟主控台
點選左方欄位的[站台],點選[新增網站]

接著如下圖所示:
 

填写网站名称,应用程序池选择ASP.NET v4.0,物理路径直接选择目标项目在发布阶段所使用的目标位置(例:C:\WebSite\AutohomeClub),在”连接为“中选择特定用户并输入自己电脑的用户名和密码(无密码可以不填),绑定区域的配置:类型保持默认的httpIP地址选择自己电脑的,端口号可以随意,最后点击“确定”





4.      發佈完成
IIS管理介面上請確認你的網站已經建立並啟動,點選右邊的[瀏覽網站]即可開啟瀏覽器並聯至網站。

       




問題

        此時若遇到【HTTP 錯誤 500.21-Internal Server Error,處理常式 "PageHandlerFactory-Integrated" 的模組清單中有錯誤的模組"ManagedPipelineHandler"】(如下圖)
*******************************************************************
問題的發生原因
要讓 Windows Server 2008(含以上)得以執行 ASP.NET 4.0 應用程式,必須啟用 IIS 角色並安裝 .Net Framework 4.0,若您是先安裝 .NET Framework 4.0 獨立安裝程式再啟用 IIS 角色就可能遇到上述的錯誤訊息,原因在於IIS角色在啟用時並未更新現有的應用程式以使用 ASP.NET 4 版本的應用程式集區 ,以及在 IIS Metabase 中未更新傳統模式及 IIS 整合模式下 ASP.NET 4 的處理常式與指令對應,以至於出現上述的錯誤訊息。
問題的解決方法
1.    Win + R 開啟執行視窗後輸入 cmd 按確定,開啟命令提示字元。
2.    依據作業系統的位元數切換至相對應的目錄。 32 位元的作業系統請切換至%systemroot%\Microsoft.NET\Framework】。64 位元的作業系統請切換至【%systemroot%\Microsoft.NET\Framework64】。
3.    輸入【aspnet_regiis -i】後按 ENTER,下圖的為在 64 位元的作業系統下所做的範例。
依照上述步驟即可於 IIS 7.5 上執行 ASP.NET 4.0 應用程式。

以本文所舉的情境為例,建議要讓 ASP.NET 順利在 IIS 7.5 上執行的設定步驟如下:
1.    啟用 IIS 角色,並選取 ASP.NET 角色服務。
2.    安裝 .Net Framework 4.0 獨立安裝程式。*******************************************************************




從外部裝置連結網站若無法連結,請確認你的防火牆設定。
[網域網路位置設定]的防火牆關閉


留言

這個網誌中的熱門文章

[Python] 管理多個執行緒(thread)的運作與結束

在開發應用程式中,幾乎所有的專案都會用到thread,不同的程式語言有不同˙的叫用方法,但都大同小異。Thread的使用上最重要的不是在產生一個thread,而是如何結束一個thread,或是如何結束好幾個threads,以下介紹在Python中如何叫用並管理一或多個thread: 一般來說,create thread如下: def job(): while 1: print("Child thread:", i) time.sleep(1) #In main code thread = threading.Thread.__init__(job) thread.start() 這樣可以開始一個thread執行job()中的動作,但若job中的迴圈是如上範例的無限迴圈,必須要加上能讓其退出的機制: stopped = 0 def job(): global stopped while stopped == 0: print("Child thread:", i) time.sleep(1) #In main code thread = threading.Thread.__init__(job) thread.start() 這樣在主程序先將stopped設成1,再調用 thread.join() 就可以將thread完整關閉並釋放記憶體空間。 多執行續的處理: 基於這樣的方式,下面是進化版本,創建一個thread專用的class,並同時處理多個thread的執行與結束: class EventHandleThread (threading.Thread): def __init__(self, fun, name): threading.Thread.__init__(self) self.name = name self.fun = fun self.stopped = [0] def run(self): self.fun(self.name, self.stopped) print ("Exiting "

[Python] 將程式設定為全螢幕顯示(full screen)和永遠在最前景、最上層(topmost)

這裡以創建一個tkinter 的 Application物件為例 EX: app = Application() app.master.title("WaferCheckApp") app.master.geometry("1100x720") 將UI顯示在最上層: app.master.attributes('-topmost', True) 將UI以全螢幕顯示: app.master.attributes('-fullscreen', True)

[Python] 以.py檔案產生Windows EXE 執行檔

如何開發能在Windows下執行的Python程式?你當然可以在Windows下安裝Python之後用command line運行你的 .py source code來直接執行程式,但是這方法基本上只適合開發中的程式,或是自己寫好玩只在自己的PC上執行的程式,也許適用。 但若你的需求是要在每個Windows的OS下都可以執行、且是不公開程式碼的,那就必須要將你的 .py source code包裝成EXE執行檔了,下面就介紹如何進行: –下載 auto-py-to-exe-master https://github.com/brentvollebregt/auto-py-to-exe 1. 解壓縮auto-py-to-exe-master.zip到想要的路徑下(路徑不能有空格或".") 2. 開啟Cmd console 到auto-py-to-exe-master路徑下 3. 在console下執行"pip install -r requirements.txt" 4. 在console下執行"python run.py" 運行完畢後就可以選取你要轉成執行檔的 .py 檔案,進行製作。 可參考下面的影片: 產生出來的檔案包含執行檔與其程式中會用到的相關Lib檔案,所以要將整個output資料夾中的檔案一併提取出來 (不要只拿執行檔出來)。 如此你就可以在任意的Windows上執行你的程式了。