使用Xftp&Xshell 工具进行文件上传与运行webapi

摘要:
正文:准备工作:1、Xftp6工具,下载地址:https://www.netsarang.com/zh/xftp/2、Xshell6工具,下载地址:https://www.netsarang.com/zh/xshell/咱们先通过VS2019创建一个webapi项目,等下好发布到CentOS服务器演示创建完成之后,我就创建了一个UserController控制器,里面创建了一个User类,并且在构造函数中,初始化了一个私有用户列表对象数据,方便我们在调用接口的时候测试用。准备工作完成,咱们就先来发包,等下使用工具上传到CentOS服务器上最后执行“发布”即可。接下来,咱们通过Xftp工具。

前言:

由于我们平时在开发微服务的时候,都是在windows 或者mac上开发的,开完完成一些功能,需要发布到服务器上进行提测。今天,我主要介绍两个工具来说明一下如何上传以及把程序跑起来。

正文:

准备工作:

1、Xftp 6工具 ,下载地址:https://www.netsarang.com/zh/xftp/

2、Xshell 6 工具,下载地址:https://www.netsarang.com/zh/xshell/

咱们先通过VS 2019创建一个webapi项目,等下好发布到CentOS服务器演示

使用Xftp&Xshell 工具进行文件上传与运行webapi第1张

使用Xftp&Xshell 工具进行文件上传与运行webapi第2张

使用Xftp&Xshell 工具进行文件上传与运行webapi第3张

创建完成之后,我就创建了一个UserController控制器,里面创建了一个User类,并且在构造函数中,初始化了一个私有用户列表对象数据,方便我们在调用接口的时候测试用。使用Xftp&Xshell 工具进行文件上传与运行webapi第4张

准备工作完成,咱们就先来发包,等下使用工具上传到CentOS服务器上

使用Xftp&Xshell 工具进行文件上传与运行webapi第5张

使用Xftp&Xshell 工具进行文件上传与运行webapi第6张

使用Xftp&Xshell 工具进行文件上传与运行webapi第7张

使用Xftp&Xshell 工具进行文件上传与运行webapi第8张

最后执行“发布”即可。

使用Xftp连接服务器(192.168.217.129),这个服务器的搭建,我在前面几篇文章中已经搭建过了,这里就不再赘述了,如果有需要的伙伴,可以去《在VMWare上安装CentOS&Linux教程》查看一下。

使用Xftp&Xshell 工具进行文件上传与运行webapi第9张

第一次连接,可能会出现如下安全警告,我们选择“接收并保存”即可。

使用Xftp&Xshell 工具进行文件上传与运行webapi第10张

接下来,咱们通过Xftp工具。把刚才发布好的包上传到服务器的指定文件夹下(MicroService 文件夹是自己创建的)

使用Xftp&Xshell 工具进行文件上传与运行webapi第11张

下面是重点,仔细品

我们先准备两个文件(webapi.dockerfile 和 docker-compose.yml)

使用Xftp&Xshell 工具进行文件上传与运行webapi第12张

下面是webapi.dockerfile文件里面的详细内容:

# 基于.net core 3.1
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-alpine
# 将本地文件夹挂载到当前容器
VOLUME /tmp
# 复制文件到容器
COPY ./webapi /app/
WORKDIR /app
# 声明需要暴露的端口
EXPOSE 6666
# 配置容器启动后执行的命令
ENTRYPOINT ["dotnet", "yuyoho.WebApi.dll"]

.dockerfile 文件的一个详细说明,请移步至官网进行查阅其含义《Dockerfile解释

下面是docker-compose.yml文件的详细内容:

version: "3.6"

services:

  id-service:
    build: 
      context: ./
      dockerfile: webapi.dockerfile
    ports:
      - "6666:6666"
    environment:
      - ASPNETCORE_URLS=http://*:6666
      - workid=1
      - eureka:instance:ipAddress=192.168.217.129
      - eureka:instance:port=6666
    volumes:
      - ./log/webapi:/app/Log4net

有关docker-compose.yml 文件的讲解,我就不出系列文章了,有不明白的地方,请移步到《docker-compose.yml的使用》这里查看详细

到此,咱们就准备就绪了,接下来,咱们就开始使用Xshell工具,连接服务器进行启动微服务

使用Xftp&Xshell 工具进行文件上传与运行webapi第13张

使用Xftp&Xshell 工具进行文件上传与运行webapi第14张

咱们先切到对应目录

使用Xftp&Xshell 工具进行文件上传与运行webapi第15张

在这之前,咱们先安装一下docker-compose 命令

具体安装可以参考官方文档,也可以直接使用如下命令,都是从官网copy下来的。

[root@yuyoho MicroService]# sudo curl -L "https://github.com/docker/compose/releases/download/1.26.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   638  100   638    0     0    438      0  0:00:01  0:00:01 --:--:--   438
100 11.6M  100 11.6M    0     0   144k      0  0:01:22  0:01:22 --:--:--  133k
[root@yuyoho MicroService]# sudo chmod +x /usr/local/bin/docker-compose
[root@yuyoho MicroService]# docker-compose --version
docker-compose version 1.26.1, build f216ddbf
[root@yuyoho MicroService]# 

下面是详细的构建及启动过程

[root@yuyoho MicroService]# docker-compose build webapi
Building webapi
Step 1/6 : FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-alpine
3.1-alpine: Pulling from dotnet/core/aspnet
df20fa9351a1: Pull complete
ca1688c5bf4a: Pull complete
777cb091de55: Pull complete
bce8880f9e16: Pull complete
Digest: sha256:a0944fc49430cb7b3980055dfdefcbe5b36fa5c21d8db6e68ba36cf57f54593b
Status: Downloaded newer image for mcr.microsoft.com/dotnet/core/aspnet:3.1-alpine
 ---> 4213a3f7e30c
Step 2/6 : VOLUME /tmp
 ---> Running in 72977ea81356
Removing intermediate container 72977ea81356
 ---> 64869e57d313
Step 3/6 : COPY ./webapi /app/
 ---> c12899be6b05
Step 4/6 : WORKDIR /app
Removing intermediate container ae7f8a02209c
 ---> eacbf02e6b8e
Step 5/6 : EXPOSE 6666
 ---> Running in 300076e0299f
Removing intermediate container 300076e0299f
 ---> 47078d714d4d
Step 6/6 : ENTRYPOINT ["dotnet", "yuyoho.WebApi.dll"]
 ---> Running in 02bd03eb4098
Removing intermediate container 02bd03eb4098
 ---> 3157f66cef8e

Successfully built 3157f66cef8e
Successfully tagged microservice_webapi:latest
[root@yuyoho MicroService]# docker-compose up -d webapi
Creating network "microservice_default" with the default driver
Creating microservice_webapi_1 ... done
[root@yuyoho MicroService]# 

我们查看下是否已经正在运行

[root@yuyoho MicroService]# docker ps
CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS              PORTS                               NAMES
e36f8e258d73        microservice_webapi   "dotnet yuyoho.WebAp…"   2 minutes ago       Up 2 minutes        0.0.0.0:6666->6666/tcp              microservice_webapi_1
5bbcc794f9ea        mysql:latest          "docker-entrypoint.s…"   14 hours ago        Up 14 hours         0.0.0.0:3306->3306/tcp, 33060/tcp   mysql  

可以看出,已经正在运行了,那我们现在就在主机上访问下看看,到底是什么效果

使用Xftp&Xshell 工具进行文件上传与运行webapi第16张

什么原因呢,使我们的防火墙没开放端口,因此,我们使用如下命令开放一下

[root@yuyoho MicroService]# sudo firewall-cmd --zone=public --list-ports
5050/tcp
[root@yuyoho MicroService]# firewall-cmd --zone=public --add-port=6666/tcp --permanent
success
[root@yuyoho MicroService]# sudo firewall-cmd --reload
success
[root@yuyoho MicroService]# 

最后,咱们通过Postman进行接口测试

使用Xftp&Xshell 工具进行文件上传与运行webapi第17张 

结束:

前方的路很艰辛,但是沿途的风景很美丽。好好享受过程吧

免责声明:文章转载自《使用Xftp&Xshell 工具进行文件上传与运行webapi》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【WPF】附加属性kubernetes 1.21 部署 ingressnginx下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

升级项目到.NET Core 2.0,在Linux上安装Docker,并成功部署

概述容器,顾名思义是用来存放并容纳东西的器皿; 而容器技术伴着Docker的兴起也渐渐的映入大家的眼帘,它是一个抽象的概念,同时也是默默存在世上多年的技术,不仅能使应用程序间完全的隔离,而且还能在共享底层系统资源的同时发挥它最大的优势。相比于虚拟机来说,同一服务器它可以创建出两倍的实例,这样一来,不仅节省了系统开销,而且利用率和性能也得到了提升,何乐而不为...

docker-compose 创建轻量级git服务——gitea

docker-compose.yml version: '2'services: web: image: gitea/gitea:1.6container_name: gitea_web hostname: gitea.trio.ai environment: - USER_UID=1000 - USER...

WebAPI初探

WebAPI初探 由于即将要接手的新项目计划用ASP.NET MVC3来开发,所以最近一段时间一直在看相关的书或文章。因为之前在大学里也曾学习过MVC2开发,也做过几个简单的MVC2的小型测试项目,不过在后来工作以后主要还是开发WebForm的项目,所以MVC的东西也就逐渐的淡忘了。 经过这一段时间的系统学习,真的觉得MVC3相比于之前的MVC2还有Web...

WebAPI常见的鉴权方法,及其适用范围

在谈这个问题之前,我们先来说说在WebAPI中保障接口请求合法性的常见办法: API Key + API Secret cookie-session认证 OAuth JWT  当然还有很多其它的,比如 openid connect (OAuth 2.0协议之上的简单身份层),Basic Auth ,Digest Auth 不一一例举了 1、API Ke...

项目部署(一、docker安装与使用)

linux系统 国内使用daoclound一键安装 curl -sSL https://get.daocloud.io/docker | sh 查看docker版本 docker version systemctl start docker 启动dockersystemctl stop docker 停止systemctl restart docker 重...

.net WebApi使用swagger 美化接口文档

本文将一步步演示如何用swagger美化WebApi接口文档,为接口文档添加接口名称说明,为请求参数和返回数据结构字段含义添加注释说明 一、为WebApi项目安装Swagger 首先我们新建一个WebApi项目 图1(新建WebApi项目) 右击项目,选择管理NuGet程序包,搜索swagger,为WebApi安装swagger 图2(右击项目或者解决...