1.环境说明

服务器系统:CentOS 7.4  64位

相关工具:Xshel、Xftp

.net Core版本:2.2

VS版本:2017

服务器软件软件:.netcore、nginx、supervisor、policycoreutils-python

2.ASP.NET Core应用程序准备

这边我使用一个空的Web项目来进行演示,因为本篇主要介绍生产环境的部署,与应用无关。

首先发布到本地IIS文件夹进行测试无误

具体IIS部署.net core 见 :

https://www.cnblogs.com/Liyuting/p/10310444.html

3.安装.NET Core SDK for CentOS7

此处引用微软官方给出的命令进行安装:

https://dotnet.microsoft.com/download/linux-package-manager/centos/sdk-current

输入 dotnet --info 来查看是否安装成功

如果可以执行则表明.NET Core SDK安装成功。

4.部署ASP.NET Core应用程序

在home 里面新建 test 文件夹,用来保存上传的core

上传之前发布的文件夹至/home/test/

检查是否能够运行

cd进入test 文件,执行Linux.dll

这里可以新建一个连接,

# curl http://localhost:5000

出现如下图所示

如果出现这些信息则表示成功运行。

这时候我们只能在本地进行访问,无法使用IP访问,这时候我们需要部署一个web容器来进行转发。

5.配置Nginx

5.1 安装Nginx

curl -o  nginx.rpm http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

rpm -ivh nginx.rpm

yum install nginx

安装成功!

输入:systemctl start nginx 来启动nginx。

输入:systemctl enable nginx 来设置nginx的开机启动(linux宕机、重启会自动运行nginx不需要连上去输入命令)。

5.2配置防火墙

命令:firewall-cmd --zone=public --add-port=80/tcp --permanent(开放80端口)

命令:systemctl restart firewalld(重启防火墙以使配置即时生效)

ps:此处如果出现错误,请检查防火墙的开启状态。

直接输入IP测试nginx是否可以访问。

5.3 配置nginx对ASP.NET Core应用的转发

修改 /etc/nginx/conf.d/default.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;}
}

上传至CentOS进行覆盖。

执行:sudo nginx -s reload 使其即时生效

这时候再次尝试访问。

这个问题是由于SELinux保护机制所导致,我们需要将nginx添加至SELinux的白名单。

接下来我们通过一些命令解决这个问题。。

yum install policycoreutils-pythonsudo cat /var/log/audit/audit.log | grep nginx | grep denied | audit2allow -M mynginxsudo semodule -i mynginx.pp

PS:如果执行命令时出现下列情况:

执行 sudo cat /var/log/audit/audit.log | grep nginx | grep denied | audit2allow -M mynginx
时出现:you must specify the -p option with the path to the policy file

请先检查SELinux是否被禁用掉了

在/etc/sysconf下有一个SeLinux文件,使用记事本打开,更改其中的SELINUX项的值就可以了。

  • SELINUX=disable  禁用SeLinux
  • SELINUX=enforcing  使用SeLinux

再次尝试访问。

至此基本完成了部署。

其他参考链接:http://www.cnblogs.com/ants/p/5732337.html

Linux下禁用、启用SeLinux: https://www.cnblogs.com/tdcqma/p/5671299.html

DotNet Core 2.0部署后外网IP访问: https://www.cnblogs.com/chenyangsocool/p/7707495.html

转载于:https://www.cnblogs.com/Liyuting/p/10310254.html

.net Core 部署到 Linux相关推荐

  1. .NET Core部署到linux(CentOS)最全解决方案,高阶篇(Docker+Nginx 或 Jexus)

    在前两篇: .NET Core部署到linux(CentOS)最全解决方案,常规篇 .NET Core部署到linux(CentOS)最全解决方案,进阶篇(Supervisor+Nginx) 我们对. ...

  2. .NET Core部署到linux(CentOS)最全解决方案,常规篇

    本文为大家介绍使用 .NET Core部署到Linux服务器的方法,通过本文你将了解到Linux在虚拟机下的安装.Xshell,Xftp的使用方法.git在linux下的交互使用以及.net core ...

  3. ASP.NET Core部署到Linux服务器(CentOS7 x64)

    前言 本文主要讲解如何一步步将ASP.NET Core网站发布到Linux服务器,文中会讲解具体步骤及需要避免的各种问题. 目录 一.环境介绍 二.创建及发布ASP.NET Core网站项目 三.服务 ...

  4. Linux下数据库连接超时时长,关于.Net Core 部署在Linux下连接SqlServer数据库超时解决办法...

    .Net Core 在 Linux 下连接 SqlServer 需要 SqlServer2008 SP3或以上版本,或SqlServer2012,或SqlServer2014. 如果SqlServer ...

  5. .net core 部署在Linux系统上运行的环境搭建

    目录 参照官方文档,地址:https://www.microsoft.com/net/learn/dotnet/hello-world-tutorial#install ​​​​​​​ 1.添加yum ...

  6. ASP.NET Core 实战:Linux 小白的 .NET Core 部署之路

    一.前言  最近一段时间自己主要的学习计划还是按照毕业后设定的计划,自己一步步的搭建一个前后端分离的 ASP.NET Core 项目,目前也还在继续学习 Vue 中,虽然中间断了很长时间,好歹还是坚持 ...

  7. .NET5都来了,你还不知道怎么部署到linux?最全部署方案,总有一款适合你

    随着2020进入4季度,.NET5正式版也已经与大家见面了.不过,尽管 .NET Core发布已经有四五年的时间,但到目前为止,依旧有很多.NET开发者在坚守者.NET4,原因不尽相同,但最大的问题可 ...

  8. .NET Core项目部署到linux(Centos7)

    1.开篇说明 a 上篇博客简单的说明了一下 使用.NET Core开发的一个总结(.NET Core跨平台:使用.NET Core开发一个初心源商城总括),那么这篇博客我们就在上一篇博客的基础上对其代 ...

  9. 使用VS Code 开发.NET Core 应用程序 部署到Linux 跨平台

    前面讲解了VSCode开发调试 .NET Core.都只是在windows下运行. .NET Core真正的核心是跨平台,我们现在来了解学习 .NET Core 跨平台. 在windows 下开发.N ...

  10. Asp.NET Core+ABP框架+IdentityServer4+MySQL+Ext JS之部署到Linux

    尝试新的开发组合:Asp.NET Core+ABP框架+IdentityServer4+MySQL+Ext JS Asp.NET Core+ABP框架+IdentityServer4+MySQL+Ex ...

最新文章

  1. Oracle 导出表结构
  2. 基于Vue+ElementUI的后台管理系统开发的总结
  3. 【CodeForces - 483C】Diverse Permutation(思维构造)
  4. haproxy安装配置及haproxy+keepalived简单配置
  5. 中国军用装甲车和反IED车市场趋势报告、技术动态创新及市场预测
  6. 遗传算法是一种进化算法_一种算法的少量更改可以减少种族主义的借贷
  7. 利用ABBYY Screenshot Reader快速截取网页并识别文本
  8. Python学员信息管理系统
  9. 手机闪存速度排行_带大家了解一下 手机闪存UFS和EMMC的区别(科普)
  10. 如何书写md格式的文档
  11. 到Visual Studio Code en 2020中的实际实现
  12. 长短时记忆网络(Long Short Term Memory,LSTM)详解
  13. 大众还是小众?谁在助力《复联3》连破票房纪录
  14. MySQL查询年龄最大学生信息_查询xsda表中年龄最大的学生的出生日期
  15. 简单说下docker的pull 和 push
  16. 部分准备金银行已经过时
  17. (休闲小游戏)Adidas的投篮游戏
  18. 鱼眼摄像头 单目标定 双目标定
  19. 软件智能:aaas系统 度量衡及文法规则
  20. 百货中心供应链管理系统毕业设计

热门文章

  1. 基于 Keras 用 LSTM 网络做时间序列预测
  2. 用数据分析福尔摩斯探案集,里面有你不曾发现的秘密
  3. 知识就是力量!(内含赠书福利)
  4. String 截取字符串#中间的文本
  5. shell脚本基础 循环机构
  6. 什么是多态,多态的实现方法是什么?
  7. 第3章第1讲算法与流程图
  8. linux内核系列之二_资源
  9. pat 1006. 换个格式输出整数 (15)
  10. Java中按值传递与按引用传递的区别