Web服务器集群: kylin 部署 Halo博客系统

目录

  一、实验

1.环境

2. kylin 部署mysql数据库

3. kylin 构建Java运行环境

4. 创建博客使用的数据库

5. kylin 部署 halo博客系统

6. kylin 部署nginx

7. kylin 使用 SSL证书基于https访问部署的博客系统

二、问题

1.mysql安装报错

2.查看mysql数据库报错

3.systemd服务如何实现脚本编写与管理

4. Linux软件安装

5.安装 OpenJDK 11 两种方式

 6. Halo 如何下载不同版本与配置文件

7.Halo 服务启动失败

8. Halo 附件上传报错


  一、实验

1.环境

(1)主机

表1  主机

主机架构版本IP备注
kylin银河麒麟V10192.168.204.77 

mysql数据库8.0.18-1
openjdk11.0.21
halo博客1.6.0

2. kylin 部署mysql数据库

(1) 修改yum仓库

[root@kylin ~]# cd /etc/yum.repos.d/[root@kylin yum.repos.d]# ls[root@kylin yum.repos.d]# vim kylin_x86_64.repo 

修改前:

修改后:

###Kylin Linux Advanced Server 10 - os repo###[ks10-adv-os]
name = Kylin Linux Advanced Server 10 - Os 
baseurl = http://update.cs2c.com.cn:8080/NS/V10/V10SP2/os/adv/lic/base/$basearch/
gpgcheck = 1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-kylin
enabled = 1[ks10-adv-updates]
name = Kylin Linux Advanced Server 10 - Updates
baseurl = http://update.cs2c.com.cn:8080/NS/V10/V10SP2/os/adv/lic/updates/$basearch/
gpgcheck = 1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-kylin
enabled = 1[ks10-adv-addons]
name = Kylin Linux Advanced Server 10 - Addons
baseurl = http://update.cs2c.com.cn:8080/NS/V10/V10SP2/os/adv/lic/addons/$basearch/
gpgcheck = 1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-kylin
enabled = 0[kylin-epel]
name = epel
baseurl = https://update.cs2c.com.cn/NS/V10/V10SP3/EPKL/x86_64/
gpgcheck = 0
enabled = 1

(2)安装

[root@kylin yum.repos.d]# dnf install  mysql-server mysql mysql-common mysql-libs

(3) 启动服务

[root@kylin yum.repos.d]# systemctl start mysqld[root@kylin yum.repos.d]# ps -ef|grep mysqld

(4)查看临时密码

[root@kylin yum.repos.d]# tail -f /var/log/mysqld.log
……
A temporary password is generated for root@localhost: 0A.Ks%yihwei
……

(5)登录 

输入上一步的临时密码

[root@kylin yum.repos.d]# mysql -uroot -p

(6)修改密码

mysql> alter user 'root'@'localhost' identified by 'root@mySQL123';

(7)查看数据库

mysql> show databases;

(8)退出

mysql> quit

3. kylin 构建Java运行环境

(1)  卸载java-1.8.0

[root@kylin ~]# dnf remove java-1.8.0*

(2)安装

[root@kylin ~]# dnf install java-11 

(2) 查看版本

[root@kylin ~]# java -version    

4. 创建博客使用的数据库

(1)创建

字符集(Character Set):utf8mb4

排序规则(Collate):utf8mb4_bin

[root@kylin ~]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.18 MySQL Community Server - GPLCopyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> create database halodb character set utf8mb4 collate utf8mb4_bin;
Query OK, 1 row affected (0.01 sec)mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)mysql> quit
Bye

5. kylin 部署 halo博客系统

(1)上传jar包

[root@kylin ~]# mkdir -p /data/halo
[root@kylin ~]# cd /data/halo/[root@kylin halo]# wget https://dl.halo.run/release/halo-1.6.0.jar
[root@kylin halo]# ll

(2)配置部署文件

编辑配置文件

[root@kylin halo]# mkdir /root/.halo
[root@kylin halo]# cd /root/.halo
[root@kylin .halo]# ll[root@kylin .halo]# vim application.yaml 

server:port: 8090# Response data gzip.compression:enabled: false
spring:datasource:# H2 database configuration.#driver-class-name: org.h2.Driver#url: jdbc:h2:file:~/.halo/db/halo#username: admin#password: 123456# MySQL database configuration.driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://127.0.0.1:3306/halodb?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=trueusername: rootpassword: root@mySQL123# H2 database console configuration.#h2:#  console:#    settings:#      web-allow-others: false#    path: /h2-console#    enabled: falsehalo:# Your admin client path is https://your-domain/{admin-path}admin-path: admin# memory or levelcache: memory

(3)编写服务脚本

修改

[root@kylin halo]# vim /etc/systemd/system/halo.service

[Unit]
Description=Halo Service
Documentation=https://halo.run
After=network-online.target
Wants=network-online.target[Service]
Type=simple
User=root
ExecStart=/usr/bin/java -server -Xms1024m -Xmx1024m -jar /data/halo/halo-1.6.0.jar
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=always
StandOutput=syslogStandError=inherit[Install]
WantedBy=multi-user.target

(4)重载服务

[root@kylin halo]# systemctl daemon-reload

(5)启动服务

[root@kylin halo]# systemctl start halo

(6)查看服务

[root@kylin halo]# systemctl status halo

[root@kylin halo]# ps -ef |grep halo

(7)查看信息

[root@kylin halo]# vim /etc/systemd/system/halo.service
[root@kylin halo]# cd /root/.halo/
[root@kylin .halo]# ll

(8)查看防火墙状态

[root@kylin .halo]# systemctl status firewalld.service 

查看规则

[root@kylin .halo]# firewall-cmd --list-all

添加端口

[root@kylin .halo]# firewall-cmd --add-port=8090/tcp

再次查看规则

[root@kylin .halo]# firewall-cmd --list-all

另一种方式:关闭防火墙

[root@kylin .halo]# systemctl stop firewalld.service 
[root@kylin .halo]# systemctl status firewalld.service 

(9)访问halo

http://192.168.204.77:8090

(10)设置

(11)输入账户

进入系统

(12)安装主题

安装

访问

https://halo.run/themes


 

手动下载

上传

启用

修改主题样式

查看效果

6. kylin 部署nginx

(1)安装

[root@kylin ~]# dnf install nginx

(3)查看目录

默认配置文件:nginx.conf

[root@kylin ~]# ll /etc/nginx

(4)反向代理

[root@kylin ~]# vim /etc/nginx/nginx.conf

location / {proxy_pass http://192.168.204.77:8090;proxy_set_header HOST $host;proxy_set_header X-Forwarded-Proto $scheme;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}

(5)启动服务

[root@kylin ~]# systemctl start nginx

查看 (1个父进程。多个子进程)

[root@kylin ~]# ps -ef |grep nginx

自启

[root@kylin nginx]# systemctl enable nginx

(6)查看网络

nginx监听80端口

[root@kylin ~]# netstat -antlp

(7)访问测试反向代理

http://192.168.204.77

(8) 登录

http://192.168.204.77/admin

修改博客地址

修改前:

修改后:

7. kylin 使用 SSL证书基于https访问部署的博客系统

(1)阿里云数字证书管理服务

数字证书管理服务(原SSL证书)(SSL Certificate)-阿里云帮助中心 (aliyun.com)

(2)SSL证书类型

SSL证书选购指引_数字证书管理服务(原SSL证书)(SSL Certificate)-阿里云帮助中心 (aliyun.com)

(3) 申请个人测试证书

(4)证书审核

(5)DNS验证

设置

验证成功

已签发

(6)下载证书

选择nginx

(7) 上传证书

nginx相对路径上传证书

[root@kylin maojing]# ls
maojing.site.key  maojing.site.pem
[root@kylin maojing]# ll
总用量 8
-rw-r--r-- 1 root root 1675  2月 21  2024 maojing.site.key
-rw-r--r-- 1 root root 3822  2月 21  2024 maojing.site.pem
[root@kylin maojing]# pwd
/etc/nginx/maojing

(8)修改nginx配置文件

[root@kylin maojing]# vim /etc/nginx/nginx.conf

http段新增1个server段

server{listen       443 ssl;server_name  www.maojing.site;ssl_certificate     maojing/maojing.site.pem;ssl_certificate_key maojing/maojing.site.key;ssl_prefer_server_ciphers on;ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;ssl_ciphers         "HIGH:!aNULL:!MD5";add_header X-Frame-Options DENY;add_header X-Content-Type-Options nosniff;add_header X-Xss-Protection 1;location / {proxy_pass http://192.168.204.77:8090;proxy_set_header Host $proxy_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}}

(9)重启服务

[root@kylin maojing]# systemctl restart nginx

(10)修改Windows域名

notepad

打开

添加解析

192.168.204.77 www.maojing.site

(11) 访问

https://www.maojing.site/

查看安全性

(12) 登录

https://www.maojing.site/admin

进入系统

二、问题

1.mysql安装报错

(1)报错

下载的软件包保存在缓存中,直到下次成功执行事务。
您可以通过执行 'dnf clean packages' 删除软件包缓存。
错误:事物测试失败:file /etc/my.cnf from install of mysql-community-server-8.0.18-1.ky10.x86_64 conflicts with file from package mariadb-common-3:10.3.39-1.p01.ky10.x86_64

(2)原因分析

 mysql-community-server-8.0.18-1.ky10.x86_64 和 后面的mariadb-common-3:10.3.39-1.p01.ky10.x86_64 冲突

(3)解决方法

卸载冲突的包再重新安装。

[root@kylin yum.repos.d]# dnf remove  mariadb-common-3:10.3.39-1.p01.ky10.x86_64

成功:

[root@kylin yum.repos.d]# dnf install  mysql-server mysql mysql-common mysql-libs

2.查看mysql数据库报错

(1)报错

mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

(2)原因分析

需要重置密码。

(3)解决方法

设置密码

mysql> alter user 'root'@'localhost' identified by 'root@mySQL123';

成功:

3.systemd服务如何实现脚本编写与管理

(1)service文件存放路径

/etc/systemd/system/*     ――――  系统管理员手动软件安装包或脚本放置于此,优先级更高/run/systemd/system/*     ――――  运行时配置文件,这个目录一般是进程在运行时动态创建unit文件的目录,一般很少修改,除非是修改程序运行时的一些参数时,即Session级别的,才在这里做修改。/usr/lib/systemd/system/*   ――――  该目录中包含的是软件包安装的单元,也就是说通过yum、dnf、rpm等软件包管理命令管理的systemd单元文件,都放置在该目录下。/lib/systemd/system: 指向/usr/lib/systemd/system。

(2)systemd 使用语法

1)语法
systemctl   [command]    [unit](配置的应用名称)2(command可选项
start:启动指定的unit         systemctl start nginx
stop:关闭指定的unit          systemctl stop nginx
restart:重启指定unit         systemctl restart nginx
reload:重载指定unit          systemctl reload nginx
enable:系统开机时自动启动指定unit,前提是配置文件中有相关配置 systemctl enable nginx
disable:开机时不自动运行指定unit  systemctl disable nginx
status:查看指定unit当前运行状态   systemctl status nginx

(3)service unit文件

整个文件分三个部分,[Unit]·[Service]·[Install][Unit]:记录unit文件的通用信息。[Service]:记录Service的信息[Install]:安装信息。
1)[Unit]部分
Description:对本service的描述
Before, After:定义启动顺序,Before=xxx.service,代表本服务在xxx.service启动之前启动。After=xxx.service,代表本服务在xxx之后启动。2) [Service]部分
Type:service的种类,包含下列几种类型:
simple 默认,这是最简单的服务类型。意思就是说启动的程序就是主体程序,这个程序要是退出,那么一切都退出。
forking 标准的启动方式。服务包含父进程和子进程,启动程序后,会调用 fork() 函数,通过父进程生成子进程。
oneshot:这种服务类型就是启动完成,进程就没了。属于一次性启动。
notify:跟simple 类似,但是notify会在当前服务启动完毕,发送一个信号通知Systemd。ExecStart:服务启动时执行的命令,此命令就是服务的主体。
ExecStartPre:ExecStart执行前所调用的命令。
ExecStartPost:ExecStart执行后所调用的命令。
ExecStop:定义停止当前服务时执行的命令。
EnvironmentFile:环境配置文件
PIDFile:指向当前服务 PID file 的绝对路径注意:启动、重启、停止命令全部要求使用绝对路径3)[Install]部分
WantedBy:何种情况下,服务被启用。
例如:WantedBy=multi-user.target(多用户环境下启用)

4. Linux软件安装

(1)yum/dnf

安装命令

1)安装
yum install -y XXX
dnf install -y XXX2)查找
yum search XXX
dnf search XXX3)卸载
yum remove XXX
dnf remove XXX

dnf 与 yum相同

whereis dnf
ll /usr/bin/dnfwhereis yum
ll /usr/bin/yum

(2)RPM

一般安装:rpm -ivh  xxx.rpm升级安装:rpm  -Uvh  xxx.rpm卸载:rpm  -e xxx

5.安装 OpenJDK 11 两种方式

(1)下载

OpenenJDK:Java Platform, Standard Edition 11 ReferenceImplementations
清华镜像:https://mirrors.tuna.tsinghua.edu.cn/AdoptOpenJDK/

(2)卸载

查看系统是否已安装OpenJDK。一般的linux都默认使用了开源的OpenJDK。

查看
rpm -qa | grep java
rpm -qa | grep jdk
批量卸载
rpm -qa | grep jdk | xargs rpm -e --nodeps
rpm -qa | grep java | xargs rpm -e --nodeps

(3)第一种方式:yum安装(适用于在线)

1)yum安装
yum search java-11-openjdk									# 可以不用执行,查找安装包
yum install -y java-11-openjdk java-11-openjdk-devel		# 安装2)查找JAVA安装目录3)查找安装目录
which java 或 ls -l $(which java)# 如果显示的是/usr/bin/java请执行下面命令
ls -lr /usr/bin/java
ls -lrt /etc/alternatives/java# 输出:/etc/alternatives/java -> /usr/lib/jvm/java-11-openjdk-11.0.12.0.7-0.el7_9.x86_64/bin/java
# 上面的/usr/lib/jvm/java-11-openjdk-11.0.12.0.7-0.el7_9.x86_64就是JAVA的安装路4)配置环境变量
# 通过yum方式安装默认安装在/usr/lib/jvm文件下
# 修改JAVA_HOME为/usr/lib/jvm/java-11-openjdk-11.0.12.0.7-0.el7_9.x86_64
# 编辑/etc/profile文件
vim /etc/profile# 按" i "键进行编辑,设置环境变量,ESC退出编辑," :wq "保存内容
# Java Environment
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.12.0.7-0.el7_9.x86_64
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/jre/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH5)使环境变量生效
source /etc/profile

(4)第二种方式:tar解压安装(适用于离线)

1)切换到root用户,在/usr下创建java文件夹
su root
mkdir /usr/java
cd /usr/java/2)tar解压文件
tar -zxvf openjdk-11+28_linux-x64_bin.tar.gz3)配置环境变量
# 修改JAVA_HOME为/usr/java/jdk-11
# 编辑/etc/profile文件
vim /etc/profile# 按" i "键进行编辑,设置环境变量,ESC退出编辑," :wq "保存内容
# Java Environment
export JAVA_HOME=/usr/java/jdk-11
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH4)使环境变量生效
source /etc/profile5)检查是否安装成功
java -version
javac 
java
echo $JAVA_HOME

 6. Halo 如何下载不同版本与配置文件

(1)下载

1)官网
https://halo.run2)文档
https://docs.halo.run3)社区
https://bbs.halo.run4)主题仓库
https://halo.run/themes.html5)开源地址
https://github.com/halo-dev/halo

(2)版本

 下载新的 halo.service 配置文件

sudo curl -o /etc/systemd/system/halo.service --create-dirs https://dl.halo.run/config/halo.service

(3)配置文件

 下载配置文件到 ~/.halo 目录

 curl -o ~/.halo/application.yaml --create-dirs https://dl.halo.run/config/application-template.yaml

7.Halo 服务启动失败

(1)报错

[root@kylin .halo]# systemctl status halo

(2)原因分析

java服务未配置环境变量,脚本版本指定错误。

(3)解决方法

安装

[root@kylin .halo]# dnf install java-11-openjdk-devel

查找JAVA安装目录

# 查找安装目录
which java 或 ls -l $(which java)# 如果显示的是/usr/bin/java请执行下面命令
ls -lr /usr/bin/java
ls -lrt /etc/alternatives/java# 输出:/etc/alternatives/java -> /usr/lib/jvm/java-11-openjdk-11.0.21.9-1.ky10.x86_64/bin/java# 上面的/usr/lib/jvm/java-11-openjdk-11.0.21.9-1.ky10.x86_64/bin/java
就是JAVA的安装路径

 配置环境变量

# 通过yum或dnf方式安装默认安装在/usr/lib/jvm文件下
# 修改JAVA_HOME为/usr/lib/jvm/java-11-openjdk-11.0.21.9-1.ky10.x86_64/bin/java# 编辑/etc/profile文件
vim /etc/profile# 按" i "键进行编辑,设置环境变量,ESC退出编辑," :wq "保存内容
# Java Environment
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.21.9-1.ky10.x86_64/bin/java
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/jre/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH# 使环境变量生效
source /etc/profile

修改脚本:

修改前:

修改后:

成功:

[root@kylin ~]# systemctl start halo
[root@kylin ~]# systemctl status halo

8. Halo 附件上传报错

(1)报错

(2)原因分析

查看nginx日志

[root@kylin ~]# cd /var/log/nginx/[root@kylin nginx]# ls[root@kylin nginx]# ll

查看错误日志 (文件太大,都没转发出去就被nginx拦截了)

[root@kylin nginx]# tail -100 error.log 
2024/02/19 22:33:58 [error] 67431#0: *86 client intended to send too large body: 4309547 bytes, client: 192.168.204.1, server: _, request: "POST /api/admin/attachments/upload HTTP/1.1", host: "192.168.204.77", referrer: "http://192.168.204.77/admin"

(3)解决方法

配置nginx上传文件最大限制。

[root@kylin nginx]# vim /etc/nginx/nginx.conf

#http段添加
client_max_body_size 500M;

重启

[root@kylin nginx]# systemctl restart nginx

查看服务

[root@kylin nginx]# ps -ef |grep nginx

成功:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/484523.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【大数据】Flink 之部署篇

Flink 之部署篇 1.概述和参考架构2.可重复的资源清理3.部署模式3.1 Application 模式3.2 Per-Job 模式(已废弃)3.3 Session 模式 Flink 是一个多用途框架,支持多种不同的混合部署方案。下面,我们将简要介绍 Flink 集群的构建模块、…

选择VR全景行业,需要了解哪些内容?

近年来,随着虚拟现实、增强现实等技术的持续发展,VR全景消费市场得以稳步扩张。其次,元宇宙行业的高速发展,也在进一步拉动VR全景技术的持续进步,带动VR产业的高质量发展。作为一种战略性的新兴产业,国家和…

Qt程序设计-中英文输入法软键盘实现

本文讲解Qt中英文输入法软键盘实现。 实现目标 中英文切换、大小写切换、特殊字符切换、 使用谷歌中文字库txt文档。 在QWidget窗体上实现,可视化编写软键盘。 实现过程 准备工作:下载谷歌中文字库,按键的图片 创建QWidget项目,在主窗体上添加一个按钮,用于弹出软键…

[论文精读]Do Transformers Really Perform Bad for Graph Representation?

论文网址:[2106.05234] Do Transformers Really Perform Bad for Graph Representation? (arxiv.org) 论文代码:https://github.com/Microsoft/Graphormer 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼…

喜讯 | 重庆炼石入选重庆市科技局科技型企业

近日,重庆炼石网络技术有限公司(以下简称“重庆炼石”)经过严格审查,获得由重庆市科学技术局备案、重庆生产力促进中心(重庆市科技型企业系统受托管理单位)发证的《重庆市科技型企业备案证书》,…

测试基础1:伟大航路哟呼(Linux基础、mysql基础)

1 测试流程和方法 软件测试定义: 从方式上看:包含人工测试、自动化测试 从方法上看:运行程序或系统和测定程序或系统的过程 从目的上看:包括找bug和找bug出现的原因 软件测试的原则:功能性、可靠性、易用性、效率性…

四.QT5工具安装和环境变量的配置

1.以管理员身份运行安装包 2.登录qt账号,点击【next】 3.选中同意 4.选择安装目录,注意不能有中文和空格 5.勾选 64位 mingw。点击【next】,等待安装完成 6.配置环境变量

我的第一个浏览器插件网页一键上传的开发历史

前言 一键上传选中的网页内容,实现知识快速收藏。如飞书剪存,有道云剪报,MrDoc速记。早在2008年,我参考了有道云一键上传,实现了一个简单的浏览器插件,能方便保存网页内容到个人网站。这些插件目前都很难兼…

【Docker】三、日志控制

三、日志控制 使用Docker部署服务器,要对Docker日志定时处理。否则,服务器运行一段时间后,磁盘占比报警。 出现磁盘占比报警,大概率是大文件的问题,可查看服务器中的大文件,排除问题。 (一&am…

C语言自定义类型:结构体的使用及其内存对齐【超详细建议点赞收藏】

目录 1. 结构体类型的声明1.1 结构的声明1.2 结构体变量的创建和初始化1.3 结构的特殊声明---匿名结构体1.4 结构的自引用 2.结构体内存对齐(重点!!)2.1 对齐规则2.2 例题讲解2.3 为什么存在内存对齐?2.4 修改默认对齐…

SpringBoot添加过滤器Filter

1. 拦截器和过滤器 先说一下,过滤器和拦截器的区别和联系。 1.1 相同点 首先过滤器和拦截器都能实现请求的筛选(过滤或者拦截),然后根据自己的业务需求,添加自己的逻辑,保证请求往后走的时候数据能满足自己…

如何自定义一个协议

. 如何自定义一个协议 先有一个需求,有个场景,打开外卖软件,会显示商家列表,列表中有很多项,每一项都包含了一些信息,商家的名称,图片,好评率,距离你的位置,评分 这些信息都是通过网络,从服务器获取的, 客户端,需要给服务器发送一个请求,服务器收到请求之后,就给客户端返回一个…