欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

在Linux+Jexus中發(fā)布和部署Asp.Net?Core

 更新時(shí)間:2021年12月23日 11:09:27   作者:savorboard  
這篇文章介紹了在Linux+Jexus中發(fā)布和部署Asp.Net?Core,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

安裝 Linux DotNet 環(huán)境

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

新建一個(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 restoredotnet run 命令來(lái)測(cè)試一下我們的應(yīng)用程序。

我們打開(kāi)瀏覽器輸入 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、linxu,mac 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/

安裝 Jexus

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

cd /tmp

wget linuxdot.net/down/jexus-5.8.1-x64.tar.gz

tar -zxvf jexus-5.8.1-x64.tar.gz

sudo mv jexus /usr

sudo rm -rf /tmp/jexus*

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

cd /usr/jexus

sudo ./jws start

打開(kāi)瀏覽器輸入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)處理。

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

按照上述方式安裝完 Jexus 之后,配置文件路徑在 /usr/jexus/siteconf/default 文件中。

切換工作目錄到/usr/jexus/siteconf/,使用sudo gedit default命令打開(kāi) 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)重啟一下。

然后我們打開(kā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的命令行窗口必須開(kāi)啟。
  • 2、可以使用下面的命令來(lái)讓一個(gè)命令行運(yùn)行在后臺(tái)進(jìn)程中。
nohup dotnet HelloWebApp.dll &

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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論