目录导航:
前言:
一、开发工具介绍
Xshell:
Xftp:
二、.NET Core环境搭建
查看操作系统版本:
Install .NET Core Runtime【安装.Net Core运行环境】:
Install .NET Core SDK【安装.Net Core SDK】:
查看安装环境版本信息:
三、项目发布并部署到CentOS服务器中
使用Visual Studio发布项目:
将发布好的文件使用xftp上传到服务器:
使用xshell查看项目是否上传成功:
运行项目:
查看后台是否能够运行:
运行程序提示问题:
四、配置Nginx反向代理:
使用反向代理服务器的优势:
下载、安装、启动Nginx命令:
首先添加CentOS 7 EPEL源:
(拓展)添加EPEL源的作用:
使用以下yum命令安装Nginx :
因为是首次安装 Nginx,通过运行以下命令显式启动:
查看Nginx是否启动:
设置系统启动时启用Nginx:
查看系统防火墙状态:
如果系统中的防火墙未关闭,请输入以下命令来允许 HTTP 和 HTTPS 通信:
在浏览器中输入服务器的 IP 地址:http://123.xx.xx.88/来验证 Nginx 是否成功运行:
修改 Nginx 配置文件:
使用Vim命令打开Nginx默认配置:
将原server中的默认配置内容替换成以下内容:
保存编辑,并退出文本编辑器:
验证Nginx的默认文件配置是否正确:
查看端口在实例中是否正常被监听:
重启Nginx:
最后直接通过服务器ip地址访问ASP.NET Core应用程序:
文章正文:
回到顶部
前言:
本篇文章主要讲解的是如何在Linux CentOS7操作系统搭建.NET Core运行环境并发布ASP.NET Core应用程序,以及配置Nginx反向代理服务器。因为公司的项目一直都是托管在Window服务器IIS上,对于Linux服务器上托管.NET Core项目十分好奇。因为好奇,因此就有了这篇文章关于如何在Linux CentOS7系统中配置.NET Core运行环境,部署项目和反向代理服务器的配置。
回到顶部
一、开发工具介绍
Xshell:
是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。Xshell 通过互联网到远程主机的安全连接以及它创新性的设计和特色帮助用户在复杂的网络环境中享受他们的工作。
Xftp:
是一个功能强大的SFTP、FTP 文件传输软件。使用了 Xftp 以后,MS Windows 用户能安全地在 UNIX/Linux 和 Windows PC 之间传输文件。Xftp 能同时适应初级用户和高级用户的需要。它采用了标准的 Windows 风格的向导,它简单的界面能与其他 Windows 应用程序紧密地协同工作,此外它还为高级用户提供了众多强劲的功能特性。
当然这两个工具提供了非商业用途的免费使用权限,你只需要填写对应的信息即
sudo rpm -Uvh https://www.yaofayl1.cn packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
sudo yum update
sudo rpm -Uvh https://www.yuxinyulept.com packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
sudo yum update
sudo yum install dotnet-sdk-2.2
查看安装环境版本信息:
1
dotnet --info
回到顶部
三、项目发布并部署到CentOS服务器中
使用Visual Studio发布项目:
部署方式选择框架依赖
原因:因为前面我们已经安装好了.Net Core应用程序运行所需要的运行环境和对应的SDK了。
目标运行时选中可移植的
原因:可以适用所有操作系统。
将发布好的文件使用xftp上传到服务器:
使用xshell查看项目是否上传成功:
warn: Microsoft.AspNetCore.Server.Kestrel[0]
Unable to bind to http://localhost:5000 on the IPv6 loopback interface: 'Cannot assign requested address'.
出现这个警告的话,IPV6s回送的时候不可达,也就是说你只能够在服务器内部通过本地访问,但是无法通过外网ip对网站进行访问。
解决方法:
首先停止网站:
查看运行程序端口:jobs -l
结束当前程序:kill 端口号
重新运行程序,最后设置如下访问方式【当然这样子做只是为了看运行效果,下面我们需要配置Nginx以及守护服务】:
dotnet FirstCore.dll --server.urls="http://*:5000"
然后在输入外网ip+端口号进行访问,访问成功,页面如下图所示:
回到顶部
四、配置Nginx反向代理:
使用反向代理服务器的优势:
1
Kestrel 非常适合从 ASP.NET Core 提供动态内容。 但是,Web 服务功能不像服务器(如 IIS、Apache 或 Nginx)那样功能丰富。 反向代理服务器可以卸载 HTTP 服务器的工作负载,如提供静态内容、缓存请求、<br data-filtered="filtered">压缩请求和 HTTPS 终端。 反向代理服务器可能驻留在专用计算机上,也可能与 HTTP 服务器一起部署。
反向代理服务器接收来自网络的 HTTP 请求,并将这些请求转发到 (边缘服务器)Kestrel,请求流程图如下所示:
下载、安装、启动Nginx命令:
首先添加CentOS 7 EPEL源:
1
sudo yum install epel-release
(拓展)添加EPEL源的作用:
EPEL(Extra Packages for Enterprise Linux)是由 Fedora 社区打造的、为 RHEL 及其衍生发行版(如 CentOS 等)提供高质量软件包的项目。安装了 EPEL 源之后,就像在 Fedora 上一样,通过“yum install 软件包名”,即可安装很多之前需要编译安装的软件、常用的软件以及一些比较流行的软件,比如现在流行的 nginx、redis 等。安装了EPEL源之后,都可以使用 EPEL 很方便的安装更新。
server {
listen 80;
server_name example.com www.lanboylpt.cn *.example.com;
location / {
proxy_pass http://www.lanboyulezc.cn 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;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
保存编辑,并退出文本编辑器
esc+:wq 保存修改并退出vim编辑器
验证Nginx的默认文件配置是否正确:
nginx -t
查看端口在实例中是否正常被监听:
netstat -an | grep 80
重启Nginx:
nginx -s reload
最后直接通过服务器ip地址访问ASP.NET Core应用程序:
Linux CentOS7部署ASP.NET Core应用程序,并配置Nginx反向代理服务器
最新推荐文章于 2020-03-11 13:44:22 发布