步骤要点:

一、关闭Centos selinux:

操作方式:

1.永久关闭:打开/etc/selinux/config文件,设置SELINUX=disabled,注意,不是SELINUXTYPE=disabled否则重启后无法进入linux)。

2.临时关闭,不用重启:setenforce 0    #设置SELinux为permissive模式

二、安装微软产品密匙及dotnet:

sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm

再安装asp.net core 2.1:yum -y install dotnet-sdk-2.1

安装完成后,运行:dotnet -verison可以查看是否安装成功。

三、上传项目:

首先在服务器端安装lrzsz工具包,所需命令:yum install lrzsz

安装完成后,用xshell链接到服务器,并切换到所需上传的目录下,运行命令:rz,然后选择所需文件上传即可。

四、测试dotnet及项目文件:

在项目文件目录下,运行 dotnet *****dll,默认启动5000端口,然后在浏览器查看项目运行情况。

五、安装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

安装完成后,启动nginx:systemctl start nginx 及 systemctl enable nginx

firewall-cmd --zone=public --add-port=80/tcp --permanent

systemctl restart firewalld

这时候,还需要配置nginx,打开 /etc/nginx/conf.d/default.conf 文件,修改其server部分,如下:

server {
listen ;
#server_name localhost; #charset koi8-r;
#access_log /var/log/nginx/host.access.log main; 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;
}
}

之后,运行命令:nginx -s reload,重启nginx

最终,示例项目运行结果如下:

另外,在部署时候,需要将Program.cs里面的代码修改如下:

public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseUrls("http://*:5000")
.UseContentRoot(AppContext.BaseDirectory)
.UseStartup<Startup>();

发布后,将wwwroot外面的文件转移到wwwroot文件夹内,并运行dotnet *** 即可运行(查看控制台,不再出现404找不到文件情况发生)。

参考文献:http://www.cnblogs.com/ants/p/5732337.html,在此表示感谢。

ASP.NET core 2.1部署到 Centos 7的更多相关文章

  1. asp.net core 2.1 部署 centos7

    asp.net core 2.1 部署 centos7 Kestrel 非常适合从 ASP.NET Core 提供动态内容. 但是,Web 服务功能不像服务器(如 IIS.Apache 或 Nginx ...

  2. ASP.NET Core托管和部署Linux实操演练手册

    一.课程介绍 ASP.NET Core 是一种全新的跨平台开源 .NET 框架,能够在 IIS.Nginx.Apache.Docker 上进行托管或在自己的进程中进行自托管. 作为一个.NET Web ...

  3. dotnet core 使用 sqlite 部署到 Centos 服务器

    原文:dotnet core 使用 sqlite 部署到 Centos 服务器 本文告诉大家如何创建一个 asp dotnet core 程序,这个程序使用 sqlite 保存,部署程序到 Cento ...

  4. ASP.NET Core开发-Docker部署运行

    ASP.NET Core开发Docker部署,.NET Core支持Docker 部署运行.我们将ASP.NET Core 部署在Docker 上运行. 大家可能都见识过Docker ,今天我们就详细 ...

  5. ASP.NET Core 1.0 部署 HTTPS (.NET Framework 4.5.1)

    var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...

  6. ASP.NET Core 1.0 部署 HTTPS

    ASP.NET Core 1.0 部署 HTTPS ASP.NET Core 1.0 部署 HTTPS (.NET Framework 4.5.1) 提示 更新时间:2016年01月23日. 在目前介 ...

  7. ASP.NET Core开发期间部署到IIS自定义主机域名并附加进程调试

    在.NET Framework环境下,我们经常会这么做 把一个web项目不经过发布直接部署到IIS里去,配置上主机名,修改一下hosts文件,就可以用自定义的域名来访问我们的应用程序,使用附加到进程( ...

  8. asp.net core 2.1 部署IIS(win10/win7)

    asp.net core 2.1 部署IIS(win10/win7) 概述 与ASP.NET时代不同,ASP.NET Core不再是由IIS工作进程(w3wp.exe)托管,而是使用自托管Web服务器 ...

  9. ASP.NET Core使用TopShelf部署Windows服务

    asp.net core很大的方便了跨平台的开发者,linux的开发者可以使用apache和nginx来做反向代理,windows上可以用IIS进行反向代理. 反向代理可以提供很多特性,固然很好.但是 ...

随机推荐

  1. react native 0.50与OC交互 && Swift与RN交互

    新公司也打算做rn,还是得捡起来再度学习.开撸! react native一个版本一个样子,之前写的rn与iOS交互系列在最新版本中有点出入(0.50.4版本).今天填一下坑. 首先上npm版本,re ...

  2. ASP.NET Web API相关

    接收移动端上传的图片,示例代码: [HttpPost] [ApiSecurityFilter] public IHttpActionResult UploadImg() { string imgs = ...

  3. python从零开始 -- 第2篇之python版本差异

    python从零开始 -- 第2篇之python版本差异 第0篇开始,咱们就说选择 python 3.x,一般来说,咱们面临选择的时候总是想了解更多一点,并且版本之间的对比能引申出很多有意思的故事和知 ...

  4. python-markdown

    python-markdown无法将“`生成标签问题解决方法 2种都是代码区块 ```swift is Int ``` is Int

  5. leetcode 764.Largest Plus Sign

    根据题意的话就是在非0的地方开始寻找上下左右分别能够走到的最大步长的. 那么使用暴力的方法竟然leetcode还是给过了. class Solution { public: int orderOfLa ...

  6. 影响Arcmap运行效率的因素

    在使用ArcMap的过程中,总觉得ArcMap运行起来非常慢,目前发现了两点原因: 一.渲染太多图斑 比较常见的,我们在打开矢量图层时,Arcmap会自动渲染加载进去的图斑,进行符号化.在渲染的过程中 ...

  7. 30天代码day1Data Types

    Primitive Data Types Java has 8 primitive data types: byte, short, int, long, float, double, boolean ...

  8. xshell 使用命令上传、下载文件

    打开xshell, ①检查是否已经安装了上传下载的命令,#rpm -qa |grep lrzsz [root@mjy logs]# rpm -qa |grep lrzszlrzsz-0.12.20-2 ...

  9. 渗透测试学习 二、Windows基础

    系统目录  服务  端口  注册表  黑客常用DOS命令(在拿到shell时会用到) 一.  系统目录 Windows目录  系统的安装目录 System32àconfigàSAM文件  是用户密码的 ...

  10. Mac os x 系统的发展史

    ·Mac OS 9:发布时间:1999年 于1999年发布的Mac OS 9操作系统(图片来自互联网) 在OS X之前,1999年发布的Mac OS 9看起来就是一个普通的桌面操作系统.并且现在已经被 ...