一、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 ...
随机推荐
-
python学习笔记--基础概要
1.python的int类型没有大小限制(或者说只受机器内存限制),str类型用单引号或者双引号都行,只要对称就可以了.(注意固定性) 2.使用[]表示存取字符串等序列的某一项(索引从0开始) 3.类 ...
-
MUI(4)
今天感觉无聊,想听一首音乐.没有添加其他页面,只是在index_list.html页面进行代码添加而已. <!doctype html> <html> <head> ...
-
C#控件:TabControl
tabcontrol在切换页面的时候经常用到 这里讲下如何让tabcontrol更好看 ref:http://blog.csdn.net/conmajia/article/details/759671 ...
-
jquery 图片手风琴效果
这篇主要是手风琴效果和无缝切换相结合,在Demo里的Demo3.html.Demo4.html. 手风琴原理比较简单,当鼠标经过的时候改变图片的路径,鼠标移到另一张图片时还原路径. 虽然原理简单,但是 ...
-
kubernetes云平台管理实战: 集群部署(一)
一.环境规划 1.架构拓扑图 2.主机规划 3.软件版本 [root@k8s-master ~]# cat /etc/redhat-release CentOS Linux release 7.4.1 ...
-
Centos升级Python 2.7并安装pip、ipython
https://www.cnblogs.com/technologylife/p/6242115.html
-
oozie的shell-action中加入hive脚本命令启动执行shell同时操作hive,抛异常Container killed on request. Exit code is 143 Container exited with a non-zero exit code 143
使用oozie来调度操作,用shell的action执行命令,其中shell里包含着hive -e 操作执行时,oozie窗口报 WARN ShellActionExecutor: - SERVER[ ...
-
windows 7 64bit安装apche php
http://windows.php.net/download#php-5.6-ts-VC11-x64http://www.apachehaus.com/cgi-bin/download.plx 下载 ...
-
SST-超级简单任务调度器结构分析
SST(Super Simple Task) 是一个基于任务优先级.抢占式.事件驱动.RTC.单堆栈的超级简单任务调度器,它基于Rober Ward一篇论文的思想,Miro Samek用C重新编程实现 ...
-
如何查看mysql数据库的引擎/MySQL数据库引擎详解
一般情况下,mysql会默认提供多种存储引擎,你可以通过下面的查看: 看你的mysql现在已提供什么存储引擎:mysql> show engines; 看你的mysql当前默认的存储引擎:mys ...