一、netcore跨平台之 Linux上部署netcore和webapi
这几天闲着的时候在linux上部署了一下netcore webapi,下面就纪要一下这个过程。
中间遇到不少的坑,心里都是泪啊。
话不多说,开始干活。
------------------------------------------------------------------------
第一步,你得先创建一个netcore的接口,这个我就简单创建一个接口。
关于开发工具,我用的是vs2017,当然最新的vs2019也出来了,你可以用新的,都没关系。
开始选择创建项目,如图所示,这个入门的程序员都应该懂

选择API

点击确定按钮就创建成功。
如图打开 Program.cs

在这里添加一段代码

代码添加后

这样代码就写好了。
接下来就是发布。


选择文件夹,选择你要发布的项目的位置。

点击高级配置如下,注意下,这里的目标框架是2.2版本,所以我们在linux上安装的也是2.2。
这里我就遇到过坑,我vs发布的是2.0的版本,结果我linux是2.2,就各种运行报错,后来改成2.2就好了。

最后保存并发布就好了。
netcore项目的创建和发布就这样结束了。
第二步,你得准备一个linux服务器,然后安装环境
如果你条件允许,可以直接在阿里云或者腾讯云、华为云、百度云上买一个服务器。
新用户是白菜价哦,(这里真不是打广告)当然你可以在你电脑上安装一个VMware虚拟机。
具体安装步骤百度一下一大把,这里就不演示了。
我就在在百度云买了一个linux服务器,嗯,价格还算便宜,毕竟新用户,为什么用百度云??
当然不是因为他好,而是我阿里云已经不是新用户了
好了,我们继续。
用xshell登录到你的linux服务器上。(如果不懂linux,没关系,你总会百度吧)
登录成功后,你可以在直接输入如下命令
sudo yum install dotnet-sdk-2.2

点击确认,你需要等一段时间,如果你服务器网速很差,那么你可以会等很久。
如下图示,遇到这里你需要点击敲一下你的键盘上的 y 回车即可
这个时候系统开始慢慢的下载了,请耐心等待即可。


终于下载完成了

你可以输入下面的命令看看是否成功
dotnet --version
显示如下,表示按照成功

然后我们把发布包上传到服务器上来
我这里用的是xftp工具,当然也有其他工具可,下图所示是我安装的两个工具,大家可以去下载安装。

这里给大家提供一些我在网盘保存的一些工具
Xshell+Xftp真正破解版 https://pan.baidu.com/s/1Ew1XPg11sakpc8mvK6QsHg
打开xftp并连接到服务器,如下所示

我这里用的root权限,这里进来就直接就是root根目录了
然后右键点击创建一个目录用来保存你上传的netcore文件,嗯,就取名netcore吧


然后在左边找到你刚刚发布的那个包的位置,并且点击右边的netcore进入到对应的目录中

然后全选左边的所有文件,并右键然后点击传输,如图所示

然后文件就开始传输了

等下面的传输没有记录了,那么恭喜你,你传递完成了。

有人可能会问为啥这么多文件,我vs2017本来没有2.2版本,后来我在本机安装了2.2,结果发布后就这么多......
然后我们再次回到xshell看看
输入命令 ll 可以看到我们新加了一个文件 netcore

然后输入命令cd 进入到我们上传的这个发布包中。
然后在输入命令 ll
cd netcore
ll
我们可以找到WebApiTest.dll文件

然后输入命令
dotnet WebApiTest.dll
如图所示,就恭喜你你的项目运行正常。

然后你Ctrl+C结束掉这个程序,这里只能在服务器内部访问,外面是不能访问的。
然后输入如下命令
dotnet WebApiTest.dll --server.urls "http://*:6666"
如图所示

然后用postman或者一些在线工具访问这个接口,如图所示,那么恭喜你成功了
这个测试工具的网站:https://www.sojson.com/httpRequest/

好了,到这里netcore在linux上配置就基本完成了,接下来下一篇我们开始讲nginx的配置,以及让netcore运行在nginx下。
一、netcore跨平台之 Linux上部署netcore和webapi的更多相关文章
- 二、netcore跨平台之 Linux部署nginx代理webapi
上一章,我们讲了在linux上安装netcore环境,以及让netcore在linux上运行. 这一章我们开始讲在linux上配置nginx,以及让nginx反向代理我们的webapi. 什么ngin ...
- 在Linux服务器部署 .NET-Core 项目
一.文章概要 这篇文章是讲述一个Linux 新手将 .NET-Core 项目部署在 Linux 服务器上的一个记录,以及在部署期间遇到的问题以及解决办法.有不恰当的地方.欢迎大神指正. 二.前期准备 ...
- Docker在Linux上运行NetCore系列(一)配置运行DotNetCore控制台
转发请注明此文章作者与路径,请尊重原著,违者必究. 系列文章:https://www.cnblogs.com/alunchen/p/10121379.html 本篇文章操作系统信息 Linux:ubu ...
- 三、netcore跨平台之 Linux配置nginx负载均衡
前面两章讲了netcore在linux上部署以及配置nginx,并让nginx代理webapi. 这一章主要讲如何配置负载均衡,有些步骤在前两章讲的很详细了,所以这一章我就不会一个个截图了. 因为本人 ...
- Linux上部署SVN
Linux上部署SVN author:headsen chen 2017-10-16 16:45:04 前提:通过yum来安装,必须是centos6.5的桌面版的.否则会出现某些的安装包不全而导致 ...
- 在Linux上部署Web项目
You believe it or not there is a feeling, lifetime all not lost to time. 在Linux上部署Web项目 这个是普通的web项目, ...
- Linux上部署多个tomcat端口设置
在Linux上部署多个tomcat主要是防止端口冲突的问题, tomcat服务器需配置三个端口才能启动,安装时默认启用了这三个端口,当要运行多个tomcat服务时需要修改这三个端口,不能相同.端口一: ...
- 在linux上部署tomcat服务
在linux上部署tomcat 1.安装JDK 2.下载tomcat http://tomcat.apache.org/download-70.cgi 3.上传到服务器,并解压 4.上传war包或者已 ...
- Dubbo入门到精通学习笔记(二):Dubbo管理控制台、使用Maven构建Dubbo的jar包、在Linux上部署Dubbo privider服务(shell脚本)、部署consumer服务
文章目录 Dubbo管理控制台 1.Dubbo管理控制台的主要作用: 2.管理控制台主要包含: 3.管理控制台版本: 安装 Dubbo 管理控制台 使用Maven构建Dubbo服务的可执行jar包 D ...
随机推荐
- 程序员成长的四个简单技巧,你 get 了吗?
最近拜读了"阿里工程师的自我修养"手册,12 位技术专家分享生涯感悟来帮助我们这些菜鸡更好的成长,度过中年危机,我收获颇多,其中有不少的方法技巧和我正在使用的,这让我觉得我做的这些 ...
- [BZOJ1116] CLO
1116: [POI2008]CLO Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1311 Solved: 709[Submit][Status] ...
- C++中哪些函数不能声明为virtual?
首先要明确,virtual是用于支持类多态的关键字,所以出现在类声明之外的地方都是错误的.由此可以断定下文的1. 普通函数(即非类成员函数)不能是virtual的,否则不能通过编译,virtual只能 ...
- 移动端前端常见的触摸相关事件touch、tap、swipe
前端的很多事件在PC端和浏览器端可公用,但有些事件却只在移动端产生,如触摸相关的事件 本文整理了移动端常见的一些事件,包括原生支持的click.touch.tap.swipe事件,也有定义型的gest ...
- JavaScript ES6函数式编程(三):函子
前面二篇学习了函数式编程的基本概念和常见用法.今天,我们来学习函数式编程的最后一个概念--函子(Functor). 相信有一部分同学对这个概念很陌生,毕竟现在已经有很多成熟的轮子,基本能满足我们日常的 ...
- 那些惊艳的 GIS 轮子
一.前言 GIS 涉及测绘.几何拓扑.人文社科等多方面的科学知识.在 .Net 平台下有着许多优秀的开源产品,比如:MapWindow.SharpMap.WorldWind等.而在这其中,Coordi ...
- 算法<初级> - 第二章 队列、栈、哈希表相关问题
算法 - 第二章 数据结构 题目一 用数组实现大小固定的队列和栈(一面题) 数组实现大小固定栈 /*** * size是对头索引(initSize是固定大小) 也是当前栈大小 * size=下个进队i ...
- Java基础(40)String、StringBuilder和StringBuffer的区别(TODO)
一.String String实现了Serializable接口.Comparable<String>接口和CharSequence接口,并且使用final char value[]不可变 ...
- Unity中的资源管理
一.AssetBundle 相关 Q1:Unity中的SerializedFile是怎么产生的?请问用Unload(false)可以清除吗?因为读取了Bundle里面的内容后已经赋值给其他物体了.而且 ...
- MySQL计划任务(事件调度器)
原文:http://www.cnblogs.com/c840136/articles/2388512.html 备忘; MySQL5.1.x版本中引入了一项新特性EVENT,顾名思义就是事件.定时任务 ...