在 Centos7 用Jexus服务器 运行.Net Core 只需几部
1.安装 .Net SDK 不需要按照 .net core runtime,sdk 依赖于运行时会自动安装
第一步 添加dotnet源

sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
第二步 安装 .Net Core
可能由于网络原因,下载要耐心等待一段时间,下载完成后执行下面命令。
sudo yum update
sudo yum install dotnet-sdk-2.1
(注意:centos6下gcc版本会提示过低,安装失败。解决方案:1.安装centos7(简单方便,帮瓦工之类的推荐);2.更新编译gcc(请自行搜索解决))
第三步 创建 Hello World测试程序
1 dotnet new console -o demo
2 cd demo
3 dotnet run
2.写一个ASP.NET Core应用(官网链接)
## 创建 razor web应用
1 cd /home
2 ///在当前目录下创建一个Web应用
3 dotnet new razor -o aspnetcoreapp
4 /// 运行应用程序
5 cd aspnetcoreapp
6 dotnet run
(ps:可能会Warn:“Unable to bind to http://localhost:5000 on the IPv6 loopback interface: 'Error -99 EADDRNOTAVAIL address not available'”, 具体参考 https://github.com/aspnet/KestrelHttpServer/issues/2117。验证完后,退出当前应用,继续下面的内容。)
我们的Web应用程序默认运行在5000端口,通常我们对外提供的Web都在80,443端口。Windows上我会使用IIS来宿主ASP.NET Core,在Linux下可以用Nginx,Apache,Jexus 等,[微软的文档都有详细说明]
## 安装 Jexus
上面我们已经完成.NET Core环境的安装,通常我们在Linux部署ASP.NET Core应用,按照微软的官方文档,我们通常需要Nginx 搭配 Systemd, Nginx并没有接管Kestrel 进程,我们需要维护2个进程,增加了复杂度。如果你把asp.net core部署于windows上,我们可以用IIS来接管Kestrel进程,我们在Linux上也可以用Jexus来达到IIS一样的体验。
直接安装独立版的Jexus,独立版的Jexus自带Mono,使用的是Mono的稳定版本4.8。安装 Jexus 直接使用一下命令即可(需要在root身份下执行):
安装独立版Jexus
curl https://jexus.org/release/x64/install.sh|sh
安装成功后会提示:OK, Jexus has been installed in /usr/jexus.
## 配置Jexus运行asp.net core
把asp.net core 应用部署到Jexus
mkdir -p /var/www/aspnetcore
cd /var/dotnet/aspnetcoreapp/
dotnet publish -o /var/www/aspnetcore
然后使用下面的命令测试发布过后的程序是否运行正常
dotnet /var/www/aspnetcore/aspnetcoreapp.dl
## 配置jexus 网站:
/// 1、切换到Jexus配置文件目录
cd /usr/jexus/siteconf
/// 2、复制默认的配置文件为aspnetcore
cp default aspnetcore
vi aspnetcore

######################
# Web Site: aspnetcore
########################################
port=80
root=/ /var/www/aspnetcore
hosts= * #OR your.com,*.your.com AppHost={CmdLine=dotnet /var/www/aspnetcore/aspnetcoreapp.dll;AppRoot=/var/www/aspnetcore/;Port=0}

配置的重点就在于AppHost中,需要注意的是在AppHost中的port(端口号)不代表Jexus对外服务的port(端口号),而是指要转发的 Asp.Net Core应用程序的端口号,如果在程序中使用了UsrUrls自定义端口则使用UsrUrls中填写的端口(不建议使用UsrUrls自定义端口),在没有使用UsrUrls自定义端口的情况下端口号设置为 0,Jexus会在运行时与Asp.Net Core进行"协商"具体使用的端口号,避免多个应用分配,端口的麻烦和冲突的风险。 简单来说就是会将外部的请求转发到这个端口,由这个端口对应的Asp.Net Core应用程序对请求进行处理。

/// 由于我们的实验机子上上面的站点没有设置主机头,我们要把默认的default删除了
rm -rf /usr/jexus/siteconf/default /// 如果已启动 Jexus:
sh /usr/jexus/jws restart /// 如果未启动 Jexus:
sh /usr/jexus/jws start

在 Centos7 用Jexus服务器 运行.Net Core 只需几部的更多相关文章
- 使用Jexus服务器运行Asp.Net Core2.0程序
前段时间写了篇关于.net core跨平台部署的文章.https://my.oschina.net/lichaoqiang/blog/1861977 主要讲述了,利用Nginx+CentOS+Supe ...
- Centos7安装jexus,部署asp.net core,asp.net mvc
什么是Jexus 官网解释:https://www.jexus.org/ Jexus是一款Linux平台上的高性能WEB服务器和负载均衡网关,Jexus Web Service,简称JWS,以支持AS ...
- .NET跨平台之运行与Linux上的Jexus服务器
谈及.NET跨平台,已经不是什么稀奇的事儿.今天我们就以Jexus服务器的部署为例.简单示范下.在这里,我用VMWare虚拟机来搭建Linux运行环境. Linux,我们选择CentOS7.大家可以前 ...
- 查看服务器运行多少个ASP.NET Core程序
有时候,我们会想知道某台机器上面跑了什么程序. 当程序部署到IIS上面的时候,我们只需要打开IIS一看,就知道有多少个站点在运行了. 当我们在CentOS上面部署的时候,就没那么的直观了. 当然对于熟 ...
- CentOS7 + mono +Jexus 环境的搭建
CentOS7的安装和配置 1,从http://www.centos.org/下载CentOS7的镜像,并在VMWare中创建该镜像的虚拟机,为方便操作,把虚拟机的网络连接设置为桥接模式:在安装过程中 ...
- Jexus针对Asp.net core应用程序的六大不可替代的优势
1,配置简便:在Jexus上,Asp.net core只是Jexus上的一个"站点",因此,只需在Jexus上配置这个站点就行,无需其它配置: 2,操作统一:Jexus停止这个站点 ...
- ubuntu16.4下用jexus部署asp.net core rtm
上篇文章介绍了下用vs发布部署到iis环境,今天说下ubuntu 下部署asp.net core,不需要安装.net core sdk,自带运行时方式部署,利用jexus服务器转发请求到asp.net ...
- Linux使用Jexus托管Asp.Net Core应用程序
第一步 安装.Net Core环境 安装 dotnet 环境参见官方网站 https://www.microsoft.com/net/core. 选择对应的系统版本进行安装.安装完成过后 输入命令查看 ...
- 在CentOS上使用Jexus托管运行 ZKEACMS
ZKEACMS Core 是基于 .net core 开发的,可以在 windows, linux, mac 上跨平台运行,接下来我们来看看如何在 CentOS 上使用Jexus托管运行 ZKEACM ...
随机推荐
- 2016424王启元 Exp6信息搜集与漏洞扫描
一.原理与实践说明 1.实践内容 本实践的目标是掌握信息搜集的最基础技能.具体有: 1.各种搜索技巧的应用 2.DNS IP注册信息的查询 3.基本的扫描技术:主机发现.端口扫描.OS及服务版本探测. ...
- 马克飞象markdown用法
目录 markdown用法 ### 根据标题生成目录 `` 快捷键 ctrl+k 代码区域 ctrl+2 二级标题 ctrl+b/i 粗体/斜体 ctrl+l 插入链接 ctrl+g 插入图片 ctr ...
- OAuth2.0认证和授权机制讲解
第一章.OAuth2.0 介绍 OAuth认证 OAuth认证是为了做到第三方应用在未获取到用户敏感信息(如:账号密码.用户PIN等)的情况下,能让用户授权予他来访问开放平台(主要访问平台中的资源服务 ...
- JDK(六)JDK1.8源码分析【集合】LinkedHashMap
本文转载自joemsu,原文连接 [JDK1.8]JDK1.8集合源码阅读——LinkedHashMap LinkedHashMap的数据结构 可以从上图中看到,LinkedHashMap数据结构相比 ...
- python中matplotlib总结
该总结只是为了记录自己学习过程中容易遗忘的问题,权当一个记事本使用. 1:散点图 plt.scatter()函数的原型 scatter(x, y, s=s, c=c, marker=marker, c ...
- Boost noncopyable实现禁止拷贝的类
在C++中定义一个类,如果不明确定义拷贝构造函数和拷贝赋值操作符,编译期会为我们自动生成这两个函数.但是我们有时又希望禁止拷贝类的实例,这时可以私有化拷贝构造函数和拷贝赋值操作符即可. class d ...
- react+webpack搭建项目
一.环境准备 ①node ②npm 二.开始搭建 ①使用npm安装create-react-app工具,在cmd命令行中输入: npm install -g create-react-app ②使用命 ...
- jquery 查找已经选中的下拉框/select
$("select[name='select_name']").find('option:selected').text(); $('#select_name option:sel ...
- Java基础之File类的使用
Java基础之File类的使用 1.File类的构造方法和常用方法 2.对File中listFile(FileNameFilter name)学习 3.与File文件类相关的实现 File类的构造方法 ...
- 小程序中 function (res)的理解
刚看到小程序里面一段代码 success: function (res) { console.log('搜索结果:'); console.log(res); wx.hideToast(); if (r ...