ASP.NET Core部署到CentOS7,使用Nginx代理
ASP.NET Core 的运行环境由新开发的 Kestrel Server 负责,IIS 退回到 HTTP 的侦听器的角色,微软也特别为了这个需求开发了 IIS Platform Handler,以处理 HTTP 与运行环境之间的信息转发工作,微软官方推荐在Linux服务器上使用Nginx,Haproxy等代理Kestrel Server,具体参考 http://weblog.west-wind.com/posts/2016/Jun/06/Publishing-and-Running-ASPNET-Core-Applications-with-IIS。
基础环境和相关软件准备
一、CentOS7.1 64位系统(或者其他CentOS版本的64位系统)
二、XShell软件(Windows环境下的Linux终端)
三、.NetCore安装运行
1.下载安装,下载地址,https://www.microsoft.com/net/download#core
2.创建项目
3.还原依赖库&运行程序
4.发布程序&运行程序
5.后台运行
四、Nginx
1.下载安装
3.运行Nginx
2.配制环境
4.运行效果
操作步骤
一、虚拟机安装好CentOS7.1系统,并调试好网络
二、安装好XShell软件
三、.Net Core安装运行
1、下载安装
yum install libunwind libicu
curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?LinkID=809131
sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet
sudo ln -s /opt/dotnet/dotnet /usr/local/bin
命令简单解释
1)安装必要的支持包
2)下载.Net Core安装包(有点大,需要耐心等待。。。。)
3)解压安装包并将文件拷贝到/opt/dotnet目录
4)在/usr/local/bin目录下创建一个名为dotnet的软链接文件指向 /opt/dotnet/dotnet文件,软链接理解为快捷方式即可
2、创建.Net Core应用程序
mkdir mvctest
cd mtctest
dotnet new mvc --auth None --framework netcoreapp1.1
命令简单解释
1)创建名为mvctest的目录
2)进入该目录
3)执行dotnet new命令创建一个.Net Core MVC项目
3、还原依赖库&运行程序
dotnet restore
dotnet run
会运行在本机的localhost:5000端口,这时dotnet mvc项目已经跑起来了
命令解释
1)根据mvctest项目中的project.json配置文件来还原依赖库文件(其实就是Nuget从远端服务器上下载相关依赖文件)
2)运行mvctest程序(默认访问地址为:http://localhost:5000)
4、发布程序&运行程序
第3步已经可以运行程序了,是Debug运行,发布后是Release运行,会有优化
dotnet publish -c release
dotnet run /root/web/mvc/bin/release/netcoreapp1.1/mvc.dll
5、后台运行
vim Start.sh,写入如下内容
chmod +x Start.sh,给文件加入执行权限
执行脚本,./Start.sh, 程序后台运行,可以关闭Shell窗口
四、Nginx
1、下载安装
yum install nginx 提示没有可用的软件包,因为nginx位于第三方的yum源里面,而不在centos官方yum源里面
解决方案:安装epel;
去epel官网: http://fedoraproject.org/wiki/EPEL下载;这里面东西有点多难找;
2、运行Nginx
命令:systemctl start nginx 来启动nginx。
或者 service nginx start
命令:systemctl enable nginx 来设置nginx的开机启动(linux宕机、重启会自动运行nginx不需要连上去输入命令)。
或者chkconfig nginx on
运行成功后可以进浏览器看一下Nginx是否能正常运行
3、配制环境
1)配置防火墙
命令:firewall-cmd --zone=public --add-port=80/tcp --permanent(开放80端口)
命令:systemctl restart firewalld(重启防火墙以使配置即时生效)
2)关闭SELinux ,使用getenforce 查询
临时关闭(不用重启机器):
setenforce 0 ##设置SELinux 成为permissive模式
##setenforce 1 设置SELinux 成为enforcing模式
修改配置文件需要重启机器:
修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
重启机器即可
3) 修改Nginx 配制,保存
命令: vim /etc/nginx/nginx.conf
location / {
proxy_pass http://localhost:5000;
}
4) 重新加载Nginx配制文件
命令:nginx -t 测试配制文件是否正确
命令:nginx -s reload 重新加载nginx配制文件,不用重启nginx
4、运行效果
ASP.NET Core部署到CentOS7,使用Nginx代理的更多相关文章
- asp.net Core 部署到CentOs7上,使用Nginx做代理
一.CentOs7部署Nginx 1.准备工作 Nginx的安装依赖于以下三个包,意思就是在安装Nginx之前首先必须安装一下的三个包,注意安装顺序如下: 1 SSL功能需要openssl库,直接通过 ...
- ASP.NET Core部署系列二:发布到CentOS上
前言: 在上一节中,通过一系列的步骤,已经将项目部署到IIS上,虽然遇到了一些问题,但最终解决并成功运行了.而在这一节中,将尝试通过linux系统的环境下,部署项目,实现Net Core跨平台的亮点. ...
- ASP.NET CORE部署到Linux
ASP.NET CORE部署到CentOS中 在Linux上安装.NET Core 参考:https://www.microsoft.com/net/core#linuxcentos 配置Nginx ...
- ASP.NET Boilerplate 学习 AspNet Core2 浏览器缓存使用 c#基础,单线程,跨线程访问和线程带参数 wpf 禁用启用webbroswer右键菜单 EF Core 2.0使用MsSql/MySql实现DB First和Code First ASP.NET Core部署到Windows IIS QRCode.js:使用 JavaScript 生成
ASP.NET Boilerplate 学习 1.在http://www.aspnetboilerplate.com/Templates 网站下载ABP模版 2.解压后打开解决方案,解决方案目录: ...
- Asp.Net Core部署到Linux服务器
从2016年7月, .NET Core1.0 正式发布开始,由于时间问题,我没怎么关注过.NET Core,最近刚抽出点时间研究了下,先讲下如何把ASP.NET Core部署到Linux上吧.这里我用 ...
- 又一篇Centos7下的asp.net core部署教程
历程2个多月的学习,我终于从PHP转.Net开发了. 从壹开始前后端分离[ .NETCore2.1 +Vue 2 +AOP+DI]框架 感谢老张的博客,我对asp.net core入门主要就是靠他的博 ...
- Linux+Nginx+Asp.net Core部署
上篇<Docker基础入门及示例>文章介绍了Docker部署,以及相关.net core 的打包示例.这篇文章我将以oss.offical.site站点为例,主要介绍下在linux机器下完 ...
- ASP.net Core部署说明(Ubuntu) [转]
最近在学习asp.net core,当然学习的目的是想了解一下,Asp.net core是否真的能够是先跨平台部署. 根据目前官网资料说明,asp.net core只有在Redhat 企业版上,才能够 ...
- 从零开始,将ASP.NET Core部署到Linux生产环境
研究.NET Core已经一段时间了,一直都是在Windows上开发,这2天尝试着将公司一个很简单的内部Web项目改造成了ASP.NET Core,并且部署到Linux上.生产环境如下: Linux ...
随机推荐
- vue视频学习笔记03
video 3 git page:任何仓库 master分支,都可以发布(git page)-------------------------------------双向过滤器:Vue.filter( ...
- redis的主从复制
一.主从复制概述 二.主从复制的过程:
- 谈谈对Spring IOC的理解(转载)
学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的,今天和大家 ...
- Kafka学习-Producer和Customer
在上一篇kafka入门的基础之上,本篇主要介绍Kafka的生产者和消费者. Kafka 生产者 kafka Producer发布消息记录到Kakfa集群.生产者是线程安全的,可以在多个线程之间共享生产 ...
- j2ee分布式架构 dubbo + springmvc + mybatis + ehcache + redis 分布式架构
介绍 <modules> <!-- jeesz 工具jar --> <module>jeesz-utils</module> ...
- Error:Android Source Generator: [sdk] Android SDK is not specified.
有时候使用intellij idea 带入android 项目,运行提示Error:Android Source Generator: [sdk] Android SDK is not specifi ...
- struts2.1.6教程八、验证机制
注意:要想实现校验,action必须继承自ActionSupport类. 1.基于手工编码的校验 我们建立struts2validate项目 ,其中reg.jsp页面主要代码如下: <body& ...
- linux 命令(alias , unalias , install ,ar , arch ,uname )
https://linux.die.net/man/ http://man.linuxde.net/ user commands 1.alias [ˈālēəs]:别名 alias --help al ...
- PF2.1版本总结,在设计过程中遇到的问题以及技术分享
在距离上一次的版本发布已经过去4个月的时间,因为个人的能力以及时间有限,所以这次的版本会推迟这么久.可是无论怎样,PF2.1带着自身的完善总算不负所望推出.在这次的版本调整中让我深有体会到了程序设计中 ...
- Include promo/activity effect into the prediction (extended ARIMA model with R)
I want to consider an approach of forecasting I really like and frequently use. It allows to include ...