日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > linux >内容正文

linux

Asp.Net Core 发布和部署(Linux + Jexus )

發(fā)布時(shí)間:2023/12/4 linux 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Asp.Net Core 发布和部署(Linux + Jexus ) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前言

在上篇文章中,主要介紹了 Dotnet Core Run 命令,這篇文章主要是講解如何在 asp.net core 中對(duì)我們的已經(jīng)完成的程序進(jìn)行發(fā)布和部署。

有關(guān)如何使用 Nginx 進(jìn)行部署,請(qǐng)參見(jiàn)本人的另一篇文章:
http://www.cnblogs.com/savorboard/p/dotnet-core-publish-nginx.html

目錄

  • 安裝 Liunx DotNet 環(huán)境

  • 新建一個(gè) Web 項(xiàng)目,并發(fā)布

  • 使用 Jexus 進(jìn)行反向代理

安裝 Linux DotNet 環(huán)境

安裝 dotnet 環(huán)境參見(jiàn)官方網(wǎng)站?https://www.microsoft.com/net/core#ubuntu。

新建一個(gè) WebApp 項(xiàng)目,并發(fā)布

在 Asp.Net Core 項(xiàng)目中,我們使用?dotnet new -t WebApp?命令和創(chuàng)建一個(gè)新的空的 Web 應(yīng)用程序,然后使用dotnet resotre還原 Nuget。

主要是用以下幾個(gè)命令:

mkdir HelloWebApp?這個(gè)命令是創(chuàng)建一個(gè)名為 HelloWebApp 的文件夾。

dotnet new -t Web?這個(gè)命令是使用 Web 模板來(lái)新建一個(gè) WebApp 的 Mvc 應(yīng)用程序。

新建了應(yīng)用程序之后,使用dotnet restore?和?dotnet run?命令來(lái)測(cè)試一下我們的應(yīng)用程序。
我們打開瀏覽器輸入?http://localhost:5000,來(lái)看一下效果。

可以看到已經(jīng)成功運(yùn)行了。

如果發(fā)布應(yīng)用程序,我們需要使用?dotnet publish命令,通過(guò)使用?--help?參數(shù)可以看到一些可以使用的命令參數(shù)。

?-f|--framework <FRAMEWORK> ? ? ? ? ?Target framework to compile for-r|--runtime <RUNTIME_IDENTIFIER> ? Target runtime to publish for-b|--build-base-path <OUTPUT_DIR> ? Directory in which to place temporary outputs-o|--output <OUTPUT_PATH> ? ? ? ? ? Path in which to publish the app--version-suffix <VERSION_SUFFIX> ? Defines what `*` should be replaced with in version field in project.json-c|--configuration <CONFIGURATION> ?Configuration under which to build--native-subdirectory ? ? ? ? ? ? ? Temporary mechanism to include subdirectories from native assets of dependency packages in output--no-build ? ? ? ? ? ? ? ? ? ? ? ? ?Do not build projects before publishing

我們運(yùn)行dotnet publish -o ~/WorkSpace/publish?發(fā)布到 publish 文件夾,當(dāng)看到Published 1/1 projects successfully的時(shí)候,說(shuō)明已經(jīng)發(fā)布成功了。

PS: 如果提示沒(méi)有安裝 NPM 工具,運(yùn)行sudo install apt-get npm -g,先安裝 NPM。
如果提示沒(méi)有 bower 管理工具,使用?sudo npm install bower -g安裝 bower。
如果提示沒(méi)有 gulp 構(gòu)建工具,使用?sudo npm install gulp -g安裝 gulp。
如安裝過(guò)程中無(wú)響應(yīng),請(qǐng)科學(xué)上網(wǎng)后再安裝。

發(fā)布之后 publish 文件夾里面的子文件夾有必要說(shuō)明一下。

appsettiong.json ?應(yīng)用程序的配置文件refs 應(yīng)用程序引用的.net fx系統(tǒng)程序集runtimes 運(yùn)行時(shí)環(huán)境,可以看到里面的文件夾包含 win7、linxumac os 等,說(shuō)明我們這個(gè)應(yīng)用程序是跨平臺(tái)的。views 這個(gè)文件夾存放的就是我們的 mvc 的視圖文件。wwwroot 文件夾,存放的是前端使用的 js 庫(kù),css 樣式表,和圖片等。

然后使用dotnet HelloWebApp.dll測(cè)試發(fā)布過(guò)后的程序是否運(yùn)行正常。

使用 Jexus 進(jìn)行反向代理

  • Jexus 介紹

  • 安裝 Jexus

  • 配置 Jexus

  • 注意事項(xiàng)

Jexus 介紹

Jexus 是一款國(guó)產(chǎn)的,運(yùn)行在 Linux 上的 Web 服務(wù)器。 具體介紹我就直接放鏈接了。

官網(wǎng):?http://www.jexus.org/
張善友的介紹:http://www.cnblogs.com/shanyou/archive/2011/01/23/Jexus.html

安裝 Jexus

在命令行窗口中,使用以下命令來(lái)安裝一個(gè)綠色版的 jexus(無(wú)需另行安裝 Mono)。

cd /tmpwget linuxdot.net/down/jexus-5.8.1-x64.tar.gztar -zxvf jexus-5.8.1-x64.tar.gzsudo mv jexus /usrsudo rm -rf /tmp/jexus*

使用以下命令來(lái)啟動(dòng) jexus

cd /usr/jexussudo ./jws start

打開瀏覽器輸入http://localhost?如果看到下面這個(gè)異常界面,代表運(yùn)行成功了。

配置 Jexus

有兩種方式可以在 Jexus 上訪問(wèn)我們的 Web 應(yīng)用程序。 即端口轉(zhuǎn)發(fā)和反向代理的方式,下面是兩種方式的配置方法。

1、** 端口轉(zhuǎn)發(fā) **

端口轉(zhuǎn)發(fā),即把 Jexus 配置的端口直接轉(zhuǎn)發(fā)到我們的 asp.net 程序中,即轉(zhuǎn)發(fā)到 Kestrel 去處理。

2、** 反向代理 **

反向代理,即把我們應(yīng)用程序的一部分路徑交給 Jexus 去處理,比如靜態(tài)文件,圖片等。另外一部分動(dòng)態(tài)的交給Kertrel 來(lái)處理。這樣可以降低我們的后端 Kertrel 的壓力。

還有一個(gè)很重要的優(yōu)勢(shì)就是 Web 中的緩存,會(huì)在代理服務(wù)器這一步來(lái)處理。大家看下面這個(gè)圖:

至于怎么樣添加代理服務(wù)器可以識(shí)別到的緩存,可以關(guān)注我后面發(fā)表的博客文章。

按照上述方式安裝完 Jexus 之后,配置文件路徑在?/usr/jexus/siteconf/default?文件中。
切換工作目錄到/usr/jexus/siteconf/,使用sudo gedit default命令打開 default 文件。
修改內(nèi)容為如下:

port=80# Jexus 默認(rèn)訪問(wèn)的工作目錄root=/ /home/yxd/Workspace/publish # 下面這種方式是反向代理。我設(shè)置的路徑是"/"即根目錄,大家可以根據(jù)# 需要設(shè)置為非靜態(tài)的路徑reproxy=/ http://localhost:5000/# 下面這種方式是使用端口轉(zhuǎn)發(fā)AppHost.Port=5000# 注意: 以上兩種方式配置一種即可。

保存并退出。 然后使用sudo ./jws restart命令來(lái)重啟一下。

然后我們打開瀏覽器 輸入http://localhost,發(fā)現(xiàn)此時(shí)已經(jīng)通過(guò) jexus 來(lái)訪問(wèn)我們的站點(diǎn)了。

注意事項(xiàng)

1、在使用 jexus 代理訪問(wèn)站點(diǎn)的時(shí)候, 保持命令dotnet run HelloWebApp.dll的命令行窗口必須開啟。

2、可以使用下面的命令來(lái)讓一個(gè)命令行運(yùn)行在后臺(tái)進(jìn)程中。

nohup dotnet HelloWebApp.dll &

這個(gè)時(shí)候你就可以把命令行窗口關(guān)掉了。

下一篇將講解如何在 Linux 中使用 Docker 進(jìn)行部署,以及如何脫離命令行宿主給我們的dotnet程序創(chuàng)建一個(gè)守護(hù)進(jìn)程,及宕機(jī)失敗自動(dòng)重啟等等。。。 請(qǐng)持續(xù)關(guān)注。

相關(guān)文章:

  • ASP.NET Core 1.0 入門——了解一個(gè)空項(xiàng)目

  • ASP.NET Core 1.0 部署 HTTPS (.NET Framework 4.5.1)

  • .NET Core 1.0、ASP.NET Core 1.0和EF Core 1.0簡(jiǎn)介

  • 云服務(wù)器下ASP.NET Core 1.0環(huán)境搭建(包含mono與coreclr)

  • 使用VS Code開發(fā)ASP.NET Core 應(yīng)用程序

  • dotnet run是如何啟動(dòng)asp.net core站點(diǎn)的

  • ASP.NET Core提供模塊化Middleware組件

  • “dotnet restore"和"dotnet run"都做了些什么?

  • 探秘 dotnet run 如何運(yùn)行 .NET Core 應(yīng)用程序

  • .NET Portability Analyzer 已開源

  • ASP.NET Core的配置(1):讀取配置信息

  • ASP.NET Core的配置(2):配置模型詳解

  • .NET Core 1.0 RC2 歷險(xiǎn)之旅

  • 使用VS Code開發(fā) 調(diào)試.NET Core 應(yīng)用程序

  • 讓我們Core在一起:ASP.NET Core & .NET Core

  • .NET Core VS Code 環(huán)境配置

  • 官方博客明確了 .NET Core RC2/RTM 時(shí)間表

  • .NET Core全新的配置管理[共9篇]

  • 利用記事本創(chuàng)建一個(gè)ASP.NET Core RC2 MVC應(yīng)用

  • 微軟.NET 正式劈腿成功,橫跨所有平臺(tái)

  • .NET Core 1.0 CentOS7 嘗試

  • 解讀發(fā)布:.NET Core RC2 and .NET Core SDK Preview 1

  • [.NET Core].NET Core R2安裝及示例教程

  • ASP.NET Core 開發(fā)-中間件(Middleware)

  • 結(jié)合Jexus + Kestrel 部署 asp.net core 生產(chǎn)環(huán)境

  • 通過(guò)Jexus 部署 dotnetcore版本MusicStore 示例程序

  • ASP.NET Core 中文文檔 第一章 入門

  • 用 Visual Studio Code 在 macOS 上創(chuàng)建首個(gè) ASP.NET Core 應(yīng)用程序

  • 用 Visual Studio 和 ASP.NET Core MVC 創(chuàng)建首個(gè) Web API

  • 用 Visual Studio 發(fā)布一個(gè) Azure 云 Web 應(yīng)用程序

  • ASP.NET Core MVC 與 Visual Studio 入門

  • 第二章指南(4.2)添加 Controller

  • DotNet Core 介紹

  • asp.net core 中間件詳解及項(xiàng)目實(shí)戰(zhàn)

  • 教你實(shí)踐ASP.NET Core Authorization(免看文檔教程)

  • asp.net core 使用 Redis 和 Protobuf 進(jìn)行 Session 緩存

  • asp.net core 中間件詳解及項(xiàng)目實(shí)戰(zhàn)

  • 第二章 指南(4.3)添加 View

  • dotnet core開發(fā)體驗(yàn)之開始MVC

  • dotnet core 開發(fā)體驗(yàn)之Routing

  • 聊聊ASP.NET Core默認(rèn)提供的這個(gè)跨平臺(tái)的服務(wù)器——KestrelServer

  • 簡(jiǎn)析.NET Core 以及與 .NET Framework的關(guān)系

  • .NET Core 使用Dapper 操作MySQL

  • 使用 CommandLineApplication 類創(chuàng)建專業(yè)的控制臺(tái)程序

  • 簡(jiǎn)析 .NET Core 構(gòu)成體系

  • .NET Core也可以使用MongoDB了

  • .NET Core & ASP.NET Core 1.0在Redhat峰會(huì)上正式發(fā)布

  • .NET Core:面向未來(lái)的開源跨平臺(tái)開發(fā)技術(shù)

  • 微軟說(shuō)它深愛(ài)著Linux,現(xiàn)在它用行動(dòng)證明了

  • 移植.NET Core計(jì)劃,整合各平臺(tái)變得更簡(jiǎn)單了!

  • ASP.NET Core 介紹

  • 通過(guò)幾個(gè)Hello World感受.NET Core全新的開發(fā)體驗(yàn)

  • ASP.NET Core 運(yùn)行原理剖析1:初始化WebApp模版并運(yùn)行

  • .NET Core系列 : 1、.NET Core 環(huán)境搭建和命令行CLI入門


原文地址:http://www.cnblogs.com/savorboard/p/dot-net-linux-jexus.html


.NET社區(qū)新聞,深度好文,微信中搜索dotNET跨平臺(tái)或掃描二維碼關(guān)注


贊賞

人贊賞

總結(jié)

以上是生活随笔為你收集整理的Asp.Net Core 发布和部署(Linux + Jexus )的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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