小編給大家分享一下centos 7如何部署dotnetcore+Angular2,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
為企業(yè)提供成都網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)站優(yōu)化、成都全網(wǎng)營(yíng)銷(xiāo)推廣、競(jìng)價(jià)托管、品牌運(yùn)營(yíng)等營(yíng)銷(xiāo)獲客服務(wù)。創(chuàng)新互聯(lián)擁有網(wǎng)絡(luò)營(yíng)銷(xiāo)運(yùn)營(yíng)團(tuán)隊(duì),以豐富的互聯(lián)網(wǎng)營(yíng)銷(xiāo)經(jīng)驗(yàn)助力企業(yè)精準(zhǔn)獲客,真正落地解決中小企業(yè)營(yíng)銷(xiāo)獲客難題,做到“讓獲客更簡(jiǎn)單”。自創(chuàng)立至今,成功用技術(shù)實(shí)力解決了企業(yè)“網(wǎng)站建設(shè)、網(wǎng)絡(luò)品牌塑造、網(wǎng)絡(luò)營(yíng)銷(xiāo)”三大難題,同時(shí)降低了營(yíng)銷(xiāo)成本,提高了有效客戶(hù)轉(zhuǎn)化率,獲得了眾多企業(yè)客戶(hù)的高度認(rèn)可!
項(xiàng)目:aspnetcore+angular2開(kāi)源項(xiàng)目模版
https://www.npmjs.com/package/generator-aspnetcore-angular2
該項(xiàng)目使用webpack 打包Angular2, 內(nèi)網(wǎng)涉及到npm請(qǐng)使用tnpm
(1)安裝dotnetcore
https://www.microsoft.com/net/core#linuxcentos
根據(jù)官方指導(dǎo)進(jìn)行安裝;
官網(wǎng)給出的安裝引導(dǎo)是安裝dotnet core 1.1 ,但是我們項(xiàng)目使用的dotnetcore 1.0.1
所以必須再安裝1.0.1 (備注dotnet core 可以多個(gè)版本并存)
curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?LinkID=827529tar zxf dotnet.tar.gz -C /opt/dotnet
(下載的地址不一樣)
(2)禁用防火墻
systemctl stop firewalld.service #停止firewallsystemctl disable firewalld.service #禁止firewall開(kāi)機(jī)啟動(dòng)
由于是學(xué)習(xí)項(xiàng)目,可以先關(guān)閉防火墻, 生成環(huán)境請(qǐng)配置防火墻iptable
(3)安裝Nginx
yum install nginx systemctl start nginx
使用命令行測(cè)試 curl http://127.0.0.1 能訪問(wèn)到html內(nèi)容則正常
(1)構(gòu)建項(xiàng)目
在windows環(huán)境 構(gòu)建 指引 參考 https://www.npmjs.com/package/generator-aspnetcore-angular2
npm如果訪問(wèn)問(wèn)題可以使用tnpm (http://tnpm.oa.com/)
npm install -g yonpm install -g generator-aspnetcore-angular2
創(chuàng)建項(xiàng)目
選擇高級(jí)模版
取消npm 安裝 使用 tnpm
編譯項(xiàng)目
編譯dotnet ,編譯angular2
dotnet 程序集restore,webpack 打包Angular2 ,本地運(yùn)行項(xiàng)目
有興趣的同學(xué)可以多了解快命令具體做了啥
本地訪問(wèn)
http://localhost:3000/
(1)執(zhí)行發(fā)布腳本
dotnet publish
該命令會(huì)執(zhí)行project.json 的構(gòu)建命令
"scripts": {
"prepublish": [ "npm install", "npm run rebuild-sass", "npm run build" ],
"postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
}
(2)壓縮生成文件
目錄:
\test\src\test\bin\Debug\netcoreapp1.0\publish
壓縮成zip ,稍后上傳到linux進(jìn)行部署
(3)上傳項(xiàng)目
使用ftp工具上傳只centos (我使用的xshell+xftp)
解壓文件: unzip test.zip
(4)啟動(dòng)項(xiàng)目
set ASPNETCORE_ENVIRONMENT=Developmentdotnet test.dll server.urls=http://127.0.0.1:3000/
(備注 此處沒(méi)有使用localhost ,是因?yàn)閕p6 下bind錯(cuò)誤 )
已經(jīng)監(jiān)聽(tīng)了
(5)測(cè)試
發(fā)現(xiàn)上面雖然打開(kāi)了我們的頁(yè)面其實(shí)是爆了一個(gè)錯(cuò)誤
需要修改 Views\Home\Index.cshtml 文件
asp-prerender-webpack-config="webpack.config.js">
Loading...
去掉如下代碼
asp-prerender-module="wwwroot/src/server" asp-prerender-webpack-config="webpack.config.js"
curl 測(cè)試html正常
(6)配置代理
3000端口不適合暴露外網(wǎng), 配置Nginx 反向代理
vim /etc/nginx/nginx.conf
添加 cgi
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
檢查nginx配置
重啟nginx
/usr/sbin/nginx -t service nginx restart#獲取使用reloadnginx -s reload
(7)查看成果
使用外網(wǎng)ip訪問(wèn)站點(diǎn), 直接訪問(wèn)80端口就好了
以上是“centos 7如何部署dotnetcore+Angular2”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!