ASP.NET Core快速入门(第1章:介绍与引入)--学习笔记
课程链接:http://video.jessetalk.cn/course/explore
良心课程,大家一起来学习哈!
任务1:课程介绍
- 1、介绍与引入
- 2、配置管理
- 3、依赖注入
- 4、ASP.NET Core HTTP介绍
- 5、认证与授权
- 6、ASP.NET Core MVC
任务2:环境安装
下载地址:https://dotnet.microsoft.com/download
通过 visualstudio 安装:菜单栏上点击工具--获取工具和功能(T),勾选 .NET CORE

打开 PowerShell(管理员),输入以下命令验证是否安装成功
PS C:\WINDOWS\system32> dotnet
任务3:在控制台创建ASP.NET Core应用程序
查看模板:
PS C:\WINDOWS\system32> dotnet new --help
新建项目 ASP.NET Core Web App (Model-View-Controller)
PS D:\jessetalk> mkdir aspdotnetcore
PS D:\jessetalk> cd .\aspdotnetcore\
PS D:\jessetalk\aspdotnetcore> dotnet new mvc
启动项目
PS D:\jessetalk\aspdotnetcore> dotnet run
浏览器访问:https://localhost:5001/

任务4:在VS中创建ASP.NET Core应用程序
在 VS 中通过 IIS Express 启动

官方推荐在开发和测试的时候通过控制台启动,因为通过控制台启动之后,日志会自动输出


任务5:部署到IIS
Windows10如何安装IIS:https://jingyan.baidu.com/article/eb9f7b6d9e73d1869364e8d8.html
下载 ASP.NET Core Module:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/aspnet-core-module?view=aspnetcore-2.2
安装完成后在 iis 的模块下面可以找到以下模块

在 iis 中添加网站,停掉 Default 网站,新建文件夹sites,在sites里面新建文件夹aspdotnetcoredemo

在应用程序池中修改 .NET CLR 版本,不然无法运行,因为托管代码指代码编译成IL代码后在dotnet framework下运行,aspdotnetcore需要修改为无托管代码才可以运行

在控制台发布
PS D:\jessetalk\aspdotnetcore> dotnet publish
发布结果

发布到指定目录
PS D:\jessetalk\aspdotnetcore> dotnet publish -o D:\jessetalk\sites\aspdotnetcoredemo
浏览发布的网站


通过 VS 发布:
清空该目录下面的内容:D:\jessetalk\sites\aspdotnetcoredemo,刷新浏览器

在 VS 中,项目右键--发布,通过文件夹发布

刷新浏览器

任务6:准备CentOS和Nginx环境
下载 vmware workstation
官网:https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html
下载 CentOS,选择 Minimal ISO
官网:https://www.centos.org/download/
第一次启动可能出现VMware与 Device/Credential Guard 不兼容 :https://jingyan.baidu.com/article/9f63fb916b50e1c8400f0ebf.html
手动安装组件:
网卡

修改为 yes

重启网卡

安装 ifconfig 命令


得到 ip 地址 192.168.204.128 之后可以通过 putty 连接(SSH方式)
putty下载地址:https://putty.org/
使用 putty 连接 cenos 之后可以方便复制粘贴命令
安装 Nginx:https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-centos-7
安装完成后浏览器访问:192.168.204.128

任务7:在CentOS上安装.NET Core运行时
cenos 安装 asp .net core 环境:https://www.asp.net/core/overview/aspnet-vnext
安装后验证:
[root@localhost ~]# dotnet
[root@localhost ~]# dotnet --version
[root@localhost ~]# dotnet new --help
[root@localhost ~]# cd /
[root@localhost /]# cd home
[root@localhost home]# mkdir netcore
[root@localhost home]# mkdir helloCore
[root@localhost home]# cd helloCore
[root@localhost helloCore]# dotnet new webapi
[root@localhost helloCore]# dotnet run
通过另一个 putty 连接访问
[root@localhost ~]# curl http://localhost:5000/api/values
任务8:部署到CentOS
下载 FileZilla :https://filezilla-project.org/
通过 ftp 将之前发布在 sites 目录下的文件上传到 cenos 上的 netcore 文件夹里

启动网站
[root@localhost home]# cd netcore
[root@localhost netcore]# ls
appsettings.Development.json aspdotnetcore.pdb web.config
appsettings.json aspdotnetcore.runtimeconfig.json wwwroot
aspdotnetcore.deps.json aspdotnetcore.Views.dll
aspdotnetcore.dll aspdotnetcore.Views.pdb
[root@localhost netcore]# dotnet aspdotnetcore.dll
Hosting environment: Production
Content root path: /home/netcore
Now listening on: http://localhost:5000
Now listening on: https://localhost:5001
Application started. Press Ctrl+C to shut down.
通过另一个 putty 访问
[root@localhost ~]# curl http://localhost:5000
使用 nginx 将 80 端口 映射到 5000 端口 下
[root@localhost ~]# cd /etc/nginx
[root@localhost nginx]# ls
conf.d koi-utf scgi_params
default.d koi-win scgi_params.default
fastcgi.conf mime.types uwsgi_params
fastcgi.conf.default mime.types.default uwsgi_params.default
fastcgi_params nginx.conf win-utf
fastcgi_params.default nginx.conf.default
[root@localhost nginx]# vi nginx.conf
注释掉 nginx.conf 文件中默认 80 的 server
# server {
# listen 80 default_server;
# listen [::]:80 default_server;
# server_name _;
# root /usr/share/nginx/html;
#
# # Load configuration files for the default server block.
# include /etc/nginx/default.d/*.conf;
#
# location / {
# }
#
# error_page 404 /404.html;
# location = /40x.html {
# }
#
# error_page 500 502 503 504 /50x.html;
# location = /50x.html {
# }
# }
nginx.conf 文件中将所有 .conf 文件引入进来
# include /etc/nginx/default.d/*.conf;
修改 netcore.conf
[root@localhost nginx]# cd conf.d
[root@localhost nginx]# vi netcore.conf
netcore.conf
server {
listen 80;
location / {
proxy_pass http://localhost:5000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
重启 nginx
[root@localhost conf.d]# nginx -s reload
[root@localhost conf.d]# systemctl restart nginx
浏览器访问:http://192.168.204.128/


本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
欢迎转载、使用、重新发布,但务必保留文章署名 郑子铭 (包含链接: http://www.cnblogs.com/MingsonZheng/ ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。
如有任何疑问,请与我联系 (MingsonZheng@outlook.com) 。
ASP.NET Core快速入门(第1章:介绍与引入)--学习笔记的更多相关文章
- ASP.NET Core快速入门--学习笔记系列文章索引目录
课程链接:http://video.jessetalk.cn/course/explore 良心课程,大家一起来学习哈! 抓住国庆假期的尾巴完成了此系列课程的学习笔记输出! ASP.NET Core快 ...
- 【笔记目录2】【jessetalk 】ASP.NET Core快速入门_学习笔记汇总
当前标签: ASP.NET Core快速入门 共2页: 上一页 1 2 任务27:Middleware管道介绍 GASA 2019-02-12 20:07 阅读:15 评论:0 任务26:dotne ...
- 【笔记目录1】【jessetalk 】ASP.NET Core快速入门_学习笔记汇总
当前标签: ASP.NET Core快速入门 共2页: 1 2 下一页 任务50:Identity MVC:DbContextSeed初始化 GASA 2019-03-02 14:09 阅读:16 ...
- ASP.NET Core 快速入门(Razor Pages + Entity Framework Core)
引子 自从 2009 年开始在博客园写文章,这是目前我写的最长的一篇文章了. 前前后后,我总共花了 5 天的时间,每天超过 3 小时不间断写作和代码调试.总共有 8 篇文章,每篇 5~6 个小结,总截 ...
- ASP.NET Core快速入门学习笔记(第3章:依赖注入)
课程链接:http://video.jessetalk.cn/course/explore 良心课程,大家一起来学习哈! 任务16:介绍 1.依赖注入概念详解 从UML和软件建模来理解 从单元测试来理 ...
- ASP.NET Core快速入门学习笔记(第2章:配置管理)
课程链接:http://video.jessetalk.cn/course/explore 良心课程,大家一起来学习哈! 任务9:配置介绍 命令行配置 Json文件配置 从配置文件文本到c#对象实例的 ...
- ASP.NET Core快速入门学习笔记(第1章:介绍与引入)
课程链接:http://video.jessetalk.cn/course/explore 良心课程,大家一起来学习哈! 任务1:课程介绍 任务2:环境安装 下载地址:https://dotnet.m ...
- ASP.NET Core快速入门(第2章:配置管理)- 学习笔记(转载)
原文地址:https://mp.weixin.qq.com/s?__biz=MjM5NjMzMzE2MA==&mid=2451733443&idx=2&sn=6d01721c5 ...
- ASP.NET Core快速入门(第2章:配置管理)--学习笔记
课程链接:http://video.jessetalk.cn/course/explore 良心课程,大家一起来学习哈! 任务9:配置介绍 命令行配置 Json文件配置 从配置文件文本到c#对象实例的 ...
随机推荐
- git遇到的错误和解决方法(长期更新)
1:场景:将两个git合并成一个git url,由于项目超过100M,所以出现错误,以下是解决方案:
- Java并发编程杂记(2)
对象共享 synchronized 设定原子性确定临界区 + 内存可见性 要解决如下问题 防止一个线程在使用对象状态而另一个线程在修改对象状态:且当一个线程修改了对象状态后,对其他线程可见. 可见 ...
- SSH免密码登录和Git免密操作
SSH免密码登录和Git免密操作 每次打完包后都需要把包传到对应的服务器上从而让测试人员下载安装,但是每次ssh或scp时都需要重新输入密码:使用git代码托管平台只要修改了密码就需要输入密码.本文主 ...
- java.lang.IllegalArgumentException: Prometheus requires that all meters with the same name have the same set of tag keys.
创建Spring Cloud Sleuth对应Zipkin服务,引入依赖: <dependency> <groupId>io.zipkin.java</groupId&g ...
- emacs 窗口控制
1,调整窗口大小 c-c ^ 窗口变高 c-c } 窗口变宽 c-c { 窗口变窄 2,窗口间移动 ;;这一条语句的作用是让 windmove 在边缘的窗口也能正常运作.举个例子,当前窗口已\\ 经是 ...
- weblogic(一).简介与安装
weblogic(一).简介与安装 WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发.集 ...
- ubuntu中输入arm-linux-gcc -v出现no such file or directory
这个问题困扰了我差不多两天时间了,明明已经安装了arm-linux-gcc,且系统变量和用户变量都配置好了 但每次输入arm-linux-gcc -v都会出现如题所示错误.最终经过查到一个帖子有说是因 ...
- 02-align-items的用法
侧轴是相对的 默认主轴是x 所以侧轴就是y轴 align-items设置侧轴上的子元素排列的方式(单行)纵轴方向上的对齐方式 align-items: flex-start; 顶部对齐 align-i ...
- 2018年蓝桥杯B组C/C++决赛题解
2018年第九届蓝桥杯B组C/C++决赛题解 点击查看2018年蓝桥杯B组C/C++决赛题目(不含答案) 1.换零钞 ok 枚举 设x表示1元钱的个数,y表示2元钱的个数,z表示5元钱的个数 x+21 ...
- 【西北师大-2108Java】第二次作业成绩汇总
2[西北师大-2108Java]第二次作业成绩汇总 以命令行方式或在Eclipse集成开发环境中编辑.编译.运行第3章示例程序3-1-3-5,结合程序运行结果理解程序代码,每个示例程序从语法.算法两个 ...