CentOS ASP.NET Core Runtime Jexus跨平台布署

.net core 开源和跨平台,能布署到当前主流的Windows,Linux,macOS 系统上。本篇我们将在 Linux 系统上使用 ASP.NET Core Runtime 和 Jexus 布署运行 ASP.NET Core 网站。

Linux 系统选的是 CentOS 7.4 64位

.NET Core 安装的是 ASP.NET Core Runtime 2.1(当时最新),其实也可以安装.NET Core SDK,但没有必要,运行环境 Runtime 就OK了。

Jexus 用的是 5.8(当时最新) 独立版(自带Mono)Jexus 配置简单,性能也高,我们可以达到像在Windows的IIS接管Kestrel进程一样的体验。不像Nginx并没有接管Kestrel 进程,我们需要维护2个进程,增加了复杂度。下面我们开始安装布署。

一、安装 .NET Core

1、添加dotnet产品源

在安装.NET之前,您需要注册Microsoft密钥,注册产品存储库并安装所需的依赖项。这只需要每台机器完成一次,运行以下命令:

sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm

2、安装 .NET Core SDK

更新可用于安装的产品,然后安装.NET Core SDK,运行以下命令:

sudo yum update 
sudo yum install aspnetcore-runtime-2.1

安装完成后,在命令行输入  dotnet --info 出现dotnet版本信息,说明装安成功。

640?wx_fmt=png

详情见微软官方文档(https://www.microsoft.com/net/download/linux-package-manager/centos/runtime-current)。

二、布署 ASP.NET Core 网站

写了个简单的名叫Snai.ReadSettings的ASP.NET Core网站,输出一句 “使用 Jexus 布署的第一个网站” 信息 ,上传到服务器 snai.readsettings01 目录下,用命令行进入到网站目录,输入 nohup dotnet Snai.ReadSettings.dll & 命令,后台运行网站程序。nohup ... & ,为后台运行意思。

输入 curl http://localhost:5000 命令,出现 “使用 Jexus 布署的第一个网站”,说明.NET Core环境和网站安装布署成功。

640?wx_fmt=png

由于我们准备用 Jexus 来做Web服务器托管 ASP.NET Core 程序,所以我们不需要 dotnet Snai.ReadSettings.dll 这种运行方式,我们先杀掉启动运行的网站。

输入  ps -ef | grep Snai 命令,找到 dotnet Snai.ReadSettings.dll 运行的程序,本找到前面的进程ID

640?wx_fmt=png

输入 kill -9 32755 命令,就可以杀掉 dotnet Snai.ReadSettings.dll 运行程序,再 ps -ef | grep Snai 命令,已经找不到杀掉的程序了

640?wx_fmt=png

三、安装 Jexus,修改配置,启动 Jexus 运行网站

1、安装独立版的Jexus,独立版的Jexus自带Mono,直接运行以下命令即可(需要在root身份下执行):

curl https://jexus.org/release/x64/install.sh|sudo sh

安装成功后提示:OK, Jexus has been installed in /usr/jexus.

详情见官方网站(https://jexus.org)。

2、修改 Jexus 配置

输入 cd /usr/jexus/siteconf/ 命令,定位到配置目录,输入 ls 里面有个 default 默认配置,输入 cp default snai.readsettings01 把默认配置复制一份,输入 visnai.readsettings01 修改 snai.readsettings01 配置文件,修改后如下

640?wx_fmt=png

port=80                                      # jexus WEB服务器侦听端口(必填。当然可以是其它端口)
root=/ /root/www/snai.readsettings01           # 网站URL根路径(虚拟目录)和对应的物理路径,两个路径字串之间必须用空格分开(必填。既使这个网站是一个纯粹的反向代理站,也得填)

hosts=*    #OR your.com,*.your.com

重点 AppHost 配置,默认这个可能是注释的,去掉前面#

CmdLine 运行网站的命令

AppRoot 网站的目录

Port 端口号,不是Jexus对外服务的端口号,而是指要转发的Asp.Net Core应用程序的端口号,如果在程序中使用了UsrUrls自定义端口则写UsrUrls中填写的端口(不建议使用UsrUrls自定义端口)在没有使用UsrUrls自定义端口的情况下端口号设置为 0,Jexus会在运行时与Asp.Net Core进行"协商"具体使用的端口号,避免多个应用分配端口的麻烦和冲突的风险。

完成输入

这里简单说下vi编辑文件命令:

最开始输入 a 开始修改输入,按 esc 键完成输入,:wq 保存退出,:q 不保存退出,:q!强制不保存退出

3、启动 Jexus,运行网站

 输入 rm default 删掉默认配置,输入 sh /usr/jexus/jws start 启动 Jexus

 640?wx_fmt=png

Jexus常用命令,start 启动,restart 重启,stop 停止

启动完成后,在浏览器里输入 ip,访问网站,显示 “使用 Jexus 布署的第一个网站”,启动运行成功

640?wx_fmt=png

注:先要确保80端口是通的

4、使用 Jexus 布署运行第二个网站

 将第一个网站的输出改为 “使用 Jexus 布署的第二个网站”,布署到 snai.readsettings02 目录下

定位到 Jexus 的 ,修改后如下

640?wx_fmt=png

保存退出配置修改,输入 Jexus

640?wx_fmt=png

重启完成后,在浏览器里输入 ip:8010,访问网站,显示 “使用 Jexus 布署的第个网站”;再输入 ip ,显示“使用 Jexus 布署的第一个网站”,二个网站启动运行成功

 640?wx_fmt=png

640?wx_fmt=png

注:先要确保8010端口是通的

到此所有布署基本完成,如果要布署第三个,第四个网站也跟第二个类似。

相关文章:

  • 在 Centos7 用Jexus服务器 运行.Net Core 只需几步

  • 使用Jexus服务器运行Asp.Net Core2.0程序

  • Jexus~docker与它产生了暖味

原文地址: https://www.cnblogs.com/alan-lin/p/9817331.html


.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

640?wx_fmt=jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/319328.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

疾病预测和天气分析练习赛

肝了半天再加一个晚上。。 之前学了一小段时间的TensorFlow,但是今天练习赛时发现根本没啥用。。。第一阶段早就做完了,今天做的都是第二阶段,都是啥玩意题 又是偏度,又是求系数,又是拟合KNN,真的把人看吐…

微软智能云三驾马车Azure、Office 365、Dynamics 365齐聚中国

Dynamics 365计划于2019年春落地中国;Windows Server 2019、Office 2019正式商用;SQL Server 2019、Azure Sphere 公开预览;Microsoft Azure 更新数十项云服务与功能,聚焦物联网与边缘。2018年10月25日,上海 —— 2018…

ASP.NET Core SignalR中的流式传输

什么是流式传输?流式传输是这一种以稳定持续流的形式传输数据的技术。流式传输的使用场景有些场景中,服务器返回的数据量较大,等待时间较长,客户端不得不等待服务器返回所有数据后,再进行相应的操作。这时候使用流式传…

独立版Jexus配置SSL,支持https访问

一、申请证书【腾讯免费证书】二、验证DNS,即解析域名。记录类型选择 TXT ,主机记录与证书上的主机记录保持一致,记录值也与证书上的记录值保持一致三、等待DNS验证与CA轮询,轮询成功后即可下载证书四、Jexus用到的是Nginx中的证书…

莫比乌斯反演+例题

参考1 参考2 参考3 问题引入&#xff1a; 入门题 给定N和M和D&#xff0c;求满足1<x<N,1<y<M且gcd(x,y)D的点对(x,y)的个数 1<N,M<1000000 莫比乌斯函数 μ μ(n) 1 , n1 μ(n) (-1)k, np1 * p2 * … * Pk &#xff08;x有奇数个质因子时为-1&#xff…

.net core通过多路复用实现单服务百万级别RPS吞吐

多路复用其实并不是什么新技术&#xff0c;它的作用是在一个通讯连接的基础上可以同时进行多个请求响应处理。对于网络通讯来其实不存在这一说法&#xff0c;因为网络层面只负责数据传输&#xff1b;由于上层应用协议的制订问题&#xff0c;导致了很多传统服务并不能支持多路复…

微软官宣:史上最贵开发工具 75亿美金收购GitHub

微软副总裁红衣主教Scott Gu今天的一封邮件结束了这笔软件历史上最大收购案&#xff0c;微软给全球开发人员的开源代码仓库GitHub投入了75亿美金&#xff0c;确保这一平台的持续健康发展。GitHub为啥愿意被收购&#xff1f;“软件工程这个事情&#xff0c;从来就不是一笔好生意…

C# 中使用面向切面编程(AOP)中实践代码整洁

1. 前言最近在看《架构整洁之道》一书&#xff0c;书中反复提到了面向对象编程的 SOLID 原则&#xff08;在作者的前一本书《代码整洁之道》也是被大力阐释&#xff09;&#xff0c;而面向切面编程&#xff08;Aop&#xff09;作为面向对象编程的有力补充&#xff0c;对实践整洁…

微软对开发者献真爱,全面支持开源,加速研发云升级

全球首秀&#xff1a;支持 Java 和 Python 的 Visual Studio Live Share 协作服务与 IntelliCode 人工智能辅助编程&#xff0c;适用于物联网和智能边缘的自动机器学习能力&#xff08;Auto ML&#xff09;&#xff1b;Visual Studio App Center 提供一站式跨平台移动应用开发体…

Ocelot简易教程(七)之配置文件数据库存储插件源码解析

上篇文章Ocelot简易教程&#xff08;六&#xff09;之重写配置文件存储方式并优化响应数据 给大家分享了如何集成我写的一个Ocelot扩展插件把Ocelot的配置存储到数据库中。并没有对实现原理进行相应的阐述。今天抽空把实现的原理给大家说道说道。明白原理后&#xff0c;大家就可…

ASP.NET Core 2调用Azure云上的PowerBI报表展示

在开发企业应用中&#xff0c;报表功能是当之无愧的重头戏&#xff0c;如何将数据通过合适的报表呈现出来成为每个项目人员必需面临的问题。而找到一款合适的报表往往都需要考率价格、开发、风格、支撑等因素。那么&#xff0c;我在这里给大家介绍一款由微软提供的可视化报表工…

聊聊如何设计千万级吞吐量的.Net Core网络通信!

作者&#xff1a;大石头时间&#xff1a;2018-10-26 晚上 20:00地点&#xff1a;QQ群-1600800内容&#xff1a;网络通信&#xff0c;网络库使用方式网络库设计理念&#xff0c;高性能要点介绍首先看下面这张很具有代表性的图&#xff0c;2018年5月份做的测试。当时单服务器得到…

MonkeyFest2018 微软最有价值专家讲座

MonkeyFest2018微软最有价值专家讲座Monkey Fest 是一个一年一度由全球Microsoft Xamarin跨平台开发者发起的全球性社区活动&#xff0c;主要是推广在云、人工智能、大数据、移动开发等技术。本次活动同时在新加坡&#xff0c;美国&#xff0c;日本&#xff0c;加拿大&#xff…

2020牛客国庆集训派对day2 MATRIX MULTIPLICATION CALCULATOR

MATRIX MULTIPLICATION CALCULATOR 题意&#xff1a; 求两矩阵相乘 题解&#xff1a; 应该都学过把。。。矩阵相乘 矩阵相乘的前提是两个矩阵的列等于另一个矩阵的行 也就是cij∑aik*bkj 原理很简单注意格式&#xff0c;但是我遇到一个玄学问题。。。 就是卡格式了。。我人…

P3911 最小公倍数之和

最小公倍数之和 题目描述&#xff1a; 对于A1&#xff0c;A2…AN&#xff0c;求 ∑i1N∑i1Nlcm(Ai,Aj)\sum_{i1}^{N}\sum_{i1}^{N} lcm(Ai,Aj)∑i1N​∑i1N​lcm(Ai,Aj) 题解&#xff1a; 莫比乌斯反演&#xff0c;直接强推一波 推导过程我也是一知半解&#xff0c;大体如图…

终于明白了 C# 中 Task.Yield 的用途

最近在阅读 .NET Threadpool starvation, and how queuing makes it worse 这篇博文时发现文中代码中的一种 Task 用法之前从未见过&#xff0c;在网上看了一些资料后也是云里雾里不知其解&#xff0c;很是困扰。今天在程序员节的大好日子里终于想通了&#xff0c;于是写下这篇…

2018-2019 ACM-ICPC, Asia Seoul Regional Contest——A - Circuits

A - Circuits 不难发现x坐标根本没用&#xff0c;只需要存储y坐标。 题目所求的两条直线y1ay_1ay1​a&#xff0c;y2b(a<b)y_2b\ (a<b)y2​b (a<b) 我们枚举y2by_2by2​b这条线&#xff0c;这条线一定可以是矩形的边界&#xff0c;于是我们扫描矩形边界差分计算当前…

aspnet core 2.1中使用jwt从原理到精通一

原理jwt对所有语言都是通用的&#xff0c;只要知道秘钥&#xff0c;另一一种语言有可以对jwt的有效性进行判断;jwt的组成&#xff1b;Header部分Base64转化.Payload部分Base64转化.使用HS256方式根据秘钥对前面两部分进行加密后再Base64转化&#xff0c;其中使用的hs256加密是h…

2020牛客国庆集训派对day3 Points

Points 题目描述 Jack and Rose are playing games after working out so many difficult problems. They together drew a “Haizi” tree to show their collaboration. “Haizi” tree is the same as the tree defined in graph theory. Now Jack would like to count t…

.NET Core微服务之路:利用DotNetty实现一个简单的通信过程

上一篇我们已经全面的介绍过《基于gRPC服务发现与服务治理的方案》&#xff0c;我们先复习一下RPC的调用过程&#xff08;笔者会在这一节的几篇文章中反复的强调这个过程调用方案&#xff09;&#xff0c;看下图根据上面图&#xff0c;服务化原理可以分为3步&#xff1a;服务端…