.NET Core发布部署的文章园内有很多了,大家可以自行百度,该篇主要想总结需要注意的地方,列举前后端(比如前段 Vue,后端 WebAPI)在同一台服务器上的主要两种方式。

两种方式:

1. 前后端不同站点,。(也就是两个端口)

2. 前后端一个站点。(只需要一个端口)

在部署环境上下载安装SDK,注意下载的版本一定要和你编译使用的版本一致,不然部署到IIS会报错。

具体.Net Core版本、SDK版本、Runtime版本的对照关系见官网:

Runtime(winth hosting) +  SDK: https://dotnet.microsoft.com/download

另,如果想在.NET Core 项目指定SDK版本,可以参考如下命令操作:

D:\proj\mq\test>dotnet --list-sdks
2.1. [C:\Program Files\dotnet\sdk]
2.1. [C:\Program Files\dotnet\sdk]
3.0. [C:\Program Files\dotnet\sdk] D:\proj\mq\test>dotnet new console -o testproj
Getting ready...
The template "Console Application" was created successfully. Processing post-creation actions...
Running 'dotnet restore' on testproj\testproj.csproj...
D:\proj\mq\test\testproj\testproj.csproj ???? 83.4 ms ???? Restore succeeded. D:\proj\mq\test>dotnet --version
3.0. D:\proj\mq\test>cd testproj D:\proj\mq\test\testproj>dotnet new global.json --sdk-version 2.1.500
The template "global.json file" was created successfully. D:\proj\mq\test\testproj>dotnet --version
2.1.

前后端不同站点

// NetCore 后端部分

0、编译项目,保证代码没问题,并配置 CORS 跨域服务;

app.UseCors (builder => builder
.AllowAnyOrigin ()
.AllowAnyMethod ()
.AllowAnyHeader ()
.AllowCredentials ());

①、发布项目;//一般 publish 路径是 bin/Debug/netcore2.2

②、拷贝到服务器指定文件夹;

③、IIS 添加站点;// 端口 1001

④、修改应用程序池为“无托管”;//这也是为啥要安装 windows hosting 的原因

⑤、安装 windows hosting(服务托管);//这是一个捆包,已经包含 Runtime

⑥、重启项目,查看是否正常;http://localhost:1001/

// Vue 前端部分

①、Build 项目;

②、拷贝到服务器指定文件夹;

③、IIS 添加站点;// 端口 1002

④、运行项目,查看是否正常;http://localhost:1002/

前后端一个站点

操作步骤和上边的其实是几乎一样的,只不过我们不需要配置 CORS 跨域了,因为是同一个站点,且是只需要一个端口号。

// NetCore 后端部分,和上边的几乎一样,只不过不用进行 CORS 跨域设置

①、发布项目;

②、拷贝到服务器指定文件夹;

③、IIS 添加站点;// 端口 1003

④、修改应用程序池为“无托管”;//这也是为啥要安装 windows hosting 的原因

⑤、安装 windows hosting(服务托管);//这是一个捆包,已经包含 Runtime

⑥、重启项目,查看是否正常;http://localhost:1003/

// Vue 前端部分

①、修改根路径,并且 Build 项目;// 还要修改接口api的路径

②、拷贝到服务器指定文件夹;//可以和 core 项目放到一起

③、修改 Core 的 IIS 站点,在它的站点内,嵌套一个vue站点(在Core的IIS站点右键选择“添加应用程序”);// 取名为 Vue

④、运行项目,查看是否正常;http://localhost:1003/vue/

最后一点,其实你还可以通过CLI来运行你发布的程序,切换到你发布文件夹下,输入以下命令:

dotnet NetCoreProj.API.dll

ASP.NET Core 入门(4)(IIS 部署前后端站点)的更多相关文章

  1. RoadFlow ASP.NET Core工作流引擎IIS部署

    RoadFlow最新版本采用ASP.NET CORE2.1开发,部署步骤和.NET CORE部署一样,具体可参数ASP.NET CORE的部署方式. 1. 获取代码 首先从RoadFlow官网下载最新 ...

  2. CentOS开发ASP.NET Core入门教程

    作者:依乐祝 原文地址:https://www.cnblogs.com/yilezhu/p/9891346.html 因为之前一直没怎么玩过CentOS,大多数时间都是使用Win10进行开发,然后程序 ...

  3. ASP.NET Core入门(一)

    大家好,很荣幸您点了开此篇文章,和我一起来学习ASP.NET Core,此篇文字为<ASP.NET Core入门>系列中的第一篇,本系列将以一个博客系统为例,从第一行代码,到系统发布上线( ...

  4. ASP.NET CORE 入门教程(附源码)

    ASP.NET CORE 入门教程 第一课 基本概念 基本概念 Asp.Net Core Mvc是.NET Core平台下的一种Web应用开发框架 符合Web应用特点 .NET Core跨平台解决方案 ...

  5. ASP.NET Core入门

    一.搭建开发环境 在Windows平台下,开发.NET Core 程序需要安装如下内容: 1. .NET Core runtime 2. Visual Studio 2015 with Update ...

  6. ASP.NET Core ASP.NET Core+MVC搭建及部署

    ASP.NET Core+MVC搭建及部署 一.创建项目: 1.选择ASP.NET Core Web Application(.NET Core) 注意框架 2.选择Web Application: ...

  7. windows/Linux下设置ASP.Net Core开发环境并部署应用

    10分钟学会在windows/Linux下设置ASP.Net Core开发环境并部署应用 创建和开发ASP.NET Core应用可以有二种方式:最简单的方式是通过Visual Studio 2017 ...

  8. [转]Publishing and Running ASP.NET Core Applications with IIS

    本文转自:https://weblog.west-wind.com/posts/2016/Jun/06/Publishing-and-Running-ASPNET-Core-Applications- ...

  9. ASP.NET Core 入门教程 10、ASP.NET Core 日志记录(NLog)入门

    一.前言 1.本教程主要内容 ASP.NET Core + 内置日志组件记录控制台日志 ASP.NET Core + NLog 按天记录本地日志 ASP.NET Core + NLog 将日志按自定义 ...

随机推荐

  1. Cookie的使用(js-cookie插件)

    js-cookie 官方文档 里面就详细的介绍了es5怎么引用,以下是ES6以上的用户 一.安装 npm install js-cookie --save 二.引用 import Cookies fr ...

  2. word中英文双引号的样式区分与替换技巧

    https://jingyan.baidu.com/article/3f16e003147ea42590c10349.html 场景:一篇word文档中,想要全选更改字体,使得中文全部为“宋体”,英文 ...

  3. libcurl在mac上编译

    wget http://ftp.gnu.org/gnu/m4/m4-1.4.17.tar.gz wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.t ...

  4. SQL语句里合并两个select查询结果

    SQL UNION 操作符UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每条 ...

  5. The pom for XXX is missing,no dependency information available

    笔者进行性能测试时,碰到如下问题 性能测试代码编写,调试通过之后.使用cmd进入项目根目录,意图打包导出项目中所有的依赖包,以便导入至jmeter工具中 cmd中使用命令:mvn dependency ...

  6. [ML] Decision Tree & Ensembling Metholds

    热身:分类问题若干策略 SVM, LR, Decision Tree的比较 同样是分类:SVM.LR.决策树,三者之间有什么优劣势呢? 答:Are decision tree algorithms l ...

  7. videojs改变音量大小

    <audio id=example-video preload="auto" class="video-js vjs-default-skin" type ...

  8. Permission denied: user=dr.who, access=READ_EXECUTE, inode="/tmp":student:supergroup:drwx------权限问题

    在查看browse directory时,点击tmp,无法进入,报错:“Permission denied: user=dr.who, access=READ_EXECUTE, inode=" ...

  9. lumen response全局函数设置header

    设置header Cache-Controlreturn response()->json($return)->header('Cache-Control', 'public');

  10. sql-获取重复和删除重复数据

    //获取相同用户名的数据 //删除相同的数据,保留最大的id或者最小的id min(id) delete from user where id not in(select max(id) from u ...