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

注:最新 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
Ubuntu 下使用 Nginx 部署 .NET Core 2.0 网站的更多相关文章
- ubuntu下使用nginx部署Laravel
问题描述 Laravel是PHP下当今最受欢迎的web应用开发框架,github上start数远超第二名Symfony,以前我用这个框架做项目的时候通常就是扔到apache里面,然后配置.htacce ...
- Ubuntu 18.04 安装部署Net Core、Nginx全过程
Ubuntu 18.04 安装部署Net Core.Nginx全过程 环境配置 Ubuntu 18.04 ,Nginx,.Net Core 2.1, Let's Encrypt 更新系统 sudo a ...
- Ubuntu上通过nginx部署Django笔记
Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式.今天在Ubuntu上使用Nginx部署Django服务,虽然不是第一次搞这个了,但是发现还是跳进了好多坑,g ...
- NodeJS项目迁移兼Ubuntu下NodeJS环境部署
前言 之前做的几个项目都托管在阿里云服务器,但是最近要到期了.想着到底要不要续期,毕竟100/月.后面看着阿里云有个活动,800/三年.果断买下.环境部署折腾了一天,其中也遇到几个坑. 目录 一.安装 ...
- Ubuntu & GitLab CI & Docker & ASP.NET Core 2.0 自动化发布和部署(2)
上一篇:Ubuntu & GitLab CI & Docker & ASP.NET Core 2.0 自动化发布和部署(1) 服务器版本 Ubuntu 16.04 LTS. 本 ...
- 在Centos7下安装与部署.net core
在Centos7下安装与部署.net core 2018年02月28日 19:36:16 阅读数:388 个人安装流程,参照文档 https://www.cnblogs.com/Burt/p/6566 ...
- ubuntu下在apache部署python站点
ubuntu下在apache部署python站点 我的是ubuntu14 32为的虚拟机,默认安装的python为3.4 环境:apache + mysql + django + python3 软件 ...
- Ubuntu下安装Nginx,PHP5(及PHP-FPM),MySQL
.简介: Tomcat在高并发环境下处理动态请求时性能很低,而在处理静态页面更加脆弱.虽然Tomcat的最新版本支持epoll,但是通过Nginx来处理静态页面要比通过Tomcat处理在性能方面好很多 ...
- Ubuntu | Flask + Gunicorn + Nginx 部署服务器环境
现在我们手里有一个准备发布的项目,那么如何将他上传到你的服务器,并让外网访问呢? 前提: 1. 安装了Python环境 apt-get install python-dev 2. 安装Flask pi ...
随机推荐
- 常见的数据扩充(data augmentation)方法
G~L~M~R~S 一.data augmentation 常见的数据扩充(data augmentation)方法:文中图片均来自吴恩达教授的deeplearning.ai课程 1.Mirrorin ...
- java接口多实现和多继承
package test; interface mouth { public abstract void speak(); } interface nose{ public abstract void ...
- centos7.4下的python3.6的安装
1.系统环境 :centos 7.4 最小化安装 2.安装过程 yum install wget 安装下载工具 wget https://www.python.org/ftp/python/ ...
- MYSQL的学习
启动MYSQL :net start mysql或者手动启动,输入密码:mysql -u root -p 先创建数据库在创建表格,创建数据库:create databsse 数据库名称,创建表格:cr ...
- JavaScript在div后添加删除div
var idd = 'str'; $('.task-done-detail-content-p7').click(function () { var id = this.id; if(idd !== ...
- 要求必须全部重复的数据sql--想了半天才写出来的
CREATE TABLE [dbo].[ABC]( ) NULL, ) NULL, ) NULL, ) NULL ) ON [PRIMARY] GO --DELETE FROM [dbo].[ABC] ...
- 2018-2019-2 20175204 张湲祯 实验二《Java面向对象程序设计》实验报告
2018-2019-2-20175204 张湲祯 实验二 <Java开发环境的熟悉>实验报告 实验二 Java面向对象程序设计 一.实验内容: 初步掌握单元测试和TDD 理解并掌握面向对象 ...
- Webpack自动化工程
近几年,前端各种框架工具层出不穷,从两三年前还是一个jQuery搞定全站,到之后requirejs/seajs,node,gulp/webpack,Angular/React/Vue,RN/weex的 ...
- j2ee之监听页面请求
本博客的起因是我想监听浏览器端每个页面都访问了哪些资源~~: 我是个菜鸡,所以我要记在我的小本本上,我怕忘了又~~~: 代码我是写在springboot2.1中的,有兴趣的同学可以玩一下~ 1:代码如 ...
- 浅谈《Linux就该这么学》
就在去年十月份的时候,偶尔在Linux技术群了看到别人分享的<Linux就该这么学>,好奇的就点进去看看,当时看完首页,突然发现刘遄老师说到心坎里去了,于是就仔细看了看红帽认证的讲解以及后 ...