广告
返回顶部
首页 > 资讯 > 操作系统 >怎么部署ASP.NET Core程序到Linux系统
  • 274
分享到

怎么部署ASP.NET Core程序到Linux系统

2023-06-29 14:06:27 274人浏览 独家记忆
摘要

这篇文章主要讲解了“怎么部署asp.net Core程序到linux系统”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么部署ASP.net Core程序到Linux系统

这篇文章主要讲解了“怎么部署asp.net Core程序到linux系统”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么部署ASP.net Core程序到Linux系统”吧!

一、前言

这篇文章我们将讲解如何将ASP.net core 程序部署到Linux。这里我们使用的是虚拟机里面安装的Centos7。这里的ASP.net core程序,以上篇文章中发布的框架依赖文件为例进行讲解。

二、安装运行时环境

1、在线安装

我们只是在Linux系统上面部署应用程序,所以只需要安装ASP.Net Core Runtime即可。在安装.NET之前,我们需要先注册Microsoft密钥和源,在终端里面执行下面的命令:

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

怎么部署ASP.NET Core程序到Linux系统

更新可供安装的产品:

sudo yum update

如下图所示:

怎么部署ASP.NET Core程序到Linux系统

最后安装ASP.NET Core 运行时

sudo yum install aspnetcore-runtime-3.1

如下图所示:

怎么部署ASP.NET Core程序到Linux系统

这时就比较考验网速了,如果网速比较快,安装就很快。安装完成以后查看当前环境:

怎么部署ASP.NET Core程序到Linux系统

参考微软官方文档:Https://docs.microsoft.com/zh-cn/dotnet/core/install/linux-package-manager-centos7

2、离线包安装

如果Linux虚拟机可以连接外网,建议使用上面的方式直接进行安装,如果是在生产环境下该如何安装Runtime呢?下面我们使用微软提供的离线安装包进行安装。首先下载tar.gz的离线包,下载网址:

https://dotnet.microsoft.com/download/dotnet-core/3.1

这里选择Linux对应的架构的离线包下载:

怎么部署ASP.NET Core程序到Linux系统

我们首先在Linux上创建一个目录:

mkdir -p /var/lib/dotnet

如下图所示:

怎么部署ASP.NET Core程序到Linux系统

创建完成以后,我们使用Xftp把上面下载的tar.gz离线包上传到刚才创建的目录中:

怎么部署ASP.NET Core程序到Linux系统

进入刚才创建的目录,然后把tar.gz文件解压到目录中:

tar zxf aspnetcore-runtime-3.1.1-linux-x64.tar.gz -C /var/lib/dotnet

如下图所示:

怎么部署ASP.NET Core程序到Linux系统

然后执行下面的命令设置环境变量:

export DOTNET_ROOT=/var/lib/dotnetexport PATH=$PATH:/var/lib/dotnet

如下图所示:

怎么部署ASP.NET Core程序到Linux系统

然后检查环境:

怎么部署ASP.NET Core程序到Linux系统

可以看到Runtime已经安装成功了。

注意:这种设置环境变量的方式只对当前会话窗口起作用,在另外的会话窗口就不起作用了,如下图所示:

怎么部署ASP.NET Core程序到Linux系统

为了解决这个问题,我们需要创建软链接方式来设置环境变量。

ln -s /var/lib/dotnet/dotnet /usr/local/bin

如下图所示:

怎么部署ASP.NET Core程序到Linux系统

创建完软链接以后,就可以在所有会话窗口访问了:

怎么部署ASP.NET Core程序到Linux系统

如果是使用在线rpm的方式进行安装,不会出现这种问题,所有的会话窗口都可以访问。

三、上传文件

环境安装完成以后,我们将发布好的文件上传到服务器

在终端里面新创建一个文件夹,用来存放我们上传的文件:

sudo mkdir /NetCoreDemo

如下图所示:

怎么部署ASP.NET Core程序到Linux系统

创建完成以后我们在XFtp里面查看新创建的文件夹:

怎么部署ASP.NET Core程序到Linux系统

可以看到文件夹已经创建成功了。接着我们使用Xftp将文件上传到刚才创建的文件夹下面:

怎么部署ASP.NET Core程序到Linux系统

接下来我们就可以部署了。

四、部署

1、使用Kestrel启动

我们进入文件夹里面,然后直接使用命令行启动:

怎么部署ASP.NET Core程序到Linux系统

可以看到服务以及启动了。我们在网页中浏览:

怎么部署ASP.NET Core程序到Linux系统

网页没有任何的输入,这是为什么呢?因为localhost是内网地址,这里要加上--urls参数,

dotnet AspNetCoreDeployDemo.dll --urls http://*:5000

如下图所示:

怎么部署ASP.NET Core程序到Linux系统

这时我们在访问网页:

怎么部署ASP.NET Core程序到Linux系统

发现还是不能访问,这又是什么原因呢?原来在Linux中防火墙默认是开启的,所以要想外网访问,还需要关闭防火墙或者是把5000端口添加到防火墙中,查看防火墙状态命令:

service firewalld status

如下图所示:

怎么部署ASP.NET Core程序到Linux系统

可以看到,现在防火墙是开启的,我们把5000端口添加到防火墙中:

firewall-cmd --zone=public --add-port=5000/tcp --permanent

如下图所示:

怎么部署ASP.NET Core程序到Linux系统

permanent:这个参数表示永久存在,否则重启防火墙配置就丢失了。

添加了端口以后需要重启防火墙:

firewall-cmd --reload

如下图所示:

怎么部署ASP.NET Core程序到Linux系统

可以看到这时就可以访问了。

怎么部署ASP.NET Core程序到Linux系统

我们也可以关闭防火墙:

service firewalld stop

如下图所示:

怎么部署ASP.NET Core程序到Linux系统

在生产环境中,不建议关闭防火墙,建议是开启防火墙,然后把相应的端口号添加到防火墙里面。

2、使用Nginx作为反向代理

上面我们是使用的控制台的方式启动的,这种方式不能处理反向代理,负载均衡等,所以我们建议在Linux上面使用Nginx作为反向代理服务器。我们安装Nginx。

因为默认情况下,Nginx不在CentOS的资源库中,首先要执行下面的命令将Nginx添加到资源库中:

rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

如下图所示:

怎么部署ASP.NET Core程序到Linux系统

然后就可以安装Nginx了:

yum install nginx

如下图所示:

怎么部署ASP.NET Core程序到Linux系统

安装完以后启动Nginx:

systemctl start nginx

如下图所示:

怎么部署ASP.NET Core程序到Linux系统

将Nginx设置为开机启动:

systemctl enable nginx

怎么部署ASP.NET Core程序到Linux系统

Nginx默认开启80端口,我们要把80端口添加到防火墙中,添加完以后重启防火墙:

firewall-cmd --zone=public --add-port=80/tcp --permanent

如下图所示:

怎么部署ASP.NET Core程序到Linux系统

这时我们在外网访问Nginx:

怎么部署ASP.NET Core程序到Linux系统

我们看到这时可以访问Nginx了。接下来我们配置Nginx的反向代理。

首先进入Nginx的安装目录,然后查看所有文件:

怎么部署ASP.NET Core程序到Linux系统

如上图所示,nginx.conf是主配置文件,使用vim编辑器打开该文件:

怎么部署ASP.NET Core程序到Linux系统

在上图中可以发现:下面有一句include /etc/nginx/conf.d/*.conf,这说明还有一些配置在conf.d目录里面,而我们配置反向代理,主要就是在conf.d文件里面,使用下面的命令进入conf.d命令:

cd conf.d

然后查看所有文件:

怎么部署ASP.NET Core程序到Linux系统

发现里面有一个default.conf的文件,使用Vim编辑器打开该文件,然后修改如下:

怎么部署ASP.NET Core程序到Linux系统

listen表示监听的端口,这里是80端口。proxy_pass用来设置代理的地址。注意这里不要忘记最后的“;”。

保存以后使用下面的命令检查修改是否正确:

怎么部署ASP.NET Core程序到Linux系统

这说明修改的文件没有错误。配置成功以后,我们需要重启Nginx服务:

nginx -s reload

如下图所示:

怎么部署ASP.NET Core程序到Linux系统

重启之后我们访问:

怎么部署ASP.NET Core程序到Linux系统

这说明有错误,提示信息告诉我们查看Nginx日志,我们在nginx.conf里面查看日志路径:

怎么部署ASP.NET Core程序到Linux系统

然后我们进入该路径,查看下面的所有文件:

怎么部署ASP.NET Core程序到Linux系统

发现这下面有两个日志,我们先查看error.log:

怎么部署ASP.NET Core程序到Linux系统

使用下面的命令解决:

setsebool -P httpd_can_network_connect 1

我们重新访问:

怎么部署ASP.NET Core程序到Linux系统

这就可以访问了。我们在Linux上面部署就成功了。

感谢各位的阅读,以上就是“怎么部署ASP.NET Core程序到Linux系统”的内容了,经过本文的学习后,相信大家对怎么部署ASP.NET Core程序到Linux系统这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: 怎么部署ASP.NET Core程序到Linux系统

本文链接: https://www.lsjlt.com/news/325284.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么部署ASP.NET Core程序到Linux系统
    这篇文章主要讲解了“怎么部署ASP.NET Core程序到Linux系统”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么部署ASP.NET Core程序到Linux系统...
    99+
    2023-06-29
  • 部署ASP.NET Core程序到Linux系统
    目录一、前言二、安装运行时环境1、在线安装2、离线包安装三、上传文件四、部署1、使用Kestrel启动2、使用Nginx作为反向代理一、前言 这篇文章我们将讲解如何将ASP.NET ...
    99+
    2022-11-13
  • 部署ASP.NET Core程序到Windows系统
    目录一、创建项目二、发布项目1、框架依赖2、独立部署三、部署1、配置部署环境2、控制台方式部署3、部署到IIS4、独立部署一、创建项目 本篇文章介绍如何将一个ASP.NET Core...
    99+
    2022-11-13
  • 如何部署ASP.NET Core程序到Windows系统
    这篇文章主要讲解了“如何部署ASP.NET Core程序到Windows系统”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何部署ASP.NET Core程序到Windo...
    99+
    2023-06-29
  • Linux系统Docker 部署 ASP.NET Core应用的流程分析
    目录一、系统环境二、操作流程及途中遇到的问题一、系统环境 1、腾讯云轻量应用服务器CentOS7.6 二、操作流程及途中遇到的问题 1、SSH方式远程Linux ssh <u...
    99+
    2022-11-12
  • Linux上使用Docker部署ASP.NET Core应用程序
    一、创建 1、创建应用程序 使用ASP.NET Core创建一个MVC应用程序,并修改Home控制器Index视图代码: @{ ViewData["Title"] = "Ho...
    99+
    2022-11-13
  • Linux上如何使用Docker部署ASP.NET Core应用程序
    这篇文章将为大家详细讲解有关Linux上如何使用Docker部署ASP.NET Core应用程序,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、创建1、创建应用程序使用ASP.NET Core...
    99+
    2023-06-29
  • 在Linux系统中怎么部署Golang应用程序
    本篇内容主要讲解“在Linux系统中怎么部署Golang应用程序”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“在Linux系统中怎么部署Golang应用程序”吧!一、安装Golang环境在Lin...
    99+
    2023-07-05
  • 怎么将php项目部署到linux系统上
    在现代化的软件开发过程中,项目部署已经成为了不可或缺的一个环节。其中,将 PHP 项目部署到 Linux 操作系统上是相对比较普遍的一种方式。本文将着重介绍如何将一个 PHP 项目部署到 Linux 操作系统上的步骤和注意事项。第一步:安装...
    99+
    2023-05-14
    php linux
  • go程序部署到linux上运行怎么实现
    这篇文章主要介绍了go程序部署到linux上运行怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇go程序部署到linux上运行怎么实现文章都会有所收获,下面我们一起来看看吧。go 语言版本:go1.9.2...
    99+
    2023-06-30
  • 在Linux操作系统上怎么部署Golang应用程序
    今天小编给大家分享一下在Linux操作系统上怎么部署Golang应用程序的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。安装G...
    99+
    2023-07-06
  • Linux系统环境怎么部署
    本篇内容介绍了“Linux系统环境怎么部署”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!以阿里云为例,默认第一位就是CentOS,提供了从7...
    99+
    2023-06-16
  • Linux系统下怎么部署Jenkins
    今天给大家介绍一下Linux系统下怎么部署Jenkins。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。Jenkins是一个开源软件项目,是基于Java开发的一...
    99+
    2023-06-28
  • Linux系统怎么部署web项目
    小编给大家分享一下Linux系统怎么部署web项目,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Linux系统部署web项目具体方法要部署普通的web项目,首先是...
    99+
    2023-06-28
  • 在linux系统下部署selenium爬虫程序介绍
    目录前言一、selenium是什么?二、使用步骤1.引入库2.测试代码三、部署程序1.安装chrome2.安装chromedriver驱动3.运行测试代码总结前言 我这里是工作需要把selenium 爬虫程序部署到lin...
    99+
    2022-06-04
    linux selenium爬虫程序 selenium安装
  • 怎么将程序部署到云服务器
    将程序部署到云服务器的步骤如下:1. 选择云服务提供商:首先需要选择一个云服务提供商。2. 创建云服务器实例:在选择的云服务提供商的...
    99+
    2023-08-18
    云服务器
  • 如何在Linux操作系统上部署Golang应用程序
    在今天的软件开发中,使用Linux作为操作系统的比例越来越高,而Golang语言则因为其高效、简洁和并发性能等特点,也被越来越多的开发者所青睐。在这篇文章中,我们将介绍如何在Linux操作系统上部署Golang应用程序。安装Golang环境...
    99+
    2023-05-14
  • Jenkins怎么编译.NET Core和.NET Framework项目并远程部署到IIS
    本文小编为大家详细介绍“Jenkins怎么编译.NET Core和.NET Framework项目并远程部署到IIS”,内容详细,步骤清晰,细节处理妥当,希望这篇“Jenkins怎么编译.NET Core和.N...
    99+
    2023-06-29
  • PXE怎么实现自动化部署Linux系统
    本篇内容主要讲解“PXE怎么实现自动化部署Linux系统”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PXE怎么实现自动化部署Linux系统”吧!背景说明在数据中心,一次几十台甚至几百台服务器上...
    99+
    2023-06-22
  • Linux下怎么部署分布式消息系统RocketMQ
    本篇内容主要讲解“Linux下怎么部署分布式消息系统RocketMQ”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux下怎么部署分布式消息系统RocketMQ”吧!一、本篇所需文件下载链接...
    99+
    2023-06-27
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作