最近一直在做項(xiàng)目盾似,發(fā)布部署的事情都是同事或者老大做的隘竭,無奈什么事都要自己嘗試經(jīng)歷后才能記住,所以發(fā)布的事情輪到我了定踱,由于是第一次發(fā)布部署項(xiàng)目到一個(gè)新的服務(wù)器環(huán)境,難免會(huì)遇到各種各樣的問題恃鞋,總結(jié)下來崖媚,希望可以幫到需要的人亦歉。
項(xiàng)目框架使用的是vue+.netCore2.2所以發(fā)布的時(shí)候需要前后端分開發(fā)布,遇到的問題是挺多的畅哑,不過對(duì)自己來說也算是一種經(jīng)歷吧肴楷。
一..netCore 項(xiàng)目發(fā)布
1.1 修改環(huán)境配置為線上服務(wù)器的數(shù)據(jù)庫地址
將網(wǎng)站下的三個(gè)json文件的數(shù)據(jù)庫配置修改為線上的數(shù)據(jù)庫環(huán)境
1.2設(shè)置啟動(dòng)項(xiàng),遷移數(shù)據(jù)庫
將項(xiàng)目?jī)?nèi)的Migrator設(shè)置為啟動(dòng)項(xiàng)目荠呐,并修改項(xiàng)目下app.settings.json的連接字符串為服務(wù)器的IP赛蔫,登錄名和密碼為線上數(shù)據(jù)庫的登錄名和密碼
1.3遷移數(shù)據(jù)庫到線上
F5啟動(dòng)項(xiàng)目,會(huì)彈出提示 是否將數(shù)據(jù)庫遷移到線上服務(wù)器地址泥张,輸入 “y”即可將數(shù)據(jù)庫遷移到服務(wù)器
1.4發(fā)布本地項(xiàng)目
重新將啟動(dòng)項(xiàng)目設(shè)置為Middleware.Web.Host,并點(diǎn)擊發(fā)布按鈕呵恢。將項(xiàng)目發(fā)布到自己選定的文件夾
至此,本地.netCore 項(xiàng)目發(fā)布完成
二.Vue前端發(fā)布
2.1 修改IPConfig配置
vue前端發(fā)布之前媚创,需修改IPConfig.js下的remoteUrl和baseUrl渗钉,即前后端的地址配置為服務(wù)器的IP地址。將localhost 替換為 服務(wù)器的IP地址
2.2 發(fā)布前端項(xiàng)目
使用命令行 發(fā)布 vue項(xiàng)目 終端--新建終端 輸入 命令 npm run build 回車之后钞钙,會(huì)在本地項(xiàng)目的目錄下生成一個(gè)dist文件夾
打開本地項(xiàng)目文件夾鳄橘,找到dist文件夾,拷貝出來歇竟。至此本地的vue項(xiàng)目已發(fā)布成功挥唠。
三.部署線上服務(wù)器環(huán)境
3.1發(fā)布網(wǎng)站
將前端發(fā)布的dist文件夾和后端發(fā)布的文件夾一并拷貝到服務(wù)器上抵恋。打開IIS焕议,添加前后端網(wǎng)站
Window+R 啟動(dòng)運(yùn)行 程序 輸入 mstsc 打開遠(yuǎn)程連接 輸入遠(yuǎn)程桌面IP和登錄名密碼。進(jìn)入遠(yuǎn)程桌面連接弧关。
添加網(wǎng)站:網(wǎng)站名稱盅安,物理路徑,修改端口號(hào)為前后端項(xiàng)目對(duì)應(yīng)的端口號(hào)世囊。
這里.netCore網(wǎng)站的應(yīng)用程序池.NET CLR版本要改為 無托管代碼
3.2修改權(quán)限
點(diǎn)擊文件夾 右鍵 屬性--安全設(shè)置 添加Everyone和IIS_IUsr的權(quán)限控制為允許全部
3.3安裝.netCore環(huán)境
安裝.netCore所需要的環(huán)境 .netCoreruntime 和.netCore Hosting 附官網(wǎng)下載地址
https://dotnet.microsoft.com/download/dotnet-core/2.2
下載后安裝
3.4安裝vue環(huán)境
安裝vue所需環(huán)境别瞭,urlrewrite,即url重定向株憾,防止刷新頁面導(dǎo)致的404URL不存在的錯(cuò)誤蝙寨。
四.常見的一些錯(cuò)誤和解決辦法
4.1 500.19
HTTP 錯(cuò)誤 500.19 - Internal Server Error 無法訪問請(qǐng)求的頁面,因?yàn)樵擁摰南嚓P(guān)配置數(shù)據(jù)無效嗤瞎。
原因:環(huán)境未安裝完畢
解決辦法:重啟IIS墙歪,確保前后端所需的環(huán)境都已安裝完畢。
4.2 依賴錯(cuò)誤
windows系統(tǒng)中Dotnet core runtime 安裝后贝奇,無法啟動(dòng)次程序虹菲,因?yàn)橛?jì)算機(jī)中丟失api-ms-win-crt-runtime-l1-1-0.dll的解決方法
原因:dotnet core runtime依賴vc++2015,如果系統(tǒng)未安裝vc++2015則會(huì)報(bào)上面的錯(cuò)誤
解決辦法:先下載安裝vc++2015再安裝dotnet core runtime
4.3 502.5 進(jìn)程失敗
原因:后臺(tái)數(shù)據(jù)庫配置錯(cuò)誤或者環(huán)境未安裝完畢掉瞳。
解決辦法:
修改.netCore項(xiàng)目下web.config stdoutLogEnabled=”True”毕源,然后手動(dòng)新建logs文件夾浪漠,重新啟動(dòng)網(wǎng)站,會(huì)在logs文件夾下生成一個(gè)stdoutLog的txt文件霎褐,打開即可看到詳情的錯(cuò)誤信息址愿,對(duì)照修改為正確的配置即可。
到此瘩欺,從本地發(fā)布到一臺(tái)新服務(wù)器的過程就結(jié)束了必盖。不得不感嘆,感覺還是擼代碼好點(diǎn)俱饿,哈哈歌粥。
自己經(jīng)歷過,才能對(duì)過程更加深刻拍埠。所以有些事只有自己親自動(dòng)手去嘗試失驶,會(huì)記得更牢固,以后遇到同樣的問題就能解決了枣购。