.net6部署到linux上(CentOS Linux 7)

news/2024/4/18 11:54:36

目录

一、先在linux上配置.net环境

添加 Microsoft 包存储库

安装 SDK

安装运行时

检查 SDK 版本可使用终端查看当前安装的 .NET SDK 版本。 打开终端并运行以下命令。

二、创建.net6 mvc项目 并发布

创建项目 

 修改默认端口

打包发布到文件夹

 运行打包项目查看项目是否ok

 将项目放到linux上

测试项目在linux上是否有问题 

如何开放端口

 三、在linux上运行项目并守护进程

第一种方法(守护进程管理器)

 第二种方法(使用nohup &命令)


一、先在linux上配置.net环境

首先,先配置.net6环境

添加 Microsoft 包存储库

安装 .NET 之前,请运行以下命令,将 Microsoft 包签名密钥添加到受信任密钥列表,并添加 Microsoft 包存储库。 打开终端并运行以下命令:

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

安装 SDK

.NET SDK 使你可以通过 .NET 开发应用。 如果安装 .NET SDK,则无需安装相应的运行时。 若要安装 .NET SDK,请运行以下命令:

sudo yum install dotnet-sdk-6.0

安装运行时

通过 ASP.NET Core 运行时,可以运行使用 .NET 开发且未提供运行时的应用。 以下命令将安装 ASP.NET Core 运行时,这是与 .NET 最兼容的运行时。 在终端中,运行以下命令:

sudo yum install aspnetcore-runtime-6.0

检查 SDK 版本
可使用终端查看当前安装的 .NET SDK 版本。 打开终端并运行以下命令。

复制
dotnet --list-sdks

看到sdk版本号就说明安装好了 

二、创建.net6 mvc项目 并发布

创建项目 

 修改默认端口

builder.WebHost.UseUrls("http://*:5000");//单个设置

打包发布到文件夹

 运行打包项目查看项目是否ok

 到打包的项目

dotnet 项目名

运行成功! 

 

在浏览器查看ok

 将项目放到linux上

打开宝塔,将打包的.net项目文件全选择拖到服务器文件夹上面

测试项目在linux上是否有问题 

 点击终端输入 : dotnet WebApplication2.dll  运行

 显示这样就说明我们的项目在linux上也没问题,记得把端口开发才行

如何开放端口

1.开启防火墙

 systemctl start firewalld

2.开放指定端口
命令含义:
--zone #作用域
--add-port=1935/tcp  #添加端口,格式为:端口/通讯协议
--permanent  #永久生效,没有此参数重启后失效
     firewall-cmd --zone=public --add-port=1935/tcp --permanent

3、重启防火墙
firewall-cmd --reload
4、查看端口号
netstat -ntlp   //查看当前所有tcp端口·netstat -ntulp |grep 1935   //查看所有1935端口使用情况·

 三、在linux上运行项目并守护进程

第一种方法(守护进程管理器)

这种方法很简单,比较适合新手,

 下载守护进程管理器,点击设置

 

 点击添加守护进程

 

 填写信息

点击确定后可以看到我们添加成功了 

 

去浏览器输入ip加域名,测试是否成功!

 可以看到第一种方法成功了

 第二种方法(使用nohup &命令)

到项目目录下执行运行下面的命令就可以了 

--urls="http://*:5001"*指定到开发端口(不指定也行,不指定就是默认的)

nohup 英文全称 no hang up(不挂起),用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行

nohup dotnet socialnetworkApp.dll --urls="http://*:5001"&  

总结: 好了目前小编就知道这两种简单的方式,小编也是小菜鸡哈哈哈,欢迎大家交流


http://www.ppmy.cn/news/1168981.html

相关文章

10月9日 Jdbc(2)

PreparedStatement的使用和jdbcUtil工具类的封装 拼接带来的sql注入问题(拼接sql) Statement PreparedStatement的使用 package com.fs.db;import com.fs.util.JdbcUtil;import java.sql.*; import java.util.Date; import java.util.Scanner;/*** 模拟SQL攻击*/ public clas…

MySQL数据的基础语法

MySQL 是一种强大的关系型数据库管理系统(RDBMS),它使用 SQL(Structured Query Language)来管理和操作数据。以下是 MySQL 数据库的基础 SQL 语法,包括创建数据库、创建表、插入、查询、更新和删除数据等基…

学习SpringMVC,建立连接,请求,响应 SpringBoot初学,如何前后端交互(后端版)?最简单的能通过网址访问的后端服务器代码举例

要想通过SpringBoot写一个简单的处理请求的服务器(方法),需要有以下步骤 建立连接请求响应 来复习的话直接在文章末尾看源码就行 1、创建SpringBoot项目 https://blog.csdn.net/dream_ready/article/details/133948253 2、编写Controller建…

Kotlin中的可空类型

在 Kotlin 中,可空类型是一项重要的特性,它允许我们声明变量可以为空。在本篇博客中,我们将介绍 Kotlin 中的可空类型,并提供示例代码演示如何处理可空变量、使用安全调用操作符(?.)、Elvis 运算符&#x…

【计算机网络笔记】OSI参考模型中端-端层(传输层、会话层、表示层、应用层)功能介绍

系列文章目录 什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)…

SpringCloud学习笔记(上):服务注册与发现:Eureka、Zookeeper、Consul+负载均衡服务调用:Ribbon

壹、零基础 一、微服务架构零基础理论入门 SpringCloud分布式微服务架构的一站式解决方案,是多种微服务架构落地技术的集合体,俗称微服务全家桶。 二、从2.2.x和H版开始说起 springboot版本选择: git源码地址:https://github.…

mysql8.0版本的 utf8mb4 格式数据不能移植到 mysql1.0版本上

分析原因 版本的字符编码不同 mysql 版本 1.0 常用默认字符格式为: 字符集-utf8 排序规则-utf8_general_ci 字符集-utf8mb4 排序规则-utf8mb4_general_ci mysql 版本 8.0 常用默认字符格式为: 字符集-utf8 排序规则-utf8_general_ci 字符集-utf8mb4 排…

RustDay06------Exercise[81-90]

81.宏函数里面的不同的匹配规则需要使用分号隔开 // macros4.rs // // Execute rustlings hint macros4 or use the hint watch subcommand for a // hint.// I AM NOT DONE#[rustfmt::skip] macro_rules! my_macro {() > {println!("Check out my macro!");};($…

c++踩坑点,类型转换

std::string转换到PVOID std::string转换到PVOID的方式如下 这样的话成功转换 “const char *” 类型的实参与 “WCHAR *” “const char *” 类型的实参与 “WCHAR *” 类型的形参不兼容 可以看到这种报错,可以直接强转如下: 但是在我们这里不适…

接口测试(jmeter和postman 接口使用)

接口测试基础知识 接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。把前端(client)和后端(server)联系起来,测试的重点是要检查数据的交换,传递和控制管理过程,以及系…

c语言练习91:合并两个有序链表

合并两个有序链表 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 代码1: /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/typedef struct ListNode ListNode; struct Li…

面试二总结

bean的生命周期: 数据库采用行级锁索引(使用排他锁): mysql事务隔离级别 未提交读(Read uncommitted)是最低的隔离级别。通过名字我们就可以知道,在这种事务隔离级别下,一个事务可以读到另外一个事务未提交…

基于labview滑动轴承压力测量软件搭建

目录 摘 要... 3 第一章 绪论... 5 1.1滑动轴承压力测量的课题研究背景... 5 1.2 滑动轴承国内外研究现状... 6 1.3 课题的研究内容及章节安排... 7 1.4 本章小结... 7 第二章 虚拟仪器与labview软件设计... 7 2.1 虚拟仪器技术的产生和发展... 7 2.2 l…

hdlbits系列verilog解答(7458芯片)-10

文章目录 wire线网类型介绍一、问题描述二、verilog源码三、仿真结果 wire线网类型介绍 wire线网类型是verilog的一种数据类型,它是一种单向的物理连线。它可以是输入也可以是输出,它与reg寄存器数据类型不同,它不能存储数据,只能…

基于Python3的Scapy构造DNS报文

一:DNS协议 DNS(Domain Name System)协议是计算机网络中的一种基础协议,它用于将域名(如www.baidu.com)转换为IP地址(如192.168.0.1),从而实现计算机之间的通信。 DNS 分…

LeetCode 2172. 数组的最大与和【状压DP,记忆化搜索;最小费用最大流】2392

本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…

【广州华锐互动】VR营销心理学情景模拟培训系统介绍

在高度竞争的汽车市场中,销售人员需要具备强大的专业知识、引人入胜的销售技巧,以及敏锐的市场洞察力。然而,传统的培训方式往往无法满足这些需求,因为它们往往忽略了实践的重要性。 为了解决这个问题,许多公司开始采用…

Transformers基本组件(二)快速入门Datasets、Evaluate、Trainer

Transformers基本组件(二)快速入门Datasets、Evaluate、Trainer 1、基础组件Datasets 数据集部分的工作,一部分在于数据集的收集,另一部分在于数据集的处理。Datasets库的出现,一定程度上也使得这两部分的工作变得简…

C#WPFPrism框架模块化应用实例

本文实例演示C#WPFPrism框架模块化应用实例。 首先创建WPF项目,修改App相关文件内容,以便使用prism。 一、添加模块 解决方案中添加ModuleA和ModuleB两个项目 删除不用的窗体,添加自定义窗体 修改ModuleA和ModuleB的输出类型

​CUDA学习笔记(五)GPU架构

本篇博文转载于https://www.cnblogs.com/1024incn/tag/CUDA/,仅用于学习。 GPU架构 SM(Streaming Multiprocessors)是GPU架构中非常重要的部分,GPU硬件的并行性就是由SM决定的。 以Fermi架构为例,其包含以下主要组成…