【.NetCore学习】ubuntu16.04 搭建.net core mvc api 运行环境
查看linux内核版本
uname -a
打印结果
python@ubuntu:~$ uname -a
Linux ubuntu 4.4.0-31-generic #50-Ubuntu SMP Wed Jul 13 00:07:12 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

查看ubuntu系统版本
lsb_release -a
打印结果
python@ubuntu:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04. LTS
Release: 16.04
Codename: xenial
python@ubuntu:~$
可以看到版本号是 16.4
查看官方文档执行 dotnet 环境安装过程
https://www.microsoft.com/net/learn/get-started/linuxredhat
这里我们选择 Ubuntu

继续执行下面的命令
Register the trusted Microsoft signature key:
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'
好了,环境部署完毕,下面我们安装 SDK
分别执行下面三行命令
sudo apt-get install apt-transport-https
sudo apt-get update
sudo apt-get install dotnet-sdk-2.1

至此,SDK安装完毕
---------------------------------------------------------------------------------------------------------------------
下面我们新建一个控制台项目测试一下
dotnet new console -o myApp
cd myApp
dotnet run
遇到了一个目录权限问题
Template "Console Application" could not be created.
Access to the path '/etc/apt/trusted.gpg.d/myApp' is denied.

使用权限命令,添加目录的权限
然而这里,我们修改一下创建位置,改成当前的 home 目录创建即可

运行结果如下
python@ubuntu:~/dotnet$ dir
myApp
python@ubuntu:~/dotnet$ cd myApp/
python@ubuntu:~/dotnet/myApp$ dir
myApp.csproj obj Program.cs
python@ubuntu:~/dotnet/myApp$ dotnet run
Hello World!
python@ubuntu:~/dotnet/myApp$
编译运行成功了。
下面我们用在 windows 下编译好的 mvcapi 项目在 linux 上运行一下试试。
首先我们把整个项目解决方案目录传到 linux 服务器上

这里我用的是 xftp

然后要运行哪个项目,就直接切换到项目的目录,例如我要运行 mywebapi 这个api接口
python@ubuntu:~/dotnet/myweb$ cd mywebapi
python@ubuntu:~/dotnet/myweb/mywebapi$ ls
appsettings.Development.json bin mywebapi.csproj obj Properties wwwroot
appsettings.json Controllers mywebapi.csproj.user Program.cs Startup.cs
python@ubuntu:~/dotnet/myweb/mywebapi$ dotnet run
Models/GEDU_LSA_V_1_7_1Context.cs(,): warning CS1030: #warning: 'To protect potentially sensitive information in your connection string, you should move it out of source code. See http://go.microsoft.com/fwlink/?LinkId=723263 for guidance on storing connection strings.' [/home/python/dotnet/myweb/core/mydb.csproj]
Controllers/MyController.cs(,): warning CS0162: Unreachable code detected [/home/python/dotnet/myweb/mywebapi/mywebapi.csproj]
Using launch settings from /home/python/dotnet/myweb/mywebapi/Properties/launchSettings.json...
Hosting environment: Development
Content root path: /home/python/dotnet/myweb/mywebapi
Now listening on: http://localhost:61697
Application started. Press Ctrl+C to shut down.
^CApplication is shutting down...

这个时候我们访问以下 api 接口地址

成功看到接口返回的json
mvc项目也是这样操作,即可。
这里只是简单的通过命令行运行,如果要作为服务器,还需要 反向代理 和 自启动 的高级配置
可参考如下博客
【netcore基础】ubuntu 16.04 搭建.net core 2.1 linux 运行环境 nginx反向代理 supervisor配置自启动
【.NetCore学习】ubuntu16.04 搭建.net core mvc api 运行环境的更多相关文章
- 【netcore基础】ubuntu 16.04 搭建.net core 2.1 linux 运行环境 nginx反向代理 supervisor配置自启动
今天来整理下 netcore 在 linux(ubuntu) 上的运行环境搭建 对应版本 ubuntu 16.04 .net core 2.1 nginx version: nginx/1.10.3 ...
- Ubuntu16.04搭建OpenVPN
Ubuntu16.04搭建OpenVPN 2018年12月27日 15:50:59 VinQin 阅读数:21042 简介 如果在一个非信任网络下比如旅社或者咖啡店的WiFi网络下,想要通过你的智 ...
- Ubuntu16.04搭建LAMP开发环境
Ubuntu16.04搭建LAMP开发环境 虚拟机上安装好Ubuntu16.04后,是一台空白的Ubuntu.我的目的是搭建LAMP环境,顺便搭一个Python Django环境. 基本设置 1.配置 ...
- Android开发学习总结(一)——搭建最新版本的Android开发环境
Android开发学习总结(一)——搭建最新版本的Android开发环境(转) 最近由于工作中要负责开发一款Android的App,之前都是做JavaWeb的开发,Android开发虽然有所了解,但是 ...
- 32位Ubuntu12.04搭建Hadoop2.5.1完全分布式环境
准备工作 1.准备安装环境: 4台PC,均安装32位Ubuntu12.04操作系统,统一用户名和密码 交换机1台 网线5根,4根分别用于PC与交换机相连,1根网线连接交换机和实验室网口 2.使用ifc ...
- ASP.NET Core MVC/API(一)
ASP.NET Core MVC/API(一) 文件夹说明 Pages文件夹:包括了Razor页面和支持文件 .cshtml文件:是使用了Razor语法的C#代码的HTML页面 .cshtml.cs文 ...
- 模拟搭建Web项目的真实运行环境(一)
序言 最近尝试完整搭建一个Web项目的运行环境,总结一下这几个月学到的知识点. 后面的文章主要包括一下几个内容: A. 搭建一个Linux服务器,用来部署Redis.Mongo等数据存储环境: B. ...
- Harbor 企业级私有仓库 Ubuntu16.04 搭建及使用
一.Harbor简介 1.1.什么是Harbor 几个VMware中国的人搞了一个容器镜像仓库.Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器. 1.2.Harbor架 ...
- 【.net core 跨平台】第一步 在Ubuntu16.04 配置.net core环境
本次使用VMware10.0.4工具安装Ubuntu16.04系统并配置.net core环境 Ubuntu 16.04 desktop下载地址:http://releases.ubuntu.co ...
随机推荐
- [原创]Java性能优化权威指南读书思维导图2
[原创]Java性能优化权威指南读书思维导图2
- The op amp module
- selenium+python自动化78-autoit参数化与批量上传
前言 前一篇autoit实现文件上传打包成.exe可执行文件后,每次只能传固定的那个图片,我们实际测试时候希望传不同的图片. 这样每次调用的时候,在命令行里面加一个文件路径的参数就行. 一.命令行参数 ...
- Linux shell命令 cp 加上-f还是提示是否覆盖
这是由于环境变量中有 allias cp='cp -i' 为了去掉这个系统自带的别名,能够使用grep -r --include="*" "alias cp" ...
- Asp.Net Core异常处理整理
目前版本是Asp.Net Core v1.1,这个版本的感觉对Http请求中的错误处理方便不是很完善. 没有HttpException异常类,不能在任何的地方自由的抛出对应的异常状态. 一.默认的异常 ...
- 如何将Revit明细表导出为Excel文档
Revit软件没有将明细表直接导出为Excel电子表格的功能,Revit只能将明细表导出为TXT格式,但是这种TXT文件用EXCEL处理软件打开然后另存为XLS格式即可,以Revit2013版自带的建 ...
- 一篇文章让你学透Linux系统中的more命令
Linux 下有很多实用工具可以让你在终端界面查看文本文件.其中一个就是 more. more 跟我之前另一篇文章里写到的工具 —— less 很相似.它们之间的主要不同点在于 more 只允许你向前 ...
- unix环境高级编程-3.10-文件共享(转)
unix系统支持在不同进程间共享打开的文件. 内核使用三种数据结果表示打开的文件. (1)每个进程在进程表中都有一个记录项,记录项中包含有一张打开文件的描述符表,可将其视为一个矢量,每个描述符占用一项 ...
- 使用 vmstat, mpstat 和 sar 查看系统运行参数
vmstat 字段含义 Procs r: The number of processes waiting for run time. 等待执行的进程, 数字越大意味着CPU越忙, 果该数字经常大于逻辑 ...
- ASP.NET MVC 4 简介
介绍 使用Visual Studio 2010开发的话,首先需要安装MVC4,可以参考另一篇文章 进行安装. ASP.NET MVC 运行流程 (Clinet) Http Request 客户端发起 ...