ASP.NET Core下发布网站
一、windows下发布到IIS
1、前奏:IIS 上的准备
(1)IIS 必须安装AspNetCoreModule 模块
下载地址:(DotNetCore.2.0.3-WindowsHosting-aspnetcoremodule for iis)
(2)添加网站:
相应的配置:
至此iis配置完毕
2、使用控制台命令发布网站
F:\asp.net core-Project\HelloVS>dotnet publish
F:\asp.net core-Project\HelloVS>dotnet publish -o E:\website\aspnetcoredemo
发布完毕
3、使用vs2017发布网站
右键项目:
选则发布,选择文件系统发布——>发布成功!
二、ASP.NET Core部署到centos7,利用Nginx代理
1、准备centos环境
(1)下载vmvare
(2)下载centos
(3)安装centos
(4)运行虚拟机
由于我装是centos最小系统还需要测试安装网卡,以下为我测试安装网卡的步骤:
ls
ping baidu.com
ifconfig
Cd /etc/sysconfig
Ls
Cd network-scripts/
Ls
Vi ifcfg-ens33 --将onboot=no 改成yes ,按ESC退出编辑
:wq
Service network restart --重启网卡
Ping baidu.com --按CTRL +C 停止
Ifconfig
Sudo yum install net-tools --安装工具
Ifconfig--成功
2、 Install Nginx on CentOS 7
安装nginx作用:nginx的作用像iis,是个web服务器。做转发。
我们发现http://localhost:5000 可以访问。但是通过ip却不能访问。那么我们现在就可以通过80访问nginx,然后nginx再帮我们访问5000。
step one
sudo yum install epel-release
step two
sudo yum install nginx
step three
sudo systemctl start nginx
step four
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
访问centos IP地址
安装成功!
3、在 CentOS 上安装 .NET Core 运行时
下载.net core 网址 https://www.microsoft.com/net/learn/get-started/linuxcentos
step one :Add the dotnet product feed
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[packages-microsoft-com-prod]\nname=packages-microsoft-com-prod \nbaseurl= https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prod\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/dotnetdev.repo'
step two:Install the .NET SDK
sudo yum update
sudo yum install libunwind libicu
sudo yum install dotnet-sdk-2.1.
运行 dotnet --version
显示2.1.4
成功
示例:
Dotnet new webapi
Dotnet run
打开另一个窗口输入:
curl http://localhost:5000/api/values
4、j将asp.net core mvc 项目部署到centos
(1)打开VS2017创建asp.net core mvc 项目,并用文件系统发布。
(2)用FileZilla软件将文件导入到centos里面home文件夹下面的netcore文件夹下,端口为22:
(2)检查文件是否存在以及在centos上启动这个网站。
启动:dotnet mhqtalks.dll
(3)打开另一个编辑器窗口 ,输入
curl http://localhost:5000
这里可以看到网站已经可以访问了
(4)用nginx将80端口映射到5000端口上,配置反向代理
进入nginx安装目录 cd /etc/nginx
查看nginx.conf
vi nginx.conf
可以看到默认是吧所有的*.conf文件引入进来的
刚开始有默认的80端口的配置,我们要把它注释掉
注释后
这时候进入conf.d文件夹发现里面并没有任何文件
这时候我们创建一个netcore.conf文件,将80端口对5000对口进行转发
插入代码:
server {
listen ;
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;
}
}
Esc-:wq
nginx -s reload
systemctl restart nginx
结束。
在这里感谢jeese老师。

友情提示
作者:mhq_martin
博客园地址:http://www.cnblogs.com/mhq-martin/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
ASP.NET Core下发布网站的更多相关文章
- ASP.NET Core下发布网站图解
与ASP.NET时代不同,ASP.NET Core不再是由IIS工作进程(w3wp.exe)托管,而是使用自托管Web服务器(Kestrel)运行,IIS则是作为反向代理的角色转发请求到Kestrel ...
- asp.net core项目发布网站时的选项
发布网站时的选项 Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序. Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的, ...
- 项目开发中的一些注意事项以及技巧总结 基于Repository模式设计项目架构—你可以参考的项目架构设计 Asp.Net Core中使用RSA加密 EF Core中的多对多映射如何实现? asp.net core下的如何给网站做安全设置 获取服务端https证书 Js异常捕获
项目开发中的一些注意事项以及技巧总结 1.jquery采用ajax向后端请求时,MVC框架并不能返回View的数据,也就是一般我们使用View().PartialView()等,只能返回json以 ...
- ASP.NET CORE做的网站运行在docker实践
用VS2017 建立了 DotNet Core 2.2 的网站后,如何转移到 Docker 下运行? 下面分两种方式来实践: 1.直接手动命今行,将本机目录映射进Docker,运行网站.2.制作 Im ...
- 将asp.net core站点发布到IIS上遇到的问题
今天第一次将整个 asp.net core 站点发布到 IIS 上,以前都是发布到 Linux 服务器上. 开始使用 dotnet publish -c release 命令发布,用浏览器访问站点时出 ...
- 在 Mac OS 上创建并运行 ASP.NET Core 1.0 网站
var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...
- 创建asp.net core 的静态网站
这个名字听起来很怪 既然是静态网站 为什么要是asp.net core的呢? 1.在vs上面好像不能创建纯静态的网站,所以我们就想创建一个asp.net core的空网站 然后在里面使用静态的html ...
- ASP.NET Core IIS发布
ASP.NET Core应用发布到IIS 官网教程地址:https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/publish-to-iis?vi ...
- Windows平台部署 Asp.Net Core 3.1.0,将 ASP.NET Core 应用发布到 IIS ,使用 IIS 在 Windows 上托管 ASP.NET Core
第一部分:本教程介绍如何在 IIS 服务器上托管 ASP.NET Core 应用. 官方文档地址:https://docs.microsoft.com/zh-cn/aspnet/core/tutori ...
随机推荐
- C# 字符串的连接
1.利用 "+"(加号)运算符: string str = "Hello"+ "World": console.WriteLine(str) ...
- SQLServer LinkServer 链接服务器
Linked Server简介 我们日常使用SQL Server数据库时,经常遇到需要在实例Instance01中跨实例访问Instance02中的数据.例如在做数据迁移时,如下语句: insert ...
- Spark 学习笔记大纲
Spark 内核 第28课:Spark天堂之门解密 (点击进入博客)从 SparkContext 创建3大核心对象开始到注册给 Master 这个过程中的源码鉴赏 第29课:Master HA彻底解密 ...
- 纯js代码生成可搜索选择下拉列表
1.因为动态的css楼主写不出来,因此需要引入layui中的css样式:<link rel="stylesheet" href="${ctxStatic}/layu ...
- Centos6.4三种更改hostname的方法之间的对比
首先,利用hostname命令查看一下当前主机的主机名,在终端输入hostname,会发现显示的是完整的主机名称(主机名.域名),其中主机名与进入终端后:登录名@主机名,显示的一致,如下图所示: 其次 ...
- java中碰到无法解决的问题:无法访问类的getter访问器
大牛们来看看,俺这是咋了?因博问不让发图,发到这里求助: 以上两个方法都是从mysql中select数据,为嘛第二个出现辣鸡报错? 请注意: reslist.size() = 289 第二种方法已经获 ...
- jquery 获取URL相对/绝对路径问题
在B/s系统中,使用jquery做图片上传时通常会遇到获取不到路径的的问题,这是因为系统不允许浏览器的访问而进行限制造成的, 一般获取到的都是C://Program Files/~/文件位置.而在有时 ...
- MySQL并发复制系列二:多线程复制 2016
并发复制(Parallel Replication) 系列二: Enhanced Multi-threaded Slaves作者:沃趣科技MySQL数据库工程师 麻鹏飞 首先梳理下传统MySQL/M ...
- [转载]MySQL5.6 PERFORMANCE_SCHEMA 说明
背景: MySQL 5.5开始新增一个数据库:PERFORMANCE_SCHEMA,主要用于收集数据库服务器性能参数.并且库里表的存储引擎均为PERFORMANCE_SCHEMA,而用户是不能创建存储 ...
- Python文章相关性分析---金庸武侠小说分析
百度到<金庸小说全集 14部>全(TXT)作者:金庸 下载下来,然后读取内容with open('names.txt') as f: data = [line.strip() for li ...