• Ubuntu 下使用 Nginx 部署 .NET Core 2.0 网站


    前言

    本文介绍如何在 Ubuntu 16.04 服务器上安装 .NET Core 2.0 SDK、创建项目与发布,并使用 Nginx 部署 .NET Core 2.0 Web 项目。

    安装 .NET Core

    注册 Microsoft 签名密钥:

    curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
    sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg
    

    注册软件源

    sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-xenial-prod xenial main" > /etc/apt/sources.list.d/dotnetdev.list'
    

    安装 .NET SDK

    在终端管理器下,运行以下命令:

    sudo apt-get update
    sudo apt-get install dotnet-sdk-2.0.2
    

    安装 .NET SDK

    注:最新 2.0.3 版本已经是发布,可以使用 sudo apt-get install dotnet-sdk-2.0.3 安装。

    Nginx 的安装与启动

    安装 Nginx

    sudo apt-get update
    sudo apt-get install nginx
    

    启动 Nginx

    通过运行以下命令显式启动:

    sudo service nginx start
    

    配置 Nginx

    server {
        listen 80;
        location / {
            proxy_pass http://localhost:5000; # 监听 5000 端口,因为 DotNet 默认端口是 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;
        }
    }
    

    保存成功后需要重新加载配置文件:

    sudo nginx -s reload
    

    .NET Core 2.0 运行与发布

    创建 .NET Core 2.0 Web 项目

    通过 dotnet new --help 命令可以知道 .Net Core 2.0 目前支持的项目模板,在创建项目的时候使用对应模板的 Short Name 即可。

    在终端输入以下命令创建一个 MVC 项目:

    dotnet new mvc -o mvcapp
    

    运行 .NET Core 2.0 Web 项目

    进入该项目目录:

    cd mvcapp
    

    在终端输入以下命令运行项目:

    dotnet run
    

    控制台出现以上提示后表示运行成功。

    发布项目

    在该项目的根目录下运行如下命令可以发布项目

    dotnet publish
    


    发布成功后,文件会保存到项目目录下的 /bin/Debug/netcoreapp2.0/publish

    如果想让程序运行在后台进程中,可以使用下面的命令:

    nohup dotnet mvcapp.dll &
    

    文章到这里就结束了,如果有什么不对的地方欢迎大家指正,下一篇文章我将讲一讲如何使用 Jexus 部署 .NET Core 2.0 项目 。

    参考文章

    1.使用 Nginx 在 Linux 上为 ASP.NET Core 设置托管环境,并对其进行部署
    2.Get started with .NET in 10 minutes

  • 相关阅读:
    数组小练习
    数组
    利用数组进行排序
    继承练习
    黄金分割点
    百万富翁-循环练习
    SelectedIndexChanged事件, SelectedValueChanged事件和SelectionChangeCommitted事件的区别及应用——c#
    进制转换以及与字符串之间转换——c#
    文件中的类都不能进行设计,因此未能为该文件显示设计器
    winfrom自绘窗体边框——c#
  • 原文地址:https://www.cnblogs.com/weisenz/p/8081902.html
Copyright © 2020-2023  润新知