在Linux环境下使用Jexus部署ASP.NET Core
关于如何在Linux中添加ASP.NET Core运行时环境请参考我的上一篇文章,本文章将不再做赘述。
本文章运行环境如下:
(1) 安装独立版Jexus
本教程安装的是独立版的Jexus,独立版的Jexus自带Mono,使用的是Mono的稳定版本4.8。安装 Jexus 直接使用一下命令即可(需要在root身份下执行):
curl https://jexus.org/release/x64/install.sh|sh
安装成功后会提示:OK, Jexus has been installed in /usr/jexus.
(2)创建一个ASP.NET Core应用
我们按照微软官方的ASP.NET Core文档新建一个ASP.NET Core MVC应用,输入如下命令
dotnet new mvc -o aspnetcoreapp // 在当前目录下创建一个MVC Web应用
注意:此处可能会抛出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
我尝试使用 ASPNETCORE_URLS="http://*:5000" dotnet run 替代 dotnet run 命令在特定的情况下可以解决此类问题

完美解决方案:在Program.cs类 BuildWebHost方法中 添加指定的端口

然后执行 dotnet run 命令即可完美解决此问题。

(3)生成ASP.NET Core部署文件
我们将部署文件存放在 /var/www/aspnetcore 目录下
命令如下:
mkdir -p /var/www/aspnetcore //新建目录
cd /home/aspnetcoreapp/ //定位到项目工程下
dotnet publish -o /var/www/aspnetcore //将项目工程发布在指定目录下
发布后目录结构如下:

因为这是一个空的项目工程,所以我们将项目工程中的视图部分复制到部署目录中
我们来测试一下,部署工程是否运行正常
执行如下命令
dotnet /var/www/aspnetcore/aspnetcoreapp.dll
测试正常,至此,我们已完成部署结构,稍后我们将在Jexus上部署运行此工程。
(4)在Jexus 上部署 ASP.NET Core项目工程
Jexus 中 一个配置文件对应一个网站,因为我们需要新建一个ASP.NET Core网站的配置文件
运行如下命令:
cd /usr/jexus/siteconf //定位到Jexus网站配置文件目录
cp default aspnetcore //复制Jexus 提供的默认配置模版(这年头谁手写?)
vi aspnetcore //打开我们新建的网站配置文件,然后修改如下内容(这是命令行修改,比较麻烦,忍忍就好了)
OK,我们已经完成了ASP.NET Core网站的配置文件,下一步让我们把配置文件的默认模板干掉把
rm -rf /usr/jexus/siteconf/default //干掉默认的配置模板
然后,让我们启动Jexus,看一下效果
如果你的Jexus已经启动,运行如下命令
sh /usr/jexus/jws restart //重启Jexus
如果你的Jexus是停止状态,运行如下命令
sh /usr/jexus/jws start //启动Jexus
附赠送停止命令
sh /usr/jexus/jws stop //停止Jexus
让我们看一下效果吧.
作者:奇
出处:https://www.cnblogs.com/fanqisoft/p/8671212.html
版权:本作品采用「本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!