这几天闲着的时候在linux上部署了一下netcore webapi,下面就纪要一下这个过程。

中间遇到不少的坑,心里都是泪啊。

 话不多说,开始干活。

------------------------------------------------------------------------

第一步,你得先创建一个netcore的接口,这个我就简单创建一个接口。

关于开发工具,我用的是vs2017,当然最新的vs2019也出来了,你可以用新的,都没关系。

开始选择创建项目,如图所示,这个入门的程序员都应该懂

linux部署.net core_linux服务器

 

 

 选择API

linux部署.net core_服务器_02

 

 

 点击确定按钮就创建成功。

如图打开 Program.cs 

linux部署.net core_服务器_03

 

 

 在这里添加一段代码

linux部署.net core_服务器_04

 

代码添加后

linux部署.net core_上传_05

 

 

 这样代码就写好了。

接下来就是发布。

linux部署.net core_linux服务器_06

linux部署.net core_linux服务器_07

 

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

 linux部署.net core_百度云_08

 

 点击高级配置如下,注意下,这里的目标框架是2.2版本,所以我们在linux上安装的也是2.2。

 这里我就遇到过坑,我vs发布的是2.0的版本,结果我linux是2.2,就各种运行报错,后来改成2.2就好了。

linux部署.net core_linux服务器_09

 

 最后保存并发布就好了。

netcore项目的创建和发布就这样结束了。

第二步,你得准备一个linux服务器,然后安装环境

如果你条件允许,可以直接在阿里云或者腾讯云、华为云、百度云上买一个服务器。

新用户是白菜价哦,(这里真不是打广告)当然你可以在你电脑上安装一个VMware虚拟机。

具体安装步骤百度一下一大把,这里就不演示了。

我就在在百度云买了一个linux服务器,嗯,价格还算便宜,毕竟新用户,为什么用百度云??

当然不是因为他好,而是我阿里云已经不是新用户了

好了,我们继续。

用xshell登录到你的linux服务器上。(如果不懂linux,没关系,你总会百度吧)

登录成功后,你可以在直接输入如下命令



sudo yum install dotnet-sdk-2.2


linux部署.net core_百度云_10

 

 点击确认,你需要等一段时间,如果你服务器网速很差,那么你可以会等很久。

 如下图示,遇到这里你需要点击敲一下你的键盘上的 y 回车即可

 这个时候系统开始慢慢的下载了,请耐心等待即可。

linux部署.net core_百度云_11

 

 linux部署.net core_linux服务器_12

 终于下载完成了

linux部署.net core_linux_13

 

你可以输入下面的命令看看是否成功



dotnet --version


显示如下,表示按照成功

linux部署.net core_服务器_14

 

 

 

然后我们把发布包上传到服务器上来

我这里用的是xftp工具,当然也有其他工具可,下图所示是我安装的两个工具,大家可以去下载安装。

 

 linux部署.net core_服务器_15

这里给大家提供一些我在网盘保存的一些工具

Xshell+Xftp真正破解版    https://pan.baidu.com/s/1Ew1XPg11sakpc8mvK6QsHg 

 打开xftp并连接到服务器,如下所示

linux部署.net core_服务器_16

 

 

 

我这里用的root权限,这里进来就直接就是root根目录了

然后右键点击创建一个目录用来保存你上传的netcore文件,嗯,就取名netcore吧

linux部署.net core_linux_17

 

 

 

linux部署.net core_linux_18

 

 

 

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

linux部署.net core_linux_19

 

 

 

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

linux部署.net core_上传_20

 

 

然后文件就开始传输了

linux部署.net core_百度云_21

 

 

 

 

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

linux部署.net core_linux服务器_22

 

 有人可能会问为啥这么多文件,我vs2017本来没有2.2版本,后来我在本机安装了2.2,结果发布后就这么多......

然后我们再次回到xshell看看

输入命令 ll 可以看到我们新加了一个文件 netcore

linux部署.net core_上传_23

 

 然后输入命令cd  进入到我们上传的这个发布包中。

然后在输入命令 ll



cd netcore
ll


我们可以找到WebApiTest.dll文件

linux部署.net core_linux服务器_24

 

 然后输入命令



dotnet WebApiTest.dll


如图所示,就恭喜你你的项目运行正常。

linux部署.net core_服务器_25

 

 然后你Ctrl+C结束掉这个程序,这里只能在服务器内部访问,外面是不能访问的。

 然后输入如下命令



dotnet WebApiTest.dll   --server.urls "http://*:6666"


如图所示

linux部署.net core_服务器_26

 

 然后用postman或者一些在线工具访问这个接口,如图所示,那么恭喜你成功了

这个测试工具的网站:https://www.sojson.com/httpRequest/

linux部署.net core_服务器_27