zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    ZooKeeper基本原理
    ElasticSearch的基本原理与用法
    Solr与MySQL查询性能对比
    MySQL性能优化总结
    Java并发集合及线程池实现原理
    Java垃圾回收机制
    Java Spring的IoC和AOP的知识点速记
    基于Solr的空间搜索
    系统学习消息队列分享(十) 如何实现高性能的异步网络传输?
    系统学习消息队列分享(九) 如何使用异步设计提升系统性能?
  • 原文地址:https://www.cnblogs.com/weisenz/p/8081902.html
Copyright © 2011-2022 走看看