知識(shí)
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們在追求其視覺表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營銷的便利,運(yùn)營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏壧峁┍憬莸闹С郑?
在 阿里云上 Ubuntu(Linux)上 部署 .net core web 項(xiàng)目
發(fā)表時(shí)間:2020-10-19
發(fā)布人:葵宇科技
瀏覽次數(shù):46
我在阿里云購買的 主機(jī)
安裝的是 Ubuntu (烏班圖) 是 Linux 的一種 ,以下簡稱 Utuntu
用到的工具:
- vs 2019 宇宙第一IDE
- xshell 遠(yuǎn)程 linux 工具
目錄
1、準(zhǔn)備一個(gè) core web 項(xiàng)目
?2、直接在 Ubuntu 上部署
?3、在 Ubuntu 上 的 docker 上運(yùn)行 .net core web 項(xiàng)目
1、準(zhǔn)備一個(gè) core web 項(xiàng)目
這個(gè)項(xiàng)目創(chuàng)建出來用docker 時(shí)無法調(diào)試運(yùn)行的 ,vs 2019 會(huì)提示下載 Linux 鏡像來調(diào)試這個(gè)項(xiàng)目 但是這個(gè)下載過程多半是卡死的
這里先不管這個(gè)問題先把我們要的文件發(fā)布出來先
先修改一下運(yùn)行的端口 改下 代碼:在 Program 類中添加如下內(nèi)容設(shè)置 占用端口
webBuilder.UseUrls("http://*:5210;http://*:5211;http://*:80");
設(shè)置下 Dockerfile 文件為始終復(fù)制
然后發(fā)布文件:
點(diǎn)擊編輯 確保 如下的 框架依賴 項(xiàng)
發(fā)布完成后在 pulish 文件夾內(nèi)修改 Dockerfile 因?yàn)?之前的內(nèi)容是為在 windows 上做調(diào)試 如果上 Docker 要?jiǎng)h減很多內(nèi)容
#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
WORKDIR /app
EXPOSE 5210
EXPOSE 5211
EXPOSE 80
COPY . .
ENTRYPOINT ["dotnet", "你的項(xiàng)目名稱.dll"]
然后打包為 publish.zip
需要 拷貝 到 Utuntu 去 解壓
所以需要在 Ubuntu 上安裝 壓縮軟件 借用下別人的教程 安裝 Unzip
Ubuntu unzip 安裝
然后 要把本地 windows 10 的 publish.zip 文件 copy 到 Ubuntu 也需要在在 ubuntu 安裝 工具
XShell本地上傳文件到Ubuntu上及從Ubuntu下載文件到本地
安裝完上面的 軟件后 我就 把 publish.zip 壓縮文件上傳
可以看到 Ubuntu 當(dāng)前的 目錄 是 ~/project/publish
然后輸入 解壓命令 unzip publish.zip 解壓到當(dāng)前文件夾
2、直接在 Ubuntu 上部署
我的 云主機(jī) 系統(tǒng)為 ubuntu 20.04 是長支持版本
然后按照官網(wǎng)的實(shí)例安裝需要的
https://docs.microsoft.com/zh-cn/dotnet/core/install/linux-ubuntu
1、將 Microsoft 包簽名密鑰添加到受信任密鑰列表,并添加包存儲(chǔ)庫。
wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb
2、安裝 .net core sdk
sudo apt-get update; sudo apt-get install -y apt-transport-https && sudo apt-get update && sudo apt-get install -y dotnet-sdk-3.1
3、安裝 .net core 運(yùn)行時(shí)
sudo apt-get update; sudo apt-get install -y apt-transport-https && sudo apt-get update && sudo apt-get install -y aspnetcore-runtime-3.1
完事后 dotnet --version 看看 結(jié)果:我這邊用了 遠(yuǎn)程 linux 的遠(yuǎn)程工具 Xshell
這個(gè)軟件很好找就不多說了
ok notnet 環(huán)境已經(jīng)ok 了
然后 進(jìn)入 publish 文件夾內(nèi) 運(yùn)行 命令 dotnet coreweb.dll
coreweb 是我的項(xiàng)目名稱,需要按實(shí)際更改
dotnet 你的項(xiàng)目名稱.dll
然后 結(jié)果如下就是正常啟動(dòng)
現(xiàn)在這個(gè)窗口就運(yùn)行上 我們的項(xiàng)目 了 有提示 ctrl +c 推出 但是在它運(yùn)行的同時(shí)我們還要輸入命令
可以再新建一個(gè)窗口來輸入命令
測試下 ubuntu 本地能不能訪問這個(gè)網(wǎng)站 輸入
curl http:/127.0.0.1:80
或者
curl http:/127.0.0.1:5210
或者
curl http:/127.0.0.1:5211
看到 返回了 項(xiàng)目 首頁 歡迎 的 html 就說明本地沒問題
然后在 win 10 用瀏覽器 訪問下:Ubuntu 的 公網(wǎng)IP +端口 發(fā)現(xiàn)訪問不了
這個(gè)時(shí)候就需要去阿里云 暴露一下 5211 端口
然后成功:
3、在 Ubuntu 上 的 docker 上運(yùn)行 .net core web 項(xiàng)目
先把上面 2 運(yùn)行的實(shí)例關(guān)掉 不然 端口占用問題可能會(huì)導(dǎo)致docker的container 啟動(dòng)不了
// 查看當(dāng)前進(jìn)程
ps
// 殺掉指定進(jìn)程
kill %pid
在 Ubuntu 上 安裝 docker :
curl -sSL https://get.daocloud.io/docker | sh
docker --version 測試下安裝成功沒
然后去 publish 文件夾下 執(zhí)行 打包鏡像 命令 ,這后面的 點(diǎn) 很重要
docker build -t corewebimage .
有了鏡像就可以運(yùn)行實(shí)例了: 這里的 80 : 80 是
Ubuntu 的 80 指向 container 的 80 端口 這個(gè)指向是必須的 ,
簡單理解就是每個(gè) container 都是一個(gè)小小虛擬機(jī) 需要指明 宿主機(jī)映射端口 否者我們無法訪問到我們的 .net core 項(xiàng)目
docker run -d -p 80:80 corewebimage
看到 container 運(yùn)行起來了
現(xiàn)在 就可以 用 curl 查看 下 內(nèi)網(wǎng)能不能訪問 :可以看到內(nèi)網(wǎng)沒問題 返回了 首頁的 html
在 win 10 用瀏覽器試試 公網(wǎng)IP : 也可以訪問
相關(guān)案例查看更多
相關(guān)閱讀
- 小程序被攻擊
- 云南花農(nóng)小程序
- 網(wǎng)絡(luò)公司聯(lián)系方式
- 昆明小程序定制開發(fā)
- 報(bào)廢車回收管理系統(tǒng)
- 怎么做網(wǎng)站
- 云南網(wǎng)站建設(shè)服務(wù)
- 北京小程序制作
- 云南省住房建設(shè)廳網(wǎng)站
- 小程序技術(shù)
- web開發(fā)技術(shù)
- 商標(biāo)注冊
- 云南軟件開發(fā)
- 網(wǎng)站建設(shè)電話
- 汽車報(bào)廢回收軟件
- 云南網(wǎng)站建設(shè)快速優(yōu)化
- 軟件定制
- 前端
- 云南軟件設(shè)計(jì)
- 生成海報(bào)
- 云南網(wǎng)站建設(shè)首選公司
- 云南網(wǎng)站建設(shè)一條龍
- 汽車報(bào)廢系統(tǒng)
- 人人商城
- 云南網(wǎng)站建設(shè)報(bào)價(jià)
- 大理小程序開發(fā)
- 云南網(wǎng)站建設(shè)公司排名
- 微信分銷
- 江蘇小程序開發(fā)
- 網(wǎng)絡(luò)公司