这几天闲着的时候在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的更多相关文章

  1. 二、netcore跨平台之 Linux部署nginx代理webapi

    上一章,我们讲了在linux上安装netcore环境,以及让netcore在linux上运行. 这一章我们开始讲在linux上配置nginx,以及让nginx反向代理我们的webapi. 什么ngin ...

  2. 在Linux服务器部署 .NET-Core 项目

    一.文章概要  这篇文章是讲述一个Linux 新手将 .NET-Core 项目部署在 Linux 服务器上的一个记录,以及在部署期间遇到的问题以及解决办法.有不恰当的地方.欢迎大神指正. 二.前期准备 ...

  3. Docker在Linux上运行NetCore系列(一)配置运行DotNetCore控制台

    转发请注明此文章作者与路径,请尊重原著,违者必究. 系列文章:https://www.cnblogs.com/alunchen/p/10121379.html 本篇文章操作系统信息 Linux:ubu ...

  4. 三、netcore跨平台之 Linux配置nginx负载均衡

    前面两章讲了netcore在linux上部署以及配置nginx,并让nginx代理webapi. 这一章主要讲如何配置负载均衡,有些步骤在前两章讲的很详细了,所以这一章我就不会一个个截图了. 因为本人 ...

  5. Linux上部署SVN

    Linux上部署SVN author:headsen chen  2017-10-16  16:45:04 前提:通过yum来安装,必须是centos6.5的桌面版的.否则会出现某些的安装包不全而导致 ...

  6. 在Linux上部署Web项目

    You believe it or not there is a feeling, lifetime all not lost to time. 在Linux上部署Web项目 这个是普通的web项目, ...

  7. Linux上部署多个tomcat端口设置

    在Linux上部署多个tomcat主要是防止端口冲突的问题, tomcat服务器需配置三个端口才能启动,安装时默认启用了这三个端口,当要运行多个tomcat服务时需要修改这三个端口,不能相同.端口一: ...

  8. 在linux上部署tomcat服务

    在linux上部署tomcat 1.安装JDK 2.下载tomcat http://tomcat.apache.org/download-70.cgi 3.上传到服务器,并解压 4.上传war包或者已 ...

  9. Dubbo入门到精通学习笔记(二):Dubbo管理控制台、使用Maven构建Dubbo的jar包、在Linux上部署Dubbo privider服务(shell脚本)、部署consumer服务

    文章目录 Dubbo管理控制台 1.Dubbo管理控制台的主要作用: 2.管理控制台主要包含: 3.管理控制台版本: 安装 Dubbo 管理控制台 使用Maven构建Dubbo服务的可执行jar包 D ...

随机推荐

  1. 常用windows命令

    目录 本教程概述 用到的工具 标签 简介 1.cmd的一些规则 2.cd切换目录命令 3.dir显示目录命令 4.type显示文本内容 5.del 删除文件 6.查看IP地址 7.net 命令 8.n ...

  2. PHP range

    1.函数的作用:生成范围内的数据 2.函数的参数: @param mixed $start @param mixed $end @param mixed $step 3.例子: <?php $n ...

  3. PHP 插入排序 -- 折半查找

    1. 折半查找  -- Binary Insertion Sort 时间复杂度 : O(n^2) 适用条件 : 相对直接插入排序,减少了数值的比较次数.适用于需要排序的数码比较少的情况. <?p ...

  4. linux-32位-交叉编译openssl

    下载 openssl-1.1.0i.tar.gz ./config no-asm shared –prefix=/usr/local/openssl –cross-compile-prefix=arm ...

  5. ESP8266开发之旅 网络篇⑪ WebServer——ESP8266WebServer库的使用

    授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...

  6. Java线程切换(一)

    (本文由言念小文原创,转载请注明出处) 一  前言有Android开发经验的同学都清楚,UI的更新必须在主线程中进行,且主线程不能被阻塞,否则系统ANR异常.我们往往做一些数据处理是耗时操作,必须要在 ...

  7. MyBatis(2)-- MyBatis配置mybatis-config.xml

    一.properties属性 1.可以在mybatis-config.xml中使用property子元素配置 <properties resource="jdbc.properties ...

  8. Unity混合天空盒

    对于不同天气下天空盒的实现. 天空盒时通过天空盒材质更改实现的,新建材质,选择shader/skybox/6sided,然后添加六个天空盒贴图就可以实现天空盒,如果想实现天气变化则需要至少两套贴图,并 ...

  9. 数据库系统(六)---MySQL语句及存储过程

    一.DDL.DML.DCL常用语句 1.DDL(Data Definition Language)数据库定义语言 (1)数据库模式定义 #创建数据库 create database if exsite ...

  10. SpringBoot 2.0 开发案例之百倍级减肥瘦身之旅

    前言 为了存我的小黄图,最近在做一款图床服务,集成了各种第三方云存储服务,目前正在内部测试阶段.项目是以Jar的形式运行在腾讯云上,不要问我为什么使用腾讯云了,因为阿里云老用户和狗不得入内. 问题凸显 ...