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 ...
随机推荐
- css实现多行文本溢出显示省略号(…)全攻略
省略号在ie中可以使用text-overflow:ellipsis了,但有很多的浏览器都需要固定宽度了,同时ff这些浏览器并不支持text-overflow:ellipsis设置了,下文来给各位整理一 ...
- 利用伪元素:after清除浮动
一.代码 html代码 <div class="clearfix"></div> css样式 .clearfix{ zoom:1;/*这个属性是为了兼容IE ...
- Oracle PL/SQL Developer集成TFS进行团队脚本文件版本管理
对于传统的使用关系型数据库的大型软件产品,后台数据库的持续开发和维护可能会产生大量的脚本文件,针对这些脚本文件应该怎样比较方便的进行版本管理,以及如何快捷的在团队之间进行权限等协作管理呢?不同的数据库 ...
- IIS Express总结
IIS Express可以说是.NET web开发者必用的服务器,日日夜夜都和它打交道.一直以来,除了遇到什么点什么问题,很少会去关注过它. 今天看到以前转载的一篇博客,就再次温故下,主要包含IIS ...
- jQuery基础 (四)——使用jquery-cookie 实现点赞功能
jquery-cookie 下载地址:https://github.com/carhartl/jquery-cookie 直接上代码 html <span class="jieda-z ...
- vue2.0 实现导航守卫(路由守卫)
路由跳转前做一些验证,比如登录验证,是网站中的普遍需求. 对此,vue-route 提供的 beforeRouteUpdate 可以方便地实现导航守卫(navigation-guards). 导航守卫 ...
- NUnit实战,第一个测试类,测试事件触发是否是并行的
以前测试都是新建一个控制台测试的方式来进行,感觉版本管理啥的非常麻烦.也是非常原始的办法.后来想以前有写过测试单元,不过好久没弄了.Nuget了NUnit后写了正式的第一个测试类. 测试用例: 测试事 ...
- vue+Element实现静态旅游网站
页面效果: 1.用vue脚手架:vue-cli,新建一个vue项目. 2.npm run dev后,给小颖了一句提示:Your application is running here:http://l ...
- [ERROR] Terminal initialization failed; falling back to unsupported java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
1:出现此种错误应该是jar版本包冲突了,启动hive的时候,由于hive依赖hadoop,启动hive,会将hadoop的配置以及jar包等等导入到hive中,导致jar包版本冲突,下面贴一下错误, ...
- COM学习(二)——COM的注册和卸载
COM组件是跨语言的,组件被注册到注册表中,在加载时由加载函数在注册表中查找到对应模块的路径并进行相关加载.它的存储规则如下: 1. 在注册表的HKEY_CLASSES_ROOT中以模块名的方式保存着 ...