日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

结合Jexus + Kestrel 部署 asp.net core 生产环境

發(fā)布時(shí)間:2025/4/16 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 结合Jexus + Kestrel 部署 asp.net core 生产环境 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

ASP.NET Core 是微軟的全新的框架。這一框架的目標(biāo) ︰

  • 跨平臺
  • 針對云應(yīng)用優(yōu)化
  • 解除 System.Web 的依賴。 獲得下面三個(gè)方面的優(yōu)勢,你可以把它認(rèn)為是一個(gè)C# 版本的NodeJS:
  • 1) 模塊化實(shí)現(xiàn)

    2) 一切都盡可能的-異步

    3) 依賴關(guān)系注入

    ?????? 微軟已經(jīng)如期發(fā)布了.NET Core R2, 具體參見文章《微軟.NET Core RC2正式發(fā)布,橫跨所有平臺》,現(xiàn)在可以放心的基于.NET Core 構(gòu)建 ASP.NET Core 。那么問題就來了,生產(chǎn)環(huán)境我們?nèi)绾尾渴鹉?#xff1f;

      ASP.NET Core 的運(yùn)行環(huán)境由新開發(fā)的 Kestrel Server 負(fù)責(zé),IIS 退回到 HTTP 的偵聽器的角色,微軟也特別為了這個(gè)需求開發(fā)了 IIS Platform Handler,以處理 HTTP 與運(yùn)行環(huán)境之間的信息轉(zhuǎn)發(fā)工作,微軟官方推薦在Linux服務(wù)器上使用Nginx,Haproxy等代理Kestrel Server,具體參考?http://weblog.west-wind.com/posts/2016/Jun/06/Publishing-and-Running-ASPNET-Core-Applications-with-IIS。

    需要安裝AspNetCoreModule(安裝?ASP.NET Core Server Hosting Bundle?或者.NET Core SDK時(shí)會(huì)裝上),?AspNetCoreModule是一個(gè)native IIS module。Jexus 5.8.1 版本的端口“轉(zhuǎn)發(fā)”功能也類似于IIS 的實(shí)現(xiàn)方式,通過端口轉(zhuǎn)發(fā)方式將Kestrel 保護(hù)起來,又可以高性能運(yùn)行。Jexus的實(shí)現(xiàn)方式上劉冰的博客《為支持ASP.NET5跨平臺,Jexus再添新舉措》進(jìn)行了解釋。

    ??????? 下面我們來介紹下怎么設(shè)置通過Jexus 把a(bǔ)sp.net core 的請求轉(zhuǎn)發(fā)給Kestrel Server來處理。我假設(shè)你已經(jīng)把a(bǔ)sp.net core rc2 的網(wǎng)站準(zhǔn)備好了,我這里演示的就是我的一個(gè)實(shí)驗(yàn)站點(diǎn)“Hello World”, 運(yùn)行在Azure上的Centos 7.0上,服務(wù)端口是127.0.0.1:5000 。

    ?

    在jexus上為之新建一個(gè)網(wǎng)站,在這個(gè)網(wǎng)站的配置文件中加一行: AppHost.Port=5000 通過以上處理,訪問jexus的這個(gè)網(wǎng)站,就會(huì)把請求轉(zhuǎn)發(fā)到對應(yīng)的應(yīng)用上。下面是我的示例dotnetcore,配置文件放在/usr/jexus/siteconf,創(chuàng)建一個(gè)網(wǎng)站叫做dotnetcore:

    port=5001 hosts=*

    AppHost.Port=5000?

    ?

    通過 5001 端口轉(zhuǎn)發(fā)到 5000端口,配置非常簡單,這時(shí)的jexus也是一個(gè)偵聽和數(shù)據(jù)轉(zhuǎn)發(fā)的角色。當(dāng)然,作為服務(wù)器,jexus也是一個(gè)“網(wǎng)站組織者”的角色。因?yàn)槊總€(gè)應(yīng)用程序容器都有不同的端口,而服務(wù)器對外服務(wù)器不可能一個(gè)端口一個(gè)服務(wù)。通過jexus的“組織”,就能讓不同的端口通過域名共同一個(gè)80端口。

    保存后,重啟Jexus服務(wù)器就生效了,就可以通過瀏覽器訪問到asp.net core 網(wǎng)站了。?

    大家可以通過 http://mono.cloudapp.net:5001/? 訪問到我這個(gè)最簡單的Hello World

    如果我把后端的ASP.NET Core應(yīng)用關(guān)掉,會(huì)看到下面的頁面

    總結(jié)

    以上是生活随笔為你收集整理的结合Jexus + Kestrel 部署 asp.net core 生产环境的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。