《ASP.NET Core 与 RESTful API 开发实战》-- (第10章)-- 读书笔记

第 10 章 部署

10.1 部署到 IIS

ASP.NET Core 应用程序支持部署到 IIS 中,之后它将作为应用程序的反向代理服务器和负载均衡器,向应用程序中转传入的 HTTP 请求

默认情况下,ASP.NET Core 项目的 Program 类使用如下方式创建 WebHost

public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args).ConfigureWebHostDefaults(webBuilder =>{webBuilder.UseStartup<Startup>();});

CreateDefaultBuilder 方法将会调用 UseIIS 方法和 UseIISIntergration 方法,分别用于 IIS 进程内托管方式以及 IIS 进程外托管方式

无论使用哪一种部署方式,都应该先发布应用

发布 ASP.NET Core 应用程序有两种方式,分别是使用 Visual Studio 中的发布向导以及使用 .NET Core CLI 命令

首先通过发布向导发布到指定文件夹,接着配置 IIS,需要确保当前计算机已经安装了 IIS 以及 IIS 管理控制台,完成配置之后访问网站,将会打开 Swagger 文档页面,说明网站已经正常运行

目前,应用程序进能够通过 HTTP 方式访问,要使它在 IIS 中支持 HTTPS,还需要进行一些配置,包含证书设置、HTTPS 绑定和 HTTPS 重定向

当使用 HTTP 协议访问时,IIS 并不会进行 HTTPS 重定向,为了支持这一功能,需要安装“URL 重写”工具

10.2 部署到 Docker

Docker 是一个开源项目,目标是提供轻量级的操作系统虚拟化解决方案

由于容器使用沙箱机制,多个容器实例之间互不影响,因而可以将应用程序同时部署到多个容器中并同时运行

镜像与容器是 Docker 中两个非常重要的概念,简单来说,镜像是用于创建容器的模板,Docker 容器则是通过镜像创建的应用程序实例

Docker 支持多个平台,包含 Windows、Linux 和 macOS 系统,Windows 10 可以通过下载“Docker for Windows”使用

在 Windows 操作系统中安装并使用 Docker,应首先启用 Hyper-V 功能,Hyper-V 能够使 Linux 容器运行在 Windows 系统上,这是 Docker 安装与运行所必需的

对于 Windwos 系统,Docker 会安装 Linux 虚拟机,以便在 Windows 操作系统中能够运行并创建基于 Linux 的容器

Dokcer 提供了一系列用于操作镜像和容器的命令

操作 Docker 镜像的命令:

  • docker build 创建

  • docker images 列出镜像

  • docker pull 下载镜像

  • docker push 发布镜像

  • docker tag 指定标签

  • docker rmi 删除镜像

操作 Docker 容器的命令:

  • docker create 创建容器

  • docker start 启动容器

  • docker run 创建并启动

  • docker stop 停止

  • docker rm 删除

  • docker ps 列出正在运行的容器

  • docker logs 查看日志

  • docker exec 在运行的容器中执行命令或启动交互式会话

docker create 命令和 docker run 命令支持的参数

  • --name 指定容器名称

  • -p,--publish 将主机的端口映射到容器的端口

  • --rm 当容器停止运行后,使 Docker 自动删除该容器

  • -v,--volume 为容器中的指定目录提供数据卷

  • -e,-env 为容器提供环境变量

  • -i 以交互模式运行容器,通常与-t同时使用

Docker Compose 简介

当应用程序依赖多个服务时,如数据库和缓存等,要将其部署到容器中,也可以使用 Docker 命令以及 Docker 网络实现,但是会比较烦琐且极容易出错

为此,Docker 提供了 Docker Compose,也称为 Docker 容器编排,它是一个用来描述复杂的应用程序的工具,这些复杂应用通常需要创建多个容器,并使用 Docker 数据卷与 Docker 网络等;此外,它还可以编排并管理多个容器,能够简化部署复杂应用程序到容器的操作,且不易出错

相关文章

《ASP.NET Core 与 RESTful API 开发实战》-- (第9章)-- 读书笔记(下)

《ASP.NET Core 与 RESTful API 开发实战》-- (第9章)-- 读书笔记(上)

《ASP.NET Core 与 RESTful API 开发实战》-- (第8章)-- 读书笔记(尾)

《ASP.NET Core 与 RESTful API 开发实战》-- (第8章)-- 读书笔记(下)

《ASP.NET Core 与 RESTful API 开发实战》-- (第8章)-- 读书笔记(中)

《ASP.NET Core 与 RESTful API 开发实战》-- (第8章)-- 读书笔记(上)

《ASP.NET Core 与 RESTful API 开发实战》-- (第7章)-- 读书笔记(下)

《ASP.NET Core 与 RESTful API 开发实战》-- (第7章)-- 读书笔记(中)

《ASP.NET Core 与 RESTful API 开发实战》-- (第7章)-- 读书笔记(上)

《ASP.NET Core 与 RESTful API 开发实战》-- (第6章)-- 读书笔记(下)

《ASP.ENT Core 与 RESTful API 开发实战》-- (第6章)-- 读书笔记(上)

《ASP.ENT Core 与 RESTful API 开发实战》-- (第5章)-- 读书笔记(下)

《ASP.ENT Core 与 RESTful API 开发实战》-- (第5章)-- 读书笔记(中)

《ASP.ENT Core 与 RESTful API 开发实战》-- (第5章)-- 读书笔记(上)

《ASP.ENT Core 与 RESTful API 开发实战》-- (第4章)-- 读书笔记(下)

《ASP.ENT Core 与 RESTful API 开发实战》-- (第4章)-- 读书笔记(上)

《ASP.ENT Core 与 RESTful API 开发实战》(第3章)-- 读书笔记(下)

《ASP.ENT Core 与 RESTful API 开发实战》(第3章)-- 读书笔记(中)

《ASP.ENT Core 与 RESTful API 开发实战》(第3章)-- 读书笔记(上)

《ASP.ENT Core 与 RESTful API 开发实战》-- 读书笔记(第2章)

《ASP.ENT Core 与 RESTful API 开发实战》-- 读书笔记(第1章)

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

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

相关文章

翠香猕猴桃 和 薄皮核桃,快来下单

猴桃品种有很多&#xff0c;但不是所有的果子都叫翠香。椭圆形&#xff0c;果喙端较尖&#xff0c;黄褐色硬短茸毛&#xff1b;果肉翠绿色&#xff0c;质细多汁&#xff0c;香甜爽口&#xff0c;有芳香味&#xff0c;白色果心。这就是“翠香”&#xff0c;是集酸甜香于一身的猕…

你可能没有听说过 js中的 DOM操作还有这个: HTMLCollection 和 NodeList

一文了解DOM操作中的HTMLCollection和NodeList⛱️序言&#x1f388;一、基础知识1. 定义&#xff08;1&#xff09;HTMLCollection&#xff08;2&#xff09;NodeList2. 属性和方法&#xff08;1&#xff09;HTMLCollection&#xff08;2&#xff09;NodeList&#x1fa81;二、…

leetcode144. 二叉树的前序遍历(递归+迭代)

一:题目 二&#xff1a;上码 1&#xff1a;递归 class Solution { public:void preorder(TreeNode* root,vector<int>&v ) {if(root NULL) return;v.push_back(root->val);preorder(root->left,v);preorder(root->right,v);}vector<int> preorderT…

都说性能调优难?玩转这3款工具,让你秒变“老司机”!

鲁迅说过&#xff1a;菜鸟写业务&#xff0c;老鸟搭架构&#xff0c;高手玩调优。性能调优可谓是食物链顶端的技术&#xff0c;高薪面试必备良品。然而有不少的开发者&#xff0c;工作多年&#xff0c;却对性能调优几乎一无所知&#xff0c;今天就带大家掰扯掰扯&#xff0c;从…

一文梳理JavaScript中常见的七大继承方案

阐述JavaScript中常见的七大继承方案&#x1f4d6;序言&#x1f4d4;文章内容抢先看&#x1f4dd;一、基础知识预备1. 继承的定义2. 继承的方式&#x1f4da;二、6大常见继承方式1. 原型链继承 &#x1f4a1;&#xff08;1&#xff09;构造函数、原型和实例的关系&#xff08;2…

微软发布 Microsoft Edge 85 稳定版

喜欢就关注我们吧&#xff01;微软推出了 Microsoft Edge 85 稳定版&#xff08;85.0.564.41&#xff09;&#xff0c;现在正逐步向用户推送。此版本带来了以下新特性&#xff1a;收藏夹和设置的本地同步。现在可以在自己的环境中的 Active Directory 配置文件之间同步浏览器收…

leetcode94. 二叉树的中序遍历(左中右)

二:上码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* Tre…

浅谈前端路由原理hash和history

浅谈前端路由原理hash和history&#x1f3b9;序言&#x1f3b8;一、前端路由原理1、SPA2、什么时候需要路由&#x1f3b7;二、Hash模式1、定义2、网页url组成部分&#xff08;1&#xff09;了解几个url的属性&#xff08;2&#xff09;演示3、hash的特点&#x1f3ba;三、Histo…

leetcode145. 二叉树的后序遍历

一:题目 二:上码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*…

.NET Core API文档管理组件 Swagger

Swagger这个优秀的开源项目相信大家都用过&#xff0c;不多介绍了&#xff0c;这里简单记录一下使用过程。开源地址&#xff1a;https://github.com/domaindrivendev/Swashbuckle.AspNetCore在项目中添加组件Install-Package Swashbuckle.AspNetCore下面用最少的代码完成接入&a…

「3.4w字」超保姆级教程带你实现Promise的核心功能

保姆级详解promise的核心功能&#x1f4da;序言&#x1f4cb;文章内容抢先看&#x1f4f0;一、js的同步模式和异步模式1. 单线程&#x1f4a1;2. 同步模式&#x1f4a1;&#xff08;1&#xff09;定义&#xff08;2&#xff09;图例3. 异步模式&#x1f4a1;&#xff08;1&…

leetcode199. 二叉树的右视图(层序遍历03)

一:题目 二&#xff1a;上码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(n…

如何做好一个开源项目之徽章(二)

在上一篇【如何做好一个开源项目&#xff08;一&#xff09;】&#xff0c;笔者已经介绍过开源项目运作和维护的一些理念了&#xff0c;本篇开始&#xff0c;笔者将着重于介绍一些开源项目维护过程中的一些细节&#xff0c;比如徽章、构建等等。由于最近经常出差&#xff0c;所…

值得关注的HTML基础

值得关注的HTML基础&#x1f973;序言&#x1f60b;一、网页三大元素&#x1f61c;二、HTML简介1. 定义2. 发展历史&#x1f61d;三、HTML结构1. 引例阐述2. 特点3. HTML页面结构&#xff08;1&#xff09;DOCTYPE&#xff08;2&#xff09;html&#xff08;3&#xff09;head&…

leetcode637. 二叉树的层平均值(层序遍历04)

一:题目 二&#xff1a;上码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(n…

leetcode429. N 叉树的层序遍历(层序遍历05)

一:题目 二&#xff1a;上码 /* // Definition for a Node. class Node { public:int val;vector<Node*> children;Node() {}Node(int _val) {val _val;}Node(int _val, vector<Node*> _children) {val _val;children _children;} }; */class Solution { publi…

10分钟带你探索css中更为奇妙的奥秘

10分钟带你探索css中更为奇妙的奥秘&#x1f4d6;序言&#x1f4c3;一、css是啥1. CSS是什么2. 诞生背景3. 基础规则&#xff08;1&#xff09;一些基础规则&#xff08;2&#xff09;其他重要的语法&#xff08;3&#xff09;选择器&#xff08;4&#xff09;层叠与继承1&…

将微服务部署到 Azure Kubernetes 服务 (AKS) 实践

介绍本文的目的是&#xff1a;通过使用 DockerHub 和 Azure Kubernetes Service (AKS) 将之前 使用 .NET 和 Docker 构建的微服务 部署到微软 Azure 云上&#xff0c;来介绍微服务的基本部署过程。推送到 Docker HubDocker Hub 是世界上最大的容器镜像库和社区。许多产品&#…

leetcode 515. 在每个树行中找最大值(层序遍历06)

一:题目 二&#xff1a;上码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(n…

前端只是切图仔?来学学给开发人看的UI设计

给开发人看的UI设计&#x1f5bc;️序言&#x1f3a8; 一、背景1. 想做一个好的作品2. 没有专业UI&#x1f9f5;二、功能导向1. 设计中最重要的事2. 例子阐述2. 简约设计3. 设计简单的、完整的功能&#x1f9f6;三、设计原则1. 层级&#xff08;1&#xff09;层级是什么&#x…