ASP.NET Core 6.0 多种部署方式

IIS 环境准备和部署

安装并配置 IIS

安装 IIS,在搜索输入并打开 启用或关闭 Windows 功能。

配置IIS 需要配置 ASPNETCore 部署IS 程序包安装 (ASP.NET Core Module v2)

Download .NET 6.0 (Linux, macOS, and Windows).NET 6.0 downloads for Linux, macOS, and Windows. .NET is a free, cross-platform, open-source developer platform for building many different types of applications.icon-default.png?t=N7T8https://dotnet.microsoft.com/download/dotnet/6.0

打开 IIS 的模块。

配置本机模块,选中 AspNetCoreModuleV2,添加到模块里。

部署

添加网站

发布

绑定

浏览

IIS部署和脚本启动的区别和联系

IIS 部署和脚本启动没有区别,本质还是脚本启动了。下图中 Reverse proxy server 中的 IIS实际上启到反向代理的作用。Asp.net Core 应用 内置一个 Kestrel 服务器,然后调用命令。

进入 IIS 的网站目录,可以发现 web.config 的 xml 文件

使用AspNetCoreModuleV2 处理一条执行 启动 dll文件的命令。

Linux 环境准备和部署

(或者到网上购买短时间的 Linux 云服务器)

1.安装 VMware Workstatiion 安装 Centos

VMware-Workstation 安装 Centos

2.设置网络

未设置前,通过ip addr命令无法获取到ip地址 

修改配置文件

vi /etc/sysconfig/network-scripts/ifcfg-ens33

然后按 i,修改文件将 ONBOOT=NO 修改为 ONBOOT=YES,添加四个参数值,然后按 ESC 键退回命令模式,接着输入:

:w 命令来保存文件;

:q命令退出编辑器;

如果你想保存并退出,则输入:wq

3.重启虚拟机

4.重新获取 ip 地址

5.连接 Centos

使用远程工具 MobaXterm 连接虚拟机的 Centos

ping 一下 Centos 看看它跟本地电脑是不是连通

如果你觉得在本地配置 Centos比较麻烦,我们可以使用成熟云服务器。

6.安装.NET6运行时环境

这里用的企鹅云服务器,用 ip addr 查看一下 内网的 IP 地址,

ping 一下远程服务器的公网 IP 地址,看是否连接通。

yum update

注册镜像地址:

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

安装ASP.NET Core SDK

sudo yum update
sudo yum install dotnet-sdk-6.0

 

如果发现无法访问或者进不去,则可按住:Ctrl+C停止项目,然后再命令面板使用,防火墙命令将对应的端口开放:

sudo firewall-cmd --zone=public --add-port=8888/tcp --permanent
sudo firewall-cmd --reload

设置完成之后,将防火墙重启;然后再浏览器中输入:http://你的服务器IP:8888,则访问成功。

sudo systemctl start firewalld


7.Linux 部署

修改地址

发布项目


通过工具MobaXterm传递发布包到Linux


进入文件夹,启动dll

云服务器放通 9999 端口,在安全组中修改访问规则。


dotnet 启动

 上述启动dll时开启一个进程,按下Ctrl + C 就会退出进程,程序也就停止。在命令后面加一个 & 符号开启另一个进程,切换命令模式时程序不会失效。

启动另一个进程去监听 5995 端口。

nohup dotnet  可以做到守护进程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/31604.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

人工智能如何助力人才招聘方式改变

尽管全球经济不稳定,但在当今的就业市场上,招聘顶尖人才仍然竞争激烈,企业很难找到优质人才。明智的人才招聘团队会将人工智能融入日常招聘流程当中,借助人工智能工具或智能招聘系统(如大易招聘管理系统)&a…

Kafka第一篇——内部组件概念架构启动服务器zookeeper选举以及底层原理

目录 引入 ——为什么分布式系统需要用第三方软件? JMS 对比 组件 架构推演——备份实现安全可靠 , Zookeeper controller的选举 controller和broker底层通信原理 BROKER内部组件 ​编辑 topic创建 引入 ——为什么分布式系统需要用第三方软件&#…

Java 面试题:对比 Hashtable、HashMap、TreeMap 有什么不同?

在 Java 集合框架中,理解 Hashtable、HashMap 和 TreeMap 之间的区别对于任何希望编写高效代码的开发者来说都是至关重要的。尽管这三个类都用于存储键值对,但它们在特性和使用场景上却有着显著的差异。 Hashtable 是最早实现的哈希表之一,提…

静电式油烟净化器:餐饮业油烟治理的革命性选择

我最近分析了餐饮市场的油烟净化器等产品报告,解决了餐饮业厨房油腻的难题,更加方便了在餐饮业和商业场所有需求的小伙伴们。 在餐饮业,油烟问题一直是业主们头疼的难题。如何有效治理油烟,不仅关乎厨房的清洁,更直接…

收费4980的AI批量混剪,素材技术方法工具配套,详细拆解!

前几天有朋友跟我讲,他说有做旅游卡的,他们收费4980元,给500张卡,送AI批量混剪技术,问我们有没有? 批量混剪技术,这个其他早在2022年的时候我们就已经使用了。有开通抖音企业号的朋友都知道&am…

编译chamfer3D报错

python setup.py install编译chamfer3D报错 出现nvcc fatal : Unsupported gpu architecture ‘compute_86‘的问题,是因为显卡与cuda版本支持的算力不匹配。 nvcc fatal : Unsupported gpu architecture ‘compute_86’ ninja: build stopped: subcommand failed. …

[leetcode 27移除元素]双指针

Problem: 27. 移除元素 文章目录 思路Code 思路 使用双指针 第一个指针,遍历整个数组 第二个指针,当第一个指针遍历到不等于val值时,将其赋给第一个指针所指的位置 并且每赋值一个,第二个指针向后移动一个 最后第二个指针的长度就是结果 Code class Solution {public int remo…

机器人里程计(Odometry)

机器人里程计(Odometry)是机器人定位和导航中的一个关键概念,它涉及到利用传感器数据来估计机器人在环境中的位置和姿态。里程计的基本原理是根据机器人自身动作的反馈来计算其相对于初始位置的位移。这通常包括机器人从一个已知位置开始&…

太牛了!AI换脸数字人,限制解除,免费用!

哈喽,各位小伙伴们好,我是给大家带来各类黑科技与前沿资讯的小武。 今天给大家安利一款美图公司出品的神器,功能限制完全解除,可以免费使用AI换脸数字人、AI提词器、AI脚本、AI抠图、AI清除、AI封面等超多超实用功能,…

抖音商城618好物节消费数据报告发布,带货成交额同比增长300%

6月21日,“抖音商城618好物节”消费数据报告发布,呈现618期间平台全域经营情况及大众消费趋势。 今年618大促活动中,抖音电商投入流量资源和消费券,鼓励商家、达人双向经营货架场景和内容场景,不断激活消费市场。 报…

SEGGER Embedded Studio IDE移植embOS

SEGGER Embedded Studio IDE移植embOS 一、背景介绍二、任务目标三、技术实现3.1 获得embOS3.2 创建SES工程3.2.1 创建初始Solution和Project3.2.2 制作项目文件结构3.2.3 移植embOS库和有关头文件3.2.3.1 头文件3.2.3.2 库文件3.2.3.3 创建RTOSInit.c源文件3.2.3.4 OS_Error.c…

Golang——channel

channel是Go在语言层面提供的协程间的通信方式。通过channel我们可以实现多个协程之间的通信,并对协程进行并发控制。 使用注意: 管道没有缓冲区时,从管道中读取数据会阻塞,直到有协程向管道中写入数据。类似地,向管道…

生产实习Day9 ---- Scala介绍

文章目录 Scala:融合面向对象与函数式编程的强大语言引言Scala与Java的互操作性Scala在大数据处理中的应用Scala的并发编程Scala的学习资源和社区结论 Scala:融合面向对象与函数式编程的强大语言 引言 Scala,全称Scalable Language&#xff…

创新案例|星巴克中国市场创新之路: 2025目标9000家店的挑战与策略

星巴克创始人霍华德舒尔茨:“为迎接中国市场的全面消费复苏,星巴克2025年推进9000家门店计划,将外卖、电商以及家享和外出场景咖啡业务纳入中国新一轮增长计划中。”在面临中国市场同店增长大幅下滑29%背景下,星巴克通过DTC用户体…

使用Java实现哈夫曼编码

前言 哈夫曼编码是一种经典的无损数据压缩算法,它通过赋予出现频率较高的字符较短的编码,出现频率较低的字符较长的编码,从而实现压缩效果。这篇博客将详细讲解如何使用Java实现哈夫曼编码,包括哈夫曼编码的原理、具体实现步骤以…

使用VLLM部署llama3量化版

1.首先去魔塔社区下载量化后的llama3模型 git clone https://www.modelscope.cn/huangjintao/Meta-Llama-3-8B-Instruct-AWQ.git 2.跑起来模型 1)python -m vllm.entrypoints.openai.api_server --model /home/cxh/Meta-Llama-3-8B-Instruct-AWQ --dtype auto --…

【管理咨询宝藏134】麦肯锡咨询公司为DB物流公司价格体系优化设计方案

本报告首发于公号“管理咨询宝藏”,如需阅读完整版报告内容,请查阅公号“管理咨询宝藏”。 【管理咨询宝藏134】麦肯锡咨询公司为DB物流公司价格体系优化设计方案 【格式】PDF版本 【关键词】麦肯锡、物流、价格战略、定价体系 【核心观点】 - 与竞争对…

TrainingArguments、ModelArguments、DataArguments参数使用(@dataclass)

文章目录 前言一、@dataclass装饰器说明二、transformers.HfArgumentParser参数使用Demo三、field函数四、llava模型参数1、模型参数设置2、数据参数设置3、训练参数设置4、参数解析5、参数传递6、参数添加前言 理解llava相关参数传递方法,有利于我们对模型修改模块使用参数来…

【mysql 安装启动失败】 没有网下 libssl.so.10 not found 如何解决?

问题描述: libssl.so.10 > not found libcrypto.so.10 > not found [rootmysql tools]# ls -l /usr/sbin/mysqld -rwxr-xr-x. 1 root root 64290024 Sep 14 2022 /usr/sbin/mysqld [rootmysql tools]# ldd /usr/sbin/mysqldlinux-vdso.so.1 (0x00007fff97105…

拒绝零散碎片, 一文理清MySQL的各种锁

系列文章目录 学习MySQL先有全局观,细说其发展历程及特点 Mysql常用操作,谈谈排序与分页 拒绝零散碎片, 一文理清MySQL的各种锁(收藏向) 系列文章目录一、MySQL的锁指什么二、排他与共享三、全局锁(Global…