目录

任务名称

任务概述

任务目标

任务过程

所涉及知识点

1.Linux概述

1.1.Linux简介

1.2 Linux 的版本

1.3 Linux的应用

2、Linux的安装

2.1 虚拟机安装

2.1.1 什么是虚拟机?

2.1.2 VMware介绍/优势

2.1.3 VMware虚拟软件的安装

2.2 CentOS的安装

3、Linux的远程访问

3.1 安装远程访问工具

3.2 远程工具连接到Linux

4、Linux目录结构

5.Linux的用户管理(管理员root)

5.1.用户账号

5.2.查看用户信息cat /etc/passwd

5.3.创建一个用户(useradd 选项 用户名)

5.4.删除用户(userdel 选项 用户名)

5.5.用户口令管理(passwd 选项 用户名)

6.Linux常用命令--重要

6.1.Linux目录管理

6.1.1.查看目录ls

6.1.2.切换目录cd

6.1.3 显示当前目录pwd

6.1.4 创建目录mkdir

6.1.5 删除目录( rmdir)

6.2.文件操作

6.2.1.查看文件内容cat/more/less

6.2.2 创建文件touch

6.2.3 写入内容echo

6.2.4 复制/拷贝文件cp

6.2.5 移动文件mv

6.2.6 删除文件rm

6.3 打包与拆包tar/gzip

6.4 其它命令

6.4.1 查看进程快照

6.4.2 管道 |

7、VIM编辑器-重要

7.1 VIM的模式

7.1.1命令模式

7.1.2 输入模式

7.1.3 底线命令模式

7.2.示例

8.Linux的文件权限

8.1文件权限

8.2 修改文件权限

8.2.1 mode方式

8.2.2 数字方式

9、Linux常用网络操作

9.1 主机名操作

9.2 查询系统完整信息

9.3 IP地址操作

9.4 域名映射

9.5网络服务管理

9.6 防火墙设置

10、Linux上部署Web项目

10.1 远程上传工具的使用

10.2 安装JDK

10.3 安装Tomcat

10.4 安装MySQL


任务名称

     使用 Linux 系统部署 WEB

任务概述

     乙方工程师结束了一个项目验收后,在和甲方对接时,甲方要求乙方公司在linux系统下提供项目部署上线的服务,之前一致在window系统下做开发部署,Linux系统下如何做?

任务目标

      技能目标:掌握 Linux 系统的使用以及开发环境的搭建

      业务目标:在 Linux 系统下部署之前的 web 项目

任务过程

     ①安装 VM 虚拟机

     ②创建 Linux 系统环境

     ③搭建系统环境下的开发环境

     ④部署项目到 Linux

所涉及知识点

     VM 软件安装以及网络配置

     Linux 系统安装

     Linux 常用指令

     Linux用户与权限

     Linux 环境下开发环境的搭建tomcat、mysql...

Liunx快捷键:

复制内容后直接鼠标右键即可粘贴、

输入文件前几个字母按Tab键自动补全、

向上箭头查看之前输入的命令

linux检索: 在配置文件中安全模式下输入?关键字 当前页没有时,输入n,查找下一页

1.Linux概述

1.1.Linux简介

Linux 是一套免费的基于 POSIX 和 UNIX 的多用户、多任务、 支持多线程和多 CPU 的操作系统。

1.2 Linux 的版本

Linux的版本分为两种:内核版本和发行版本。

内核版本

    是指在Linus领导下的内核小组开发维护的系统内核的版本号 。

发行版本

    是一些组织和公司根据自己发行版的不同而自定的 ,说的简单点就是将 Linux 内核与应用软件 做一个打包卖给用户比如ubuntu(u 班 图)。内核版本是开源免费,发行版本中有免费有付费

1.3 Linux的应用

我们现在常用的系统是Windows操作系统,简单易用。但不是很适合做服务器。

而Linux在这方面就很有优势。 Linux在服务器系统、嵌入式系统、桌面应用系统、移动手持系统等方面都有很广泛的应用

我们在自己的电脑window系统上装上web服务器软 件tomcat,将项目发布到tomcat上就可以访问,如果项目是商业项目,tomcat访问有上限的,很多人访问的时候性能不够,就需要购买服务器,在服务器上一般装Linux操作系统,在Linux系统上装一些服务器软件tomcat,mysql等

2、Linux的安装

2.1 虚拟机安装

2.1.1 什么是虚拟机?

虚拟机可以认为是一台虚拟的电脑。就是用软件虚拟出来的电脑。

虚拟机软件也有多种,例如有免费的virtualBox、收费的VMware

2.1.2 VMware介绍/优势

VMware是一个“虚拟pc”软件公司,提供服务器,桌面虚拟化的解决方案

它的产品可以实现在一台计算机上同时运行两个或者更多Windows,DOS,LINUX系统。

与多启动系统相比 ,VMware采用了完全不 同的概念。多启动系统在一个时刻只能运行一个系统,在系统切换时需要重启计算机。

VMware可以实现真正“同时”运行,多个操作系统在主系统平台上可以像标准windows应用程序那样切换。每个操作都 可以进行虚拟分区,配置,而不影响真实硬盘的数据,甚至可以通过虚拟网卡将几台虚拟机连接为一个 局域网,及其方便。安装在VMware里面的操作系统的性能比直接安装在硬盘上的系统性能高不少,比 较适合学习和测试。

2.1.3 VMware虚拟软件的安装

安装虚拟机软件VMware后,便可在该软件中虚拟出一台台计算机,然后在虚拟的计算机中装上不同的操作系统

VMware虚拟机软件的安装【VMware12】

2.2 CentOS的安装

已经安装完毕了虚拟机软件VMware,接下来就可以虚拟一台计算机并安装Linux的操作系统了,这里选择的linux操作系统是CentOS7

虚拟机上安装centOS操作系统

3、Linux的远程访问

3.1 安装远程访问工具

开发中,一般情况下虚拟机都是安装在公司的服务器上或者租的云服务器上,想要访问虚拟机上的资源就需要安装远程访问工具。(避免虚拟机不在本机情况下的访问)

远程访问工具有很多,基本都是大同小异,这里选择的工具是SecureCTR.

Linux远程访问工具SecureCRT的安装与连接ping

3.2 远程工具连接到Linux

Linux远程访问工具SecureCRT的安装与连接ping

4、Linux目录结构

CRT可视化工具中查看目录结构:

在CRT中输入ll命令,展示home目录

在虚拟机中查看home目录,与CRT查看的对比

虚拟机中computer根目录查看

在CRT远程访问工具中查看虚拟机的computer这个根目录信息

先输入cd / 回车后进入根目录再输入ll显示,和虚拟机的根目录信息一一对应。

开发人员关注目录

5.Linux的用户管理(管理员root)

linux的用户管理必须是CRT以管理员身份root登录才可以增删改查,若以普通用户bowei只有查看的权限。

Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。

用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。

每个用户账号都拥有一个唯一的用户名和各自的口令。

用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。

5.1.用户账号

用户账户一般非为两大类:超级管理员和普通用户。

超级管理员:用root表示,root用户在系统中拥有最高权限。

普通用户:除了root之外的用户。例如我们之前创建的bowei用户,就是普通用户。

5.2.查看用户信息cat /etc/passwd

#语法 cat /etc/passwd

- root:用户名

- x :密码 :已经加密 ,密码存放在 vi /etc/shadow  密码文件

- 0: 账号id ,userId

- 0: 组id ,group id

在CRT中通过命令查看Linux所有用户信息

5.3.Linux管理员创建一个Linux用户(useradd 选项 用户名)

# 创建一个用户 ,在CRT中要以管理员身份创建新连接,用户名root,密码6453...,才能使用下面的命令

#语法:useradd 选项 用户名

#选项:

-c comment 指定一段注释性描述

-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。              

-g 用户组 指定用户所属的用户组。              

-G 用户组,用户组 指定用户所属的附加组。              

-s Shell文件 指定用户的登录Shell。            

 -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。

#案例1: useradd bowei01

5.4.Linux管理员删除用户(userdel 选项 用户名)

# 删除一个用户

#语法:userdel 选项 用户名; 其中-r是常用的选项,表示将用户的主目录一起删除。

案例:userdel -r bowei01

5.5.Linux管理员给用户口令管理(passwd 选项 用户名)

用户口令的管理其实就是用户密码的管理。用户账号刚创建时没有口令,但是被系统锁定,无法使用,必须为其指定口令后才可以使用,即使是指定空口令。

指定和修改用户口令的命令是passwd。超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。

# 用户口令的管理

#语法:passwd 选项 用户名

可使用的选项:

-l 锁定口令,即禁用账号。      

-u 口令解锁。      

-d 使账号无口令。      

-f 强迫用户下次登录时修改口令。

如果默认用户名,则修改当前用户的口令。

例如,切换到用户bowei01,则下面的命令修改该用户自己的口令:PS:linux操作系统中密码部分不予显示,所以看起来是空白的,实际已经输入了密码。

下面在CRT中以管理员身份创建普通用户bowei01,并设置密码,并以bowei01用户来远程连接linux

CRT重新建立Linux远程连接

普通用户修改密码,需要先输入正确的原密码

普通用户修改自己的口令时,passwd命令会要求先输入原口令,验证后再要求用户输入两遍新口令,如果两次输入的口令一致,则将这个口令指定给用户;而超级用户为用户指定口令时,就不需要知道原口令。

为了系统安全起见,用户应该选择比较复杂的口令,例如最好使用8位长的口令,口令中包含有大写、小写字母和数字,并且应该与姓名、生日等不相同。

6.Linux常用命令--重要

6.1.Linux目录管理命令

Linux的目录结构为树状结构,最顶级的目录为根目录 /。

其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们。

下面以管理员root身份在CRT中演示常用Linux命令

6.1.1.查看目录ls

Linux系统当中, ls 命令可能是最常被运行的

 

 

 

 

 

 ls只显示名称,ll显示文件详细信息,根据自己需求使用。

6.1.2.切换目录cd

cd是Change Directory的缩写,这是用来变换工作目录的命令

语法: cd [相对路径或绝对路径]

 

6.1.3 显示当前目录pwd

pwd 是 Print Working Directory 的缩写,也就是显示当前目录的命令

语法: pwd

6.1.4 创建目录mkdir

mkdir (make directory)用来创建新的目录

 

6.1.5 删除目录( rmdir)

  rmdir命令用来删除空的目录

6.2.文件操作命令

6.2.1.查看文件内容cat/more/less

6.2.1.1 cat 查看所有内容

语法:cat 由第一行开始显示文件内容

6.2.1.2 more 一页一页的显示文件内容

 

6.2.1.3 less 一页一页翻动

6.2.2 创建文件touch

语法:touch 创建一个空白的普通文件

6.2.3 写入内容echo

echo 把内容重定向到指定的文件中 ,有则打开,无则创建

6.2.4 复制/拷贝文件cp

复制目录/文件夹命令 cp  A   B  -r 

将A文件夹复制到B文件夹中(递归持续复制), # cp redis  redis1  -r  复制redis从机

cp --help查看详细用法

6.2.5 移动文件mv

mv 可以移动文件与目录,或修改名称

6.2.6 删除文件rm

rm 可以移除文件或目录(不需要考虑空)

 6.3 打包与拆包tar/gzip

打包与压缩:是将多个文件打包成一个文件/,没有压缩过程,a,b分别10M,打包后就是20M,                        先打包再压缩就小于20M

拆包与解压缩:

既打包又压缩的文件xxx.tar.gz/xxx.tgz

6.4 其它命令

6.4.1 查看进程快照

查看具体进程,使用管道后面跟上具体进程

6.4.2 管道 |

管道是Linux中比较重要且常用的一个内容,其作用是将一个命令的输出作为另一个命令的输入,组合使用。

例如:查看具体进程

ps -axu | grep java

ps -axu这个命令可以输出所有进程,将这个结果作为grep java命令的输入,查询我需要的信息,就是从所有进程中查询我需要的java进程信息

例如:分页查看帮助信息

7、VIM编辑器-重要

以后经常使用vim编辑器命令改配置文件,掌握vim如何在各个模式之间切换,以及各个模式下常用命令。

vim进入命令模式

输入i进入输入模式,输入Esc退出当前模式

输入:进入底线模式,

7.1 VIM的模式

vim 共分为三种模式,分别是命令模式(一般模式)(Command mode),输入模式(编辑模式)(Insert mode)和底线命令模式(底行模式)(Last line mode)。

7.1.1命令模式

用户刚刚启动 vi/vim,便进入了命令模式。

vim进入命令模式,后面文件若是不存在,则自动生成

 输入i 切换到输入模式,输入字符串

 先Esc退出输入模式到命令模式,再输入:进入底线命令模式,输入q退出,输入wq保存后退出

 退出vim编辑器后,再进入命令模式查看是否保存

输入i进入输入模式,在原来内容上新加内容后,Esc键退出输入模式,输入:进入底线安全模式,输入q不保存离开,是不行的,需要输入q!强制离开(不保存)

 

7.1.2 输入模式

在命令模式下按下i就进入了输入模式。

7.1.3 底线命令模式

在命令模式下按下:(英文冒号)就进入了底线命令模式。

7.2.示例

创建一个新的名为haha.txt 的文件:

 回车后进入命令模式,输入i进入编辑模式,输入内容nihao,Esc退出编辑模式,输入:进入底线模式,输入wq保存并退出vim

8.Linux的文件权限

Linux操作系统中对权限的管理很严格。Linux系统中不仅是对用户与组根据UID,GID进行了管理,还对Linux系统中的文件,按照用户与组进行分类,针对不同的群体进行了权限管理,用他来确定谁能通过何种方式对文件和目录进行访问和操作。

8.1文件权限

用户获取文件权限的顺序: 先看是否为所有者,如果是,则后面权限不看;再看是否为所属组,如果是,则后面权限不看。

8.2 修改文件权限

8.2.1 chown修改文件或目录的所有者

语法 chown UID:GID  haha.txt  修改文件haha.txt用户UID和组GID,该文件赋给UID和GID所有。

下面是修改文件haha.txt的用户UID和组GID

8.2.2 mode方式修改文件或文件夹读写权限

首先确定修改那个部分(用户所有者u/用户组g/其他用户o)的文件权限

然后是给这部分添加还是删除哪个权限

就是个加减或者赋值的式子

格式 chmod u/g/o +-= rwx  haha.txt 

8.2.2 数字方式修改文件或文件夹读写权限

9、Linux常用网络操作

9.1 主机名操作

9.2 查询系统完整信息

9.3 IP地址操作

查看IP地址:ip addr

修改IP地址:修改/etc/sysconfig/network-scripts/

重启网络服务 service network restart

 修改linux系统所在的主机的ip地址,注意,修改成功后,本地远程访问linux的工具SecureCRT就连接不上,需要根据修改后的ip重新建立连接

 Esc键退出编辑模式,输入:进入底线模式,输入wq保存修改并退出

 退出来后重启服务service network restart,现在客户端CRT已经连不上,因为当前是基于ip 192.168.153.136建立的连接,但刚刚已经修改linux本机ip为92.168.153.137,所以需要重新建立连接

 新建基于ip 192.168.153.137的连接

 

 等几秒弹出窗口输入密码

 

 下面再改回来,改成dhcp动态生成ip,上面ip是静态static

 

 

 Esc键退出编辑模式,输入:进入底线模式,输入wq保存配置文件并退出,然后重启网络

 等待重启网络服务结束后,ip 192.168.153.137对应的连接就不可用了,之前的ip192.168.153.136的连接就可重新使用,输入密码即可

9.4 域名映射

修改 /etc/hosts文件

 输入i进入编辑模式,将本机(Linux系统所在的本机)的ip地址192.168.153.136进行域名映射

 

9.5网络服务管理

ctl:control

9.6 防火墙设置

10、部署Web项目到Linux上

10.1 远程上传工具SecureFX上传文件(破解版)

 双击软件,选择要连接的到的虚拟机ip

 输入密码

 在SecureFX工具中直接拖拽文件实现文件上传到Linux上

注意要选择以字节binary方式传输,不要选择ASCII,否则解压后文件不完整

 

 

也可以SecureCRT中使用命令行查看

 以.tar.gz后缀就是Linux的安装包

10.2 安装JDK

1、上传jdk文件到linux

使用SecureFXlinux后,将JDK压缩包上传到新建的myFile文件夹。

2、解压压缩包

使用SecureCRT命令行解压

 3、测试jdk是否安装成功

注意 : 这里是在 jdk bin 目录下运行的。并且 java 命令前有 “./”表示当前路径下,要写,上面查看java版本号 # ./java -version
4 、配置环境变量

要在全局使用,需要配置环境变量,修改配置文件就需要vim编辑器进入/etc/profile文件中配置环境变量

(1) 编辑 profile 文件 :

(2) profie 文件中添加 JAVA_HOME 变量

 输入i进入编辑模式,在最后一行配置环境变量,然后Esc键退出编辑模式,输入:进入底线模式,输入wq保存并退出vim编辑器

(3)使环境变量及时生效 

配置文件配置好后需要设置及时生效

另外,避免路径写错,双击左边ip会话,新生成一个会话,显示bin路径,复制后,在另一个会话中右键就粘贴了

 (4)查看变量是否更新成功:

(5) 在任意目录下测试环境是否配置成功

10.3 安装Tomcat

安装 Tomcat 之前要保证 JDK 安装成功
1 、上传 Tomcat 压缩包到根目录的myFile 文件夹,之前已经完成
2 、解压: tar -xzvf apache-tomcat-8.5.11.tar.gz
3 、启动 Tomcat

 

修改tomcat编码字符集

开发web项目的时候,我们总是能遇到很多的乱码问题,使用Tomcat部署的时候较多,

需要在conf/server.xml中找到 <Connector port="8080" protocol="HTTP/1.1" ....> 末尾添加URIEncoding="UTF-8"即可。

4、关闭防火墙之后测试访问  

关闭虚拟机上的防火墙,因为它可能会拦截端口号,若是还不行,将本机防火墙也关闭

在本机输入虚拟机ip和端口号192.168.153.137:8080出现页面表示tomcat在Linux系统上部署成功

此时可以将本地项目达成war包,使用SecureFX工具将war包上传到linux下的tomcat的webapps文件下(war包自动解压,不需要命令tar解压),然后在本机输入ip端口号以及项目路径就可以打开项目页面,如果打不开那就是项目问题,因为tomcat已经成功部署在linux上

在IDEA中将项目打成war包

使用SecureFX工具将war包从本机上传到Linux系统中的tomcat的webapp下

 修改conf目录下的server.xml文件,找到Host标签,如下:

假设linux在公司的服务器上或者在云服务器,此时只能在本机上使用远程工具输入命令修改配置文件,无法直接打开linux上的tomcat文件中的server.xml修改。

 进入vim编辑器后,输入i进入编辑状态,新增如下

 <Context path="/" docBase="unnamed.war" debug="0" privileged="true" reloadable="true"/>

docBase是关键,这是war包的名称,就是项目打成war包的名字,也就是放到webapps目录下的war包名。增加<Context …/>内容之后,保存。

最后,进入到bin目录下,启动tomcat -> ./startup.sh

 下面开始请求访问

输入虚拟机ip和tomcat服务器端口号,访问到如下页面,服务器部署成功

 访问webapp下的unnamed.war

http://虚拟机ip:tomcat服务器端口号8080/war包名不含后缀/这里是项目接口也就是路径

5 、关闭 Tomcat

10.4 安装MySQL

linux系统上安装mysql,就不使用安装包,直接使用YUM(样幕)软件包管理器直接从网上下载。

YUM Yellow dog Updater, Modified )是一个在 Fedora RedHat 以及 CentOS 中的 Shell 前端软件包 管理器
它基于 RPM 包管理,能够从指定的服务器自动下载 RPM包并且安装,可以自动处理依赖性关系,无须繁 琐地一次次下载、安装。rpm:redhat package manager红帽软件包管理工具
步骤 1: 检测系统是否自带安装 mysql
# yum list installed | grep mysql
步骤2: 删除系统自带的 mysql 及其依赖(防止后面安装发生冲突),不管有没有都走一遍删除
# yum -y remove mysql-libs.x86_64

步骤3: 给CentOS添加rpm源,并且选择较新的源,RPM软件包管理器缩写

# wget --no-check-certificate dev.mysql.com/get/mysql-community-release-
el6-5.noarch.rpm   
(这个rpm源出现HTTP request sent, awaiting response... 404 Not Found )
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
可能因为网络不好问题导致下载rpm文件中途失败,继续执行上面的命令重新下载。
直接复制上面命令,然后鼠标右键自动粘贴
步骤 4: yum 安装 rpm 文件

 # yum repolist enabled | grep mysql    //列出你所有的yum repo文件

步骤 5: 使用 yum 安装 mysql (这步才是真正安装mysql服务器)
# yum install mysql-community-server

 

安装完毕
步骤 6: 启动 mysql 服务
# service mysqld start     或者  # systemctl start mysqld.service
查看MySQL运行状态
# systemctl status mysqld.service

 此时MySQL已经开始正常运行,不过要想进入MySQL还得先找出此时root用户的密码,通过如下命令可以在日志文件中找出密码:

# grep "password" /var/log/mysqld.log

如下命令进入数据库(密码就是上面显示的初始密码)

# mysql -uroot -p

修改初始密码
这里有个问题,新密码设置的时候如果设置的过于简单会报错:

 原因是因为MySQL有密码设置的规范,具体是与validate_password_policy的值有关

 MySQL完整的初始密码规则可以通过如下命令查看:

SHOW VARIABLES LIKE 'validate_password%';

 修改这两个值,就可设置简单的mysql密码

mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;

mysql> flush privileges;
//mysql 新设置用户或更改密码后需用 flush privileges 刷新 MySQL 的系统权限相关表,否则会出现拒绝 访问

 还有一个问题,就是因为安装了Yum Repository,以后每次yum操作都会自动更新,需要把这个卸载掉

# yum -y remove mysql57-community-release-el7-11.noarch

步骤 7: 查看 mysql 是否自启动 , 并且设置开启自启动
# chkconfig --list | grep mysqld

 0 1 2 3 4 5 6 代表centOS启动状态

 # chkconfig mysqld on

 开启自启动

步骤 8: 修改字符集为 UTF-8
# vim /etc/my.cnf
[mysqld] 部分添加:
character-set-server=utf8
在文件末尾新增 [client] 段,并在 [client] 段添加:
default-character-set=utf8
esc 退出编辑 :wq 保存退出

 

修改完成后保存重启服务
# service mysqld restart    或者  # systemctl start mysqld.service
步骤 9: 修改默认配置
# mysql_secure_installation
按照提示进行配置,这里默认 root 用户的密码空,直接回车即可。此处输入内容 :"y","y","n","y","y"

 报错

步骤 10: 授权远程登录
若在本机登录linux上的mysql服务器是无法连接的,需要授权才能远程登录。
方案 1: 实现远程连接 ( 授权法 )- 将权限改为 ALL PRIVILEGES
方案 2: 实现远程连接(改表法)
这边两个方案都使用。
[root@centosbowei ~]# mysql -uroot -p
mysql> use mysql;
Database changed
mysql> flush privileges;
//mysql 新设置用户或更改密码后需用 flush privileges 刷新 MySQL 的系统权限相关表,否则会出现拒绝 访问
mysql> select host,user,password from user;

 在localhost本机上访问Mysql没问题,远程访问需要修改host为%,所有主机都可以访问而不是只有本机。

update user set host = '%' where user = 'root' and host='localhost';
这样在远端(本机)就可以通过 root 用户访问linux系统上的 Mysql服务器

 

连接失败,查看本机和linux上防火墙是否关闭

 

 linux上的防火墙是开着的

 关闭

 亮绿色连接成功

也可以 将权限改为ALL PRIVILEGES,所有权限

GRANT ALL PRIVILEGES ON . TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
授权完毕需要刷新权限表flush privileges;
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐