在阿里云服务器centOs7系统中部署.NET Core项目

前言:之前阿里云打折,买了个Linux服务器来练一练,尝试着在Linux使用Nginx部署.net core项目

在CentOs系统中安装.Net Core Sdk、Nginx

1、打开命令行,输出以下命令,注册Microsoft需要的依赖环境

sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc

在阿里云服务器centOs7系统中部署.NET Core项目

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

在阿里云服务器centOs7系统中部署.NET Core项目

2、安装.NET SDK

  1、更新可用的安装包

sudo yum update

在阿里云服务器centOs7系统中部署.NET Core项目

  2、安装.NET需要的组件

sudo yum install libunwind libicu

在阿里云服务器centOs7系统中部署.NET Core项目

  3、安装.NET SDK(dotnet –version查看开发环境的版本)

sudo yum install dotnet-sdk-2.1

在阿里云服务器centOs7系统中部署.NET Core项目

  4、安装完成之后,检测是否安装成功:

dotnet --version

在阿里云服务器centOs7系统中部署.NET Core项目

 

3、使用VS发布ASP.NET Core MVC程序,这里我的vs版本是2017

  1、进入项目解决方案所在文件夹

  2、按住shift+右键,打开命令窗口

  3、执行dotnet publish自动发布

  4、发布文件目录:\bin\Debug\netcoreapp2.1\publish

4、使用WinSCP传输发布文件到CentOS服务器 (root/publish) ;附WinSCP下载地址:https://winscp.net/eng/download.php

在阿里云服务器centOs7系统中部署.NET Core项目

5、安装配置Nginx进行反向代理

  1、安装CentOS的 EPEL仓库

yum install epel-release

在阿里云服务器centOs7系统中部署.NET Core项目

  2、安装Nginx

yum install nginx

在阿里云服务器centOs7系统中部署.NET Core项目

  3、启动Nginx:

systemctl start nginx

在阿里云服务器centOs7系统中部署.NET Core项目

  4、设置系统默认启动Nginx

systemctl enable nginx

在阿里云服务器centOs7系统中部署.NET Core项目

  5、查看防火墙状态:

systemctl status firewalld

在阿里云服务器centOs7系统中部署.NET Core项目

  6、启动防火墙

systemctl start firewalld

在阿里云服务器centOs7系统中部署.NET Core项目

  7、http通过:

firewall-cmd  --permanent --zone=public --add-service=http 

在阿里云服务器centOs7系统中部署.NET Core项目

  8、https通过:

firewall-cmd  --permanent --zone=public --add-service=https 

在阿里云服务器centOs7系统中部署.NET Core项目

  9、重启Nginx:

firewall-cmd  --reload 

在阿里云服务器centOs7系统中部署.NET Core项目

  10、在浏览器地址栏输入你服务器的IP地址, 如果出现图形表示Nginx安装配置成功;

在阿里云服务器centOs7系统中部署.NET Core项目

  11、如果无法访问, 请查看firewall 是否开放80端口:

  12、开放80端口:firewall-cmd --zone= public --add-port= 3306 /tcp --permanent

   13、重启防火墙:systemctl restart firewalld.service

6、修改Nginx的配置文件(root/)

  1、把Nginx的默认配置文件 /etc/nginx/nginx.conf 里 80 端口转发配置 server 节点用 # 符注释掉

  在阿里云服务器centOs7系统中部署.NET Core项目

  2、重新创建一个自定义的Nginx配置文件用来代理Core程序, 名称为nginxforcore.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;
    }
}

  3、将创建好的自定义配置文件上传到 /etc/nginx/conf.d目录下

  4、执行命令,重启Nginx

nginx –s reload

 

在CentOs系统中运行.NET Core

1、cd到发布目录:cd \publish 

2、运行.Net Core程序: dotnet LinuxCore.dll (LinuxCore.dll是你发布出来编译过的项目)

3、浏览器访问服务器外网地址

在阿里云服务器centOs7系统中部署.NET Core项目

上一篇:我的第一个.netcore程序


下一篇:部署一套完整的Kubernetes高可用集群(二进制,最新版v1.18)上