ASP.net Core部署说明(Ubuntu)

手把手教你用TLP350驱动IGBT:光耦隔离驱动电路完整设计教程 本文详细介绍了如何使用TLP350光耦隔离驱动电路设计IGBT驱动方案。从TLP350芯片特性分析到驱动电路架构设计,包括信号调理、自举电源和栅极控制网络,再到PCB布局优化和保护电路设计,提供了完整的实战指南。通过实测波形分析和故障排查,帮助工程师快速掌握IGBT驱动电路的设计要点和进阶技巧。 阅读详情
最近在学习asp.net core,当然学习的目的是想了解一下,Asp.net core是否真的能够是先跨平台部署。
根据目前官网资料说明,asp.net core只有在Redhat 企业版上,才能够实现所有的功能。不过这个版本是收费的,可能不是大多数人的最佳选择。
笔者目前选择的实验环境是Ubuntu 16.4 和CentOS7这两个平台。
从长远角度来说,CentOS7维护周期长,更加适合企业生产环境。Ubuntu择以更加活跃的社区,更加快速的更新受到欢迎,不过他的维护周期一般只有2~3年,也就是说,一旦出现一个新版本,老版本的ubuntu可能就不会受到更新维护了,然而升级大版本,可能会牵扯很多问题,所以具体选择那个系统,还需要用户自行斟酌。
笔者这里首先说一下Ubuntu的部署方法。
这里是微软官方的Getting Started教程:https://docs.asp.net/en/latest/getting-started.html
 
1.安装.net core. 
这里可以看到,目前.net core支持的所有linux系统。我们选择Ubuntu。
这里有个分支,需要确认ubuntu版本。根据版本不通,进行不通配置,更新下载.net core.
版本可以通过命令:cat /etc/issue来查询
Ubutu 14.4 执行:
sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet/ trusty main" > /etc/apt/sources.list.d/dotnetdev.list'  
sudo apt-key adv --keyserver apt-mo.trafficmanager.net --recv-keys 417A0893  
sudo apt-get update  
Ubuntu 16.4执行:
sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet/ xenial main" > /etc/apt/sources.list.d/dotnetdev.list'  
sudo apt-key adv --keyserver apt-mo.trafficmanager.net --recv-keys 417A0893  
sudo apt-get update  
然后安装.net core sdk。
sudo apt-get install dotnet-dev-1.0.0-preview2-003121  
完成之后,可以参照微软说明,跑一个hello world进行下测试。
 
2.把使用vs2015,基于asp.net core开发的项目进行发布。这里一定要注意,必须是基于Asp.net Core开发的项目,基于.net framework的项目只能运行在windows平台,切记。同时需要注意好数据库的配置。默认的示例项目是使用的sqlserver compact数据库,这个是不支持跨平台的,当然也就不能部署到linux上去。所以使用示例项目的话,把SeedData的调用注释掉,或者移除掉数据库操作代码再发布。如果是使用的MySql或者其他数据库,请确认提前在Ubuntu上完成部署,并做好相关数据库配置。这里不再记录,总是需要自行试一下的。
对了,还需要注意一个地方,
public static void Main(string[] args)  
{  
var host = new WebHostBuilder()  
.UseKestrel()  
.UseContentRoot(Directory.GetCurrentDirectory())  
.UseIISIntegration()  
.UseStartup<Startup>()  
.Build();  
host.Run();  
}
记得要UseKestrel()。
 
3.发布项目。可以用vs2015的发布网站发布,也可以用命令行发布。这里写下命令行发布的方法。
定位到项目目录下,要有project.json的目录下。
dotnet restore  
这个是更新所有的项目引用
然后
dotnet publish  
这个是发布项目,发布过程中如果出现了错误提示,请自行根据情况解决。
如果出现:“No executable found matching command "bower"”请看这里
 
4.将发布的项目上传到ubuntu服务器。可以用ssh secure file transfer或者ftp什么的上传。
 
5.切换到项目目录下,执行
dotnet XXX.dll  
笔者这里测试用的WebApplication1.dll
说明环境配置,及项目配置没问题,服务正常启用。
不过没有办法远程访问?这是因为listening on: http://localhost:5000的原因,你只是监听了localhost的5000端口,所以不支持外部ip:5000的访问。这里可以用nginx,待会说到,也可以修改一下代码如下:
public static void Main(string[] args)  
{  
var host = new WebHostBuilder()  
.UseKestrel()  
.UseContentRoot(Directory.GetCurrentDirectory())  
.UseIISIntegration()  
.UseStartup<Startup>()  
.UseUrls("http://*:5000")  
.Build();  
host.Run();  
}
这里改成了监听http://*:5000,一看就明白了吧,这是监听任意ip的5000端口。重新发布,并上传后
看到第二次执行后,监听地址发生变化,现在浏览器里可以直接访问了。
好吧,这样可以临时凑合用,但是一旦重启,服务并不会自动运行,并且现在主流都是通过nginx做代理使用,下面我们继续说。
 
6.安装nginx
sudo apt-get install nginx  
nano /etc/nginx/sites-available/default  
当然vi也可以。
修改Server节点配置:
server {  
listen 80;  
location / {  
proxy_pass http://localhost:5000;  
proxy_http_version 1.1;  
proxy_set_header Upgrade $http_upgrade;  
proxy_set_header Connection keep-alive;  
proxy_set_header Host $host;  
proxy_cache_bypass $http_upgrade;  
}  
}  
ctrl+O Ctrl+X 保存,然后退出。
重启Nginx
sudo service nginx restart  
这样Nginx代理就配置好了,然后是做个自动启动服务。
 
7.安装Supervisor
supervisor就是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。
通俗的来讲,可以方便的做成启动项自动运行。
sudo apt-get install supervisor  
在/etc/supervisor/conf.d/目录下新建文件 XXX.conf
nano /etc/supervisor/conf.d/Test.conf  
敲入代码:
[program:WebApplication1]  
command=/usr/bin/dotnet /home/robin/publish/WebApplication1.dll  
directory=/home/robin/publish  
autostart=true  
autorestart=true  
stderr_logfile=/var/log/NetCoreBBS.err.log  
stdout_logfile=/var/log/NetCoreBBS.out.log  
environment=ASPNETCORE__ENVIRONMENT=Production  
user=root  
stopsignal=INT  
Ctrl+O Ctrl+X保存
sudo service supervisor restart  
重启supervisor。
然后你会发现,不需要你在手动去运行dotnet xxx.dll来启动监听了,并且可以直接通过80端口访问项目了,即使没有配置http://*:5000,使用的localhost也可以正常访问,因为毕竟是走的nginx进行的转发。
 
总结:
.net 总算解决了跨平台的问题,虽然WinForm程序目前还没有实现,但是基础的ConsoleApp,asp.net core,都已经可以实现linux平台部署。可以说,基本的企业级项目开发已经可以通过asp.net core来实现跨平台了。开发工具可以用vs2015(windows)或者Vs code(Mac和linux),就IDE环境来说,甩Eclipse几条街妥妥的。
不过需要注意,System.drawing并没有实现,后台加水印什么的,可能只能依托于其他三方插件实现,不过相信会越来越完善的。
aspnet github社区(https://github.com/aspnet) 还希望大家参与进来,一块完善aspnet core。一些bug也可以来这里反应。
Ubuntu上使用ASP.NET Core运行服务器 ASP.NET Core是一种跨平台的开源框架,用于构建现代化的Web应用程序。在Ubuntu操作系统上,您可以使用ASP.NET Core来搭建和运行服务器。本文将指导您如何在Ubuntu上设置和运行ASP.NET Core服务器。 阅读详情

相关推荐

Ubuntu服务器上安装部署.NET Core

在本文中,我们将详细介绍如何在Ubuntu服务器上安装部署.NET Core.NET Core是一个跨平台的开发框架,可以用于构建高性能、可扩展的应用程序。现在可以安装.NET Core SDK了。要下载.NET Core,我们需要获取官方的包管理器密钥并添加到系统中。在开始安装.NET Core之前,首先需要确保系统是最新的。上述命令将安装.NET Core 5.0版本的SDK。现在,我们将演示如何创建和运行一个简单的.NET Core应用程序。如果安装成功,将显示.NET Core的版本号。

DqClojure的博客 1503

Linux(Ubuntu)部署asp.net core应用

这个时候,点击项目名称连接,可以查看日志。关于日志记录位置,上面的配置文件中,我把日志记录在。使用VS2019自带发布工具,项目右键选择发布,目标选择文件夹。选好发布存放路径后,配置发布方式目标运行时、部署方式。接下来将发布出来的文件拷贝至Linux服务器中,使用WinSCP工具拷贝至服务器指定目录上即可。文件,添加下面的配置文件。注意,目录就是我们从windows上拷贝过来存放的目录。的方式,就可以运行项目了。运行时,再将发布好的项目文件拷贝到服务器中。空白项目,创建项目时,选择。文件,添加如下配置项。

极客神殿 5045

YOLOv8改进 | 注意力篇 | YOLOv8引入EMAttention(EMA)注意力

具体来说,除了对全局信息进行编码以重新校准每个并行分支中的通道权重之外,还通过跨维度交互来进一步聚合两个并行分支的输出特征,以捕获像素级的成对关系。3. 跨空间学习:除了在每个并行子网络中建立局部的跨通道交互外,EMA模块还通过跨空间学习方法融合了两个并行子网络的输出特征图。到此本文的正式分享内容就结束了,在这里给大家推荐我的YOLOv8改进有效涨点专栏,后期我会根据各种最新的前沿顶会进行论文复现,也会对一些老的改进机制进行补充,如果大家觉得本文帮助到你了,订阅本专栏,关注后续更多的更新~

tsg6698的博客 880

ASP.net Core 部署说明Ubuntu

完整记录基于Ubuntu 16.4系统,实现asp.net core项目部署的过程

哈利路亚的收藏夹 6137

乌班图(ubantu)部署.NET Core 6web项目(保姆教程)

1、新建文件夹,给读写权限文件夹授权方式1:命令2、上传打包的项目文件,并解压安装解压工具3安装.NET SDK当前程序是.NET 6 操作系统是乌班图20.24到微软官网获取使用 APT 进行安装可通过几个命令来完成。安装 .NET 之前,请运行以下命令,将 Microsoft 包签名密钥添加到受信任密钥列表,并添加包存储库。

sxy_student的博客 5011

转载——ASP.net Core 部署说明Ubuntu

转载自ASP.net Core 部署说明Ubuntu) 注意:本文使用版本为ASP.NET Core 1.x 最近在学习asp.net core,当然学习的目的是想了解一下,Asp.net core是否真的能够是先跨平台部署。 根据目前官网资料说明asp.net core只有在Redhat 企业版上,才能够实现所有的功能。不过这个版本是收费的,可能不是大多数人的最佳选择。 笔者目前选择的实验环...

wujieqi01的博客 332

ASP.net Core部署说明Ubuntu) [转]

最近在学习asp.net core,当然学习的目的是想了解一下,Asp.net core是否真的能够是先跨平台部署。 根据目前官网资料说明asp.net core只有在Redhat 企业版上,才能够实现所有的功能。不过这个版本是收费的,可能不是大多数人的最佳选择。 笔者目前选择的实验环境是Ubuntu 16.4 和CentOS7这两个平台。 从长远角度来说,CentOS7维...

weixin_34311757的博客 81

C#进阶:在Ubuntu部署ASP.NET Core Web API应用

随着云计算和跨平台开发的兴起,越来越多的开发者开始在Linux系统上部署ASP.NET Core Web API应用。Ubuntu作为一款流行且稳定的Linux发行版,凭借其出色的性能和丰富的软件生态,成为部署ASP.NET Core应用的理想选择。本文将详细讲解在Ubuntu部署ASP.NET Core Web API应用的步骤和注意事项,帮助你轻松实现应用的上线和运行。

hong161688的博客 1152

ubuntu16.4下用jexus部署asp.net core rtm

上篇文章介绍了下用vs发布部署到iis环境,今天说下ubuntu部署asp.net core,不需要安装.net core sdk,自带运行时方式部署,利用jexus服务器转发请求到asp.net core. 1.部署准备环境 vmware虚拟机(其他也可以) ubuntu16.04镜像 2.发布环境 win10系统 vs2015 update3...

weixin_34402408的博客 141

Linux守护进程

Linux的Daemon管理路径: cd /etc/systemd/system 新建一个service配置文件: vi my-auth.service vi编辑器中编写的配置信息: [Unit] Description=Auth .NET Web API App running on Ubuntu [Service] WorkingDirectory=/home/auth ExecStart=/usr/bin/dotnet /home/auth/AuthServer.Host.dlll Re

qq_45659882的博客 404

Ubuntu 22.04 安装 .NET Core

Ubuntu 22.04 安装 .NET Core

MEREDITH5948的博客 2056

【Linux】Ubuntu安装.NET 9运行时与ASP.NET Core项目部署入门

本篇文章包含如何在Unbuntu上安装.NET 9运行时,完整记录将一个ASP.NET Core项目部署到Linux服务器上。

Arabys的博客 2006

Ubuntu中创建第一个ASP.NET Core示例程序

Ubuntu中使用VSCode创建第一个ASP..NET Core程序(Hello World!)

gc_2299的博客 426

Ubuntu部署.net core

Ubuntu部署.net core 文章目录Ubuntu部署.net core前言一、下载Ubuntu景象二、Ubuntu安装:三、安装.net core sdk: 前言 .NET Core是适用于 Windows、Linux 和 macOS 的免费、开源托管的计算机软件框架,是微软开发的第一个官方版本,具有跨平台能力的应用程序开发框架 (Application Framework),未来也将会支持 FreeBSD 与 Alpine 平台,也是微软在一开始发展时就开源的软件平台 [1] ,它经常也

NineOdes999的博客 3374

linux安装net8并配置netcore项目网站运行

1.安装net8执行下面命令。从微软官方下载net8:然后进入linux,按照官方说明执行:除了上边的方法,还可以用snap install dotnet-sdk --classic:# 更新软件包列表# 安装snapd,如果尚未安装# 类似的,确保snapd服务正在运行# 安装snap包dotnet-sdk,可以加参数:--classic:2.临时运行dotnet先执行下面两行,这个只对当前打开的bash命令行终端有效,关了就失效了。要永久有效需要设置配置文件。

zhiqingcn的专栏 7301

等高线连接程序命令TT_等高线连接程序命令TT_

等高线连接程序命令TT

上一篇: ASP.net Core部署说明(Ubuntu)
下一篇: ASP.net Core部署说明(Ubuntu)
David__QI
博客等级 码龄10年 0粉丝 0原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值