AWS_Linux31- 如何使用linux來架設Microsoft ASP.NET CORE web service省錢又高效

阿彬電腦
9 位粉絲
39 觀看·2024年10月27日
「雲端時代必備網路紮根概念(含TCP/IP與IPV6)」詳細線上課程連結:
https://www.udemy.com/course/tcpipipv6/?referralCode=6C8F3C4D4EBB95130B02
「AWS雲端實戰基礎」詳細線上課程連結:
https://www.udemy.com/course/aws-service/?referralCode=F89F4B85975612C59357
「Microsoft Azure雲端基礎實戰」詳細線上課程連結:
https://www.udemy.com/course/ms-azure/?referralCode=74F790E7290C998395E2
「AWS雲端Linux從零開始到架站與應用」詳細線上課程連結: https://www.udemy.com/course/awslinux/?referralCode=116FE91C10109D88E559
「Cisco Packet Tracer 8.X 基礎實戰」詳細線上課程連結:
https://www.udemy.com/course/packet-tracer/?referralCode=2620E85317674F4AD99A
大家好,我是阿斌
這個影片我們要在Ninus上面架設
ASP.NET Core 8 Web Service
並測試上傳網頁
是需求可先下載影片支援中的講義
邊看講義邊操作
假如我們要架設一臺Microsoft ASP.NET Core 8的Web Service
假如是使用ICE的做法
我們可以選擇使用Windows或者Ninus的虛擬機來架設
使用Ninus的話我只要一核一G
不僅速度快而且又穩定
假如在這臺Ninus上面我再搭配MySQL Database
不僅可以省錢而且又高效
等一下我們會繼續使用上次那臺Ninus來操作
假如你是重新安裝的一臺新的Ninus
記得要先做好前面講的安裝好須先修改
也就是我們前面講的安裝好要先把系統的防火牆先關掉
並且要確定能透過FiveZilla連入這臺Ninus
這樣後續才能上傳網頁
這些動作都可以參考我們前面的影片
好,那等一下我們要練習當NET Core 8的Web Service
所以我們要先把之前Tomcat的站臺先停用掉
不然兩個站臺都要用80%就會衝到
好,那我們現在就來停用Tomcat的站臺
我們先登入Ninus的系統
確定我們現在是Root的身份
那我先cd到usr.local.tomcat10.bin的資料夾
所謂Bin就是Binary二進位的執行檔
ls這裡面綠色的Shutdown就是停用
Startup就是啟動
好,那我現在要執行Shutdown停用
所以我下.jsonShutdown.sh
所謂一點就是現在的目錄
幫我執行現在的目錄裡面Shutdown這支程式
Enter
這樣子我的Tomcat就停用掉了
我們可以下nextday-tlnEnter
這裡可以看到它已經沒有監聽80%了
表示Tomcat的Web已經停用了
這樣子我們後面要架設當NET的Web
就可以使用80%了
除此之外我們還要注意我們之前在rc.local
我們有把Tomcat加入
所以每次開機都會啟動Tomcat
假如我們不要每次開機都啟動Tomcat
那我們還要修改rc.local
我們用vi打開Enter
我們要刪除這一行每次開機都會Startup啟動Tomcat
好,滴滴刪除
冒號wq存起來
這樣子我們不僅停用Tomcat
下次開機也不會啟動Tomcat了
我們回到講義
等一下我們要安裝downnetcode8web的軟體
因為這是微軟的軟體
所以等一下我們要先匯入微軟雲端儲藏庫的位置
不然inix的儲藏庫是找不到downnetcode8web的軟體
那匯入之後我們再搜尋雲端儲藏庫有ASPdownnetcode的軟體
那搜尋到之後我們再用yum去安裝ASPdownnetcode
最後再查詢downnet information
確定這個軟體有安裝
好,那我在微軟儲藏庫的位置按滑鼠右鍵
點複製
我們打開putty
確定目前是root的身份
我按滑鼠右鍵
貼上
接著我把前面的甲把它刪掉
Enter
匯入之後我們就可以搜尋到雲端儲藏庫有沒有ASPdownnetcode
Enter
這裡就可以看到有ASPdownnetcode6
還有code8的軟體
好,那等一下我們就是要安裝這個套件
接著我下yum-yinstall
我要安裝ASPdownnetcode8這個套件
Enter
裝好了
我們下downnet空一格-information
Enter
好,那我往上拉
這裡可以查到我們安裝的是8.0.7的版本
我們回到講義的第二點
假設我現在使用Virtual Studio在開發ASPdownnetcode的專案
那我如何把開發好的專案匯出成一個資料夾
上傳到雲端Linux虛擬機
有人可能沒有Virtual Studio
沒有關係
你可以到影片資源中下載這個zip的壓縮檔
解開後就有我們匯出的專案的資料夾
一樣可以練習後面如何把匯出的資料夾上傳到雲端Linux虛擬機
接著我們用Virtual Studio來練習建立一個新專案
並匯出成一個資料夾
我打開Virtual Studio
點建立新專案
點入
我在上方搜尋ASPdownnetcode
我稍微往下拉
我找到asp-downnetcode-web-mvc-csharp
好,那我點選
點下一步
在專案名稱我取名叫Web00
資料夾位置你可以隨便指定一個資料夾
好,那我點下一步
這邊我們使用Downnetcode 8長期支援版
好,我點建立
專案建好之後我展開Web00
展開View
展開Home
點index.cshtml點兩下
我們稍微修改它的首頁
我在Viracom的後面
空一格冰乳
我加入我自己的名字
好,那最後點左上角的磁碟片儲存
假設這是我們做好的專案
我們怎麼把這個專案匯出成一個資料夾
上傳到雲端Linux的虛擬機
好,那我在這個專案Web00
點滑鼠右鍵
點發布
點入
選擇我要匯出成一個資料夾
點入
點下一步
指定要匯出的資料夾的路徑
好,我點瀏覽
好,那等一下我要匯出到
西朝的testnet這個資料夾
確定
最後點完成
點關閉
這裡它只是完成發布的準備動作而已
並沒有真的匯出
好,那我們要做匯出
還要點右上角的發布
點入
這時候它才開始做匯出的動作
最後它這裡顯示
發布成功才真的有匯出
最後我們可以到西朝testnet
我們指定的資料夾中
就可以查到匯出這個專案的所有檔案
好,那假如沒有Visual Studio的人
也可以到影片資源中下載這個zip檔
解壓縮後
一樣可以看到匯出的資料夾
等一下一樣可以練習
上傳到雲端Ninus虛擬機
接著我們打開putty
等一下我們要把匯出的專案資料夾
上傳到雲端這臺Ninus的虛擬機
好,那我們在雲端Ninus mkdir
我們先建一個資料夾
用來存放上傳的專案
這個資料夾你想要建在哪一個地方
你要取什麼名稱都可以
這裡的-p parent表示
前面假如沒有www
那你就先幫我建www
裡面再幫我建net這個資料夾
好,我按enter
好,那我們用FileZilla
連入雲端這臺Ninus的虛擬機
連接埠是22ssh
好,快速連線
連入雲端Ninus虛擬機之後
我在Ninus server先找到
var www.net的資料夾
在左邊地端我找到專案匯出的
西潮Text的Net資料夾
好,那我把匯出的這個專案裡面的
所有檔案選起來
按滑鼠左鍵
往右拖拉放
這樣子它就把地端整個專案的
所有檔案上傳到雲端Ninus虛擬機
回到講義的第三點
我們要定義DonecoWeb的Poll Number
透過這個變數
就可以讓我們定義
DonecoWeb的Poll Number
我這裡的冒號5000
表示要連到這個Web
要用tcp5000Poll來連
當然你也可以定義使用
其他的Poll Number
好,假如使用5000Poll來連的話
那我們的防火牆
還要允許5000Poll可以連入
接著第四點
我們要啟動DonecoWeb這個服務
我們透過donetdll這個指令
我們就可以啟動
DonecoWeb Service
那這個dll檔要看你實際的檔名
我們來看當初Virtual Studio
匯出的這個資料夾
裡面會有一個dll檔
那這個檔名就是當初
你定義的專案名稱
當初我的專案名稱
就取名叫web00
所以等一下這個地方
你要填入你dll檔實際的檔名
透過donate執行這個dll檔
就可以啟動我們的
DonecoWeb Service
那前面的NodeHub跟後面這個符號
可以把這個process丟到背景
假如你沒有加NodeHub的話
這支程式就會一直站住這個終端
那我透過NodeHub搭配這個符號
就可以把中間這個process
丟到背景執行
接著nextday-tln
我們就可以查到
我們這個Web Service
目前就是在監聽5000Poll
最後我們透過瀏覽器
搭配冒號5000Poll
我們就可以連到
DonecoWeb Service的網頁
好 那我們開始來實作
我先複製這一行
我按滑鼠右鍵
點複製
我在Putty的終端機
按滑鼠右鍵
貼上
我把前面的假刪除
Enter
我定義DonecoWeb Service
使用5000Poll
接著防火牆也要開放5000Poll
我勾選雲端這臺虛擬機
點Security
找到Security Group
防火牆點入
點Inbound Ruler
往下拉
點Edit
往下拖拉
點Add Ruler
我要允許人家可以連入TCP5000Poll
來源IP1
我開放0000所有的IP
往下拉
點Save Ruler
接著我在Putty
cd var.net
進入DonecoWeb的主目錄
ls Enter
我們可以找到
我們的DLL檔
這個專案名稱叫Web00
好
那我們就是透過Donate
加上這個DLL檔
我們就可以啟動這個Web Service
那前面的NodeHub跟後面這個符號
就可以把這個Process丟到背景執行
即使我這個終端登出關掉
這個Process還會一直在背景中執行
好
我按Enter
再按Enter
接著我下Nexted空一格
-tln
Enter
我們可以查到這個Web Service
目前正在監聽5000Poll
好
那最後我們用瀏覽器來測試
我複製這臺Ninix虛擬機的Public IP
我們開一個新分頁
貼上Public IP
我們在後面加上冒號5000Poll
Enter
這時候我們就可以連入
當初Visual Studio匯出這個專案的網頁
我們回到講義第五點
我們如何停用DonecoWeb Service
因為它目前已經是背景的一個Process
所以我們要用Keyer這個指令
把這個Process的PID刪掉
這樣子它就停用了
講義第六點
我這次啟動DonecoWeb Service
我要定義它的Poll Number為tcp80Poll
因為我們的Apache httpd
它也是用tcp80Poll
兩個tcp80Poll就會衝到
所以假如Apache有啟動的話
那我們先停用掉
接著我再重新定義
DonecoWeb Service要使用tcp80Poll
定義好了
再透過Donate這個指令
把DonecoWeb Service把它啟動起來
最後我們用瀏覽器來測試
我只要後面不加Poll Number
它就是使用預設http
就是tcp80Poll
確定能夠成功連入
我們DonecoWeb Service的網頁
好 那我們開始來操作
我們打開Putty的終端
psaus
我要透過grep去過濾Donate這個Process
這裡就可以找到
我們有啟動Donate這個Process
它的PID是3457
好 那我要把Donate停用掉
我就只要把3457這個Process
key把它殺掉
Enter
這樣子Donate就停用掉了
接著我下Next Step
空一個-tln
Enter
我們可以發現
目前已經沒有監聽5000Poll
表示DonateWeb Service已經停用掉了
好 那這次我要使用tcp80Poll
來啟動DonateWeb Service
我們先查看
Apache httpd這個服務
目前有沒有啟動
Status我查看它的狀態
Enter
我們可以看到
目前Apache是沒有啟動的
好 Quit 離開
假如你的Apache httpd有啟動的話
那你還要去停用它
不然兩個80Poll就會衝到
接著我複製這一行
我要定義DonateCallWebService
這一次要使用tcp80Poll
我按滑鼠右鍵
點複製
我按滑鼠右鍵
貼上
Enter
接著我cd到var.net
這是DonateWeb的主目錄
那我透過Donate
我要執行裡面web00.dll這個檔案
這樣子就可以啟動DonateWebService
透過NodeHub跟這個符號
丟到背景
Enter
接著我下nextday空一格-tln Enter
這裡就可以查到
我們的DonateWebService
這一次是監聽tcp80Poll
最後我們用瀏覽器來測試
我複製這臺Ninis虛擬機的Public IP
我們開一個新分頁
貼上Public IP
我按Enter
這一次我們後面沒有指定多少Poll
那就是使用http預設的tcp80Poll
並且能夠成功連入我們DonateWebService的網頁
我們回到講義第七點
如何讓這臺Ninis虛擬機重新開機後
DonateWebService它會自動啟動
這樣子我就不用每次開機都要去執行啟動DonateWebService
好
那我們就是把啟動DonateWebService的這三行
寫到rc.local這個檔案
rc.local是Ninis開機最後執行的一個執行檔
那執行到這個檔案
它就會順便幫我執行這三行
把DonateWebService啟動起來
第一行我定義我的DonateWebService要使用5000Poll
當然也可以使用其他的Poll Number
第二行我要cd到Donate這個網站的主目錄
因為這個主目錄裡面纔有這個DL檔可以執行
第三行透過Donate這個指令幫我執行這個DL檔
啟動DonateWebService
好
那這個rc.local我們要給它執行的權限
所以我的權限設成75
最後假如我希望Apache也同時可以啟動的話
那我們把它設成Enable
下次開機它也會啟動
因為我們的Donate我們是設成5000Poll
那我們的Apache使用80Poll
兩個Poll Number不一樣
所以不會衝到
所以兩個WebService可以同時啟動
最後Reboot我們重新開機
開完機之後我們就可以用瀏覽器來測試
我們兩個Web就同時啟動起來
一個是5000Poll DonateWebService
一個是80Poll Apache的WebService
好
那我們開始來操作
我們在Putty的終端機
VI
我們來修改rc.local這個設定檔
Enter
我們複製講義的這三行
注意
這個DL檔要改成你實際DL檔的檔名
最後冒號wq存起來
接著我們把rc.local的權限設成75
讓它可以執行
Enter
接著我們把Apache這個服務Enable
讓它下次開機可以自動啟動
Enter
最後Reboot我們重新開機來測試
Enter
等兩分鐘重新開完機之後
我們複製這臺Ninus虛擬機的Public IP
我們開一個新分頁
貼上Public IP
Enter
這裡就可以看到我們之前在Apache設的PHP的網頁
好
那我再開一個新分頁
我輸入HTTP冒號兩線線
我們Ninus虛擬機的Public IP
冒號5000Port
我按Enter
這裡就可以看到我們第二個.NET Core Web Service的網頁
我們這個練習有一個重點
我們只要一臺一核一G的Ninus
就可以把Microsoft ASP.NET Core Web Service把它建置起來
而且這臺Ninus還可以建置MySQL資料庫等應用軟體
不僅可以做到省錢
而且又穩定效能又好
我覺得這是一種不錯的組合
好
那這個影片就介紹到這裡
謝謝收看
下次再見
