①实战案例——构建读写分离的数据库集群(中间件)

1.案例目标

(1)了解Mycat提供的读写分离功能。

(2)了解MySQL数据库的主从架构。

(3)构建以Mycat为中间件的读写分离数据库集群。

2.案例分析

2.1规划节点

IP

主机名

节点

192.168.88.3

mycat

Mycat中间件服务节点

192.168.88.4

db1

MariaDB数据库集群主节点

192.168.88.5

db2

MariaDB数据库集群从节点

2.2基础准备

使用CentOS 7.2系统,创建3台虚拟机进行实验。

其中使用一台虚拟机部署Mycat数据库中间件服务,将用户提交的读写操作识别分发给相应的数据库节点。这样将用户的访问操作、数据库的读与写操作分给3台主机,只有数据库集群的主节点接收增、删、改SQL语句,从节点接收查询语句,分担了主节点的查询压力。

使用2台虚拟机db1和db2部署MariaDB数据库服务,搭建主从数据库集群;一台作为主节点,负责写入数据库信息;另一台作为从节点,负责读取数据库信息。

Yum源使用提供的gpmall-repo文件夹作为本地源,Mycat组件使用提供的Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz压缩包安装。

3.案例实施

3.1.基础环境配置

(1)修改主机名

使用hostnamectl命令修改3台主机的主机名:

Mycat节点修改主机名命令:

db1节点修改主机名命令:

db2节点修改主机名命令:

关闭3个节点的SELinux和防火墙:

(2)编辑hosts文件

3台集群虚拟机的/etc/hosts文件配置部分:

(3)配置yum安装源

数据库集群需要安装MariaDB数据库服务,需要给集群虚拟机配置yum安装源文件,使用提供的gpmall-repo文件上传至3个虚拟机的/opt目录下,设置本地yum源。

首先使用命令新建名为centos的目录,用于存放挂再内容,挂载文件到所创建的目录下,把yum源移动至/media目录下,之后配置centos7 yum源。

将提供的gpmall-repo包上传到3个节点的/root目录下并移动至/opt目录下并解压:

3台集群虚拟机的Yum安装源文件配置部分:

(4)安装JDK环境

部署Mycat中间件服务需要先部署JDK 1.7或以上版本的JDK软件环境,这里部署JDK 1.8版本。

Mycat节点安装Java环境:

3.2部署MariaDB主从数据库集群服务

(1)安装MariaDB服务

通过yum命令在db1和db2虚拟机节点上安装MariaDB服务:

db1和db2,2个节点启动MariaDB服务,并设置MariaDB服务为开机自启:

(2)初始化MariaDB数据库

在db1和db2虚拟机节点上初始化MariaDB数据库,并设置MariaDB数据库root访问用户的密码为123456:

(3)配置数据库集群主节点

编辑主节点db1和db2虚拟机的数据库配置文件my.cnf,在配置文件my.cnf中增添下面的内容:

(框中第一个表示记录操作日记,第二个表示不同步MySQL系统数据库,第三个表示数据库集群中的每个节点id都要不同,一般使用IP地址的最后段的数字,例如192.168.88.4,server_id就写4)

编辑完成配置文件my.cnf后,重启MariaDB服务:

(4)开放主节点的数据库权限

在主节点db1虚拟机上使用mysql命令登录MariaDB数据库,授权在任何客户端机器上可以以root用户登录到数据库:

在主节点db1数据库上创建一个user用户让从节点db2连接,并赋予从节点同步主节点数据库的权限:

(5)配置从节点db2同步主节点db1

在从节点db2虚拟机上使用mysql命令登录MariaDB数据库,配置从节点连接主节点的连接信息。master_host为主节点主机名db1,master_user为在步骤(4)中创建的用户user:

配置完毕主从数据库之间的连接信息之后,开启从节点服务。在从节点使用show slave status\G; 命令并查看从节点服务状态,如果Slave_IO_Running和Slave_SQL_Running的状态都为YES,则从节点服务开启成功:

(6)验证主从数据库的同步功能

先在主节点db1的数据库中创建库test,并在库test中创建表company,插入表数据。创建完成后,查看表company数据:

这时从节点db2的数据库就会同步主节点数据库创建的test库,可以在从节点查询test数据库与表company,如果可以查询到信息,就能验证主从数据库集群功能在正常运行。查询结果如下图:

3.3部署Mycat读写分离中间件服务

(1)安装Mycat服务

将Mycat服务的二进制软件包Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz上传到Mycat虚拟机的/root目录下,并将软件包解压到/use/local目录中。赋予解压后的Mycat目录权限

在/etc/profile系统变量文件中添加Mycat服务的系统变量,并生效变量:

(2)编辑Mycat的逻辑库配置文件

配置Mycat服务读写分离的schema.xml配置文件在/usr/local/mycat/conf/目录下,可以在文件中定义一个逻辑库,使用户可以通过Mycat服务管理该逻辑库对应的MariaDB数据库。在这里定义一个逻辑库schema,name为USERDB;该逻辑库USERDB对应数据库database为test(在部署主从数据库时已安装);设置数据库写入节点为主节点db1;设置数据库读取节点为从节点db2。(可以直接删除原来schema.xml的内容,替换为如下。)

(画线处的IP第一个改成db1的第二个改成db2的)

参数说明:

【sqlMaxLimit】:配置默认查询数量。

【database】:为真实数据库名。

【balance="0"】:不开启读写分离机制,所有读操作都发送到当前可用的writeHost上。

【balance="1"】:全部的readHost与stand by writeHost参与select语句的负载均衡,简单来说,当双主双从模式(M1->S1,M2->S2,并且M1与M2互为主备),正常情况下,M2、S1、S2都参与select语句的负载均衡。

【balance="2"】:所有读操作都随机的在writeHost、readhost上分发。

【balance="3"】:所有读请求随机地分发到wiriterHost对应的readhost执行,writerHost不负担读压力,注意balance=3只在1.4及其以后版本有,1.3版本没有。

【writeType="0"】:所有写操作发送到配置的第一个writeHost,第一个挂了需要切换到还生存的第二个writeHost,重新启动后已切换后的为准,切换记录在配置文件dnindex.properties中。

【writeType="1"】:所有写操作都随机的发送到配置的writeHost。

(3)修改配置文件权限

修改schema.xml的用户权限:

(4)编辑mycat的访问用户

修改 /usr/local/mycat/conf/目录下的server.xml文件,修改用户密码与数据库,密码设置为123456,访问Mycat的逻辑库为USERDB:

在配置文件的最后部分:

然后删除如下几行:

保存并退出server.xml配置文件。

(5)启动Mycat服务

通过命令启动Mycat数据库中间件服务,启动后使用netstat -ntpl命令查看虚拟机端口开放情况,如果有开放8066和9066端口,则表示Mycat服务开启成功。端口查询情况如下

3.4验证数据库集群服务读写分离功能

(1)用Mycat服务查询数据库信息

先在Mycat虚拟机上使用yum安装MariaDB-client服务:

在Mycat虚拟机上使用mysql命令查看Mycat服务的逻辑库USERDB,因为Mycat的逻辑库USERDB对应数据库test(在部署主从数据库时已安装),所以可以查看库中已经创建的表company:

(2)用Mycat服务添加表数据

在Mycat虚拟机上使用mysql命令对表company添加一条数据(2,"basketball","usa"),添加完毕后查看表信息:

(3)验证Mycat服务对数据库读写操作分离

在Mycat虚拟机节点使用mysql命令,通过9066端口查询对数据库读写操作的分离信息。可以看到所有的写入操作WRI TE_LOAD数都在db1主数据库节点上,所有的读取操作READ_LOAD数都在db2主数据库节点上。由此可见,数据库读写操作已经分离到db1和db2节点上了:

4.日志位置

4.1mycat日志位置及解析

安装目录在/usr/local/mycat目录下,使用cd命令切换到MyCat的logs目录,使用ls命令列出目录下的文件,确认日志文件的存在。使用tail、cat等命令查看日志文件内容。命令如下:

(这个命令会输出mycat.log文件的最后几行内容,并且会持续监控文件,实时显示新追加的日志内容)

该日志文件多次出现“create connections, because idle connection not enough”的提示,表明由于空闲连接不足,系统正在创建新的数据库连接。并显示了当前连接数(如“cur is 2”)和最小连接数要求(如“mincon is 10”)。

所有连接均以root用户身份连接到gpmall数据库。所有连接均尝试连接到IP地址为192.168.88.5的服务器,端口号为MySQL默认的3306。

日志中未显示任何异常或错误,所有连接尝试均成功,且详细记录了数据库连接活动的全过程,包括连接创建、获取以及相关的连接参数和状态信息。

查看错误日志:可以在当前目录下使用grep命令来搜索log_error配置项。

4.2数据库日志位置及解析

首先编辑主节点db1虚拟机的数据库配置文件my.cnf,在配置文件my.cnf 中的[mysqld]下添加错误日志路径,然后创建目录并检查文件权限,赋予目录足够的权限后重启MariaDB服务以确保所有设置生效。命令如下:

进入数据库可以使用命令show variables like 'log%'; 可以看到二进制日志的启用状态、存储位置、压缩设置、索引文件位置、信任设置、禁用语句类型以及错误日志文件的路径等等。命令如下:

其中可以使用命令SHOW VARIABLES LIKE 'log_error';查询错误日志的位置,然后查看错误日志的后50行,命令如下:

可以看到日志中未显示任何异常或错误,记录了数据库启动和初始化过程中的关键步骤和详细信息。

②实战案例——ZooKeeper集群部署

1.案例目标

(1)了解ZooKeeper分布式应用程序协调服务。

(2)使用3台机器搭建ZooKeeper集群。

(3)使用ZooKeeper集群。

2.案例分析

2.1规划节点

ZooKeeper集群系统的节点规划,见表:

IP

主机名

节点

192.168.88.6

zookeeper1

集群节点

192.168.88.7

zookeeper2

集群节点

192.168.88.8

zookeeeper3

集群节点

2.2基础准备

登录OpenStack平台,镜像使用CentOS-7-x86_64-DVD-1511.iso,flavor使用2vCPU/4GB内存/50GB硬盘创建云主机。使用提供的zookeeper-3.4.14.tar.gz包和gpmall-repo文件夹,安装ZooKeeper服务。

3.案例实施

3.1基础环境配置

(1)主机名配置

使用secureCRT对3台云主机进行连接:

修改主机名为zookeeper1、zookeeper2、zookeeper3的3个节点:

zookeeper1节点:

zookeeper2节点:

zookeeper3节点:

修改完之后重新连接secureCRT,并查看主机名:

zookeeper1节点:

zookeeper2节点:

zookeeper3节点:

关闭3个节点的SELinux和防火墙:

(2)配置hosts文件

3个节点修改/etc/hosts文件,3个节点均修改成如下:

(3)配置YUM源

首先在3个节点上使用命令新建名为centos的目录,用于存放挂再内容,挂载文件到所创建的目录下,把yum源移动至/media目录下,之后配置centos7 yum源。

将提供的gpmall-repo目录上传到3个节点的/root目录下并移动至/opt目录下并解压:

3台集群虚拟机的Yum安装源文件配置部分:

3.2搭建ZooKeeper集群

(1)安装JDK环境

3个节点安装Java JDK环境,3个节点均执行如下命令:

(2)解压ZooKeeper软件包

将zookeeper-3.4.14.tar.gz软件包上传至3个节点的/root目录下,进行解压操作,3个节点均执行如下命令:

(3)修改3个节点配置文件

在zookeeper1节点,进入zookeeper-3.4.14/conf目录下,修改zoo_sample.cfg文件为zoo.cfg,并在文件最后添加内容如下:

参数解析:

【initLimit】:ZooKeeper集群模式下包含多个zk进程,其中一个进程为leader,余下的进程为follower。当follower最初与leader建立连接时,它们之间会传输相当多的数据,尤其是follower的数据落后leader很多。initLimit配置follower与leader之间建立连接后进行同步的最长时间。

【syncLimit】:配置follower和leader之间发送消息,请求和应答的最大时间长度。

【tickTime】:tickTime则是上述两个超时配置的基本单位,例如对于initLimit,其配置值为5,说明其超时时间为 2000ms * 5 = 10秒。

【server.id=host:port1:port2】:其中id为一个数字,表示zk进程的id,这个id也是dataDir目录下myid文件的内容。host是该zk进程所在的IP地址,port1表示follower和leader交换消息所使用的端口,port2表示选举leader所使用的端口。

【dataDir】:其配置的含义跟单机模式下的含义类似,不同的是集群模式下还有一个myid文件。myid文件的内容只有一行,且内容只能为1 - 255之间的数字,这个数字亦即上面介绍server.id中的id,表示zk进程的id。

注意:(zookeeper2和zookeeper3节点的操作与修改的配置和zookeeper1节点一样的)

(4)创建myid文件

在3台机器dataDir目录(此处为/tmp/zookeeper)下,分别创建一个myid文件,文件内容分别只有一行,其内容为1,2,3。即文件中只有一个数字,这个数字即为上面zoo.cfg配置文件中指定的值。ZooKeeper是根据该文件来决定ZooKeeper集群各个机器的身份分配。

创建myid文件,命令如下:

zookeeper1节点:

zookeeper2节点:

zookeeper3节点:

(5)启动ZooKeeper服务

在3台机器的zookeeper-3.4.14/bin目录下执行命令如下:

zookeeper1节点:

在此时我发现运行./zkServer.sh status命令时出现了错误,这是因为当配置了多集群的时候,启动单节点查询状态报这个错。

解决方法:(注意:查看状态出现问题时,所有节点都启动一下,再查看状态)

zookeeper2节点:

zookeeper3节点:

可以看到,3个节点,zookeeper2为leader,其他的都是follower。

至此,ZooKeeper集群配置完毕。

4.日志位置

zookeeper日志位置及解析

首先列出/root/zookeeper-3.4.14/bin目录下的内容,可以看到zookeeper.out这个文件可能是ZooKeeper服务运行时的输出日志,记录了服务运行的状态、错误信息等。

然后切换到zookeeper-3.4.14/bin目录下,使用cat命令查看zookeeper.out日志文件。

(下图中的日志信息全面记录了QuorumPeer服务在关闭过程中的一系列关键事件)

③实战案例——Kafka集群部署

1.案例目标

(1)了解Kafka分布式发布订阅消息系统。

(2)搭建Kafka分布式发布订阅消息系统。

(3)使用Kafka分布式发布订阅消息系统。

2.案例分析

2.1规划节点

Kafka集群的节点规划,见表:

IP

主机名

节点

192.168.88.6

zookeeper1

集群节点

192.168.88.7

zookeeper2

集群节点

192.168.88.8

zookeeeper3

集群节点

2.2基础准备

使用ZooKeeper集群搭建的3个节点来构建Kafka集群,因为Kafka服务依赖于ZooKeeper服务,所以不再多创建云主机来进行试验。软件包使用提供的kafka_2.11-1.1.1.tgz软件包。

3.案例实施

3.1搭建Kafka集群

(1)解压Kafka软件包

将提供的kafka_2.11-1.1.1.tgz软件包,上传至3个节点的/root目录下,并执行解压操作,3个节点执行的解压:

(2)修改3个节点配置文件

在zookeeper1节点,进入kafka_2.11-1.1.1/config目录下,编辑server.properties文件。

在配置文件中找到以下两行并注释掉(在文本前加#):

然后在配置文件的底部添加如下3个配置:

命令解析:

【broker.id】:每台机器不能一样。

【zookeeper.connect】:因为有3台ZooKeeper服务器,所以在这里zookeeper.connect设置为3台。

【listeners】:在配置集群的时候,必须设置,不然以后的操作会报找不到leader的错误。

另外两台服务器,zookeeper.connect的配置跟这里的一样,但是broker.id和listeners不能一样。

zookeeper2节点:

zookeeper3节点:

(3)启动服务

在zookeeper1节点,进入kafka_2.11-1.1.1/bin目录下,启动服务命令如下:

zookeeper1节点:

zookeeper2节点:

zookeeper3节点:

(4)测试服务

在zookeeper1节点,进入kafka_2.11-1.1.1/bin目录下,创建topic命令如下。

zookeeper1节点:

(如果成功的话,会输出“Created topic "test".”)

查看topic,虽然topic是在192.168.88.3上创建的,但是在其他机器上也能看到。例如在任意启动的机器kafka_2.11-1.1.1/bin的目录中执行命令如下:

zookeeper2节点:

在此处我出现了错误。报错原因:虚拟机核心数与默认配置的 并行收集器的线程数不一致。

解决方法:在虚拟机的设置中,将处理器的处理器核心数量改成2,重新执行启动命令后,能够正常运行。

zookeeper3节点:

也像上述操作将处理器的处理器核心数量改成2

测试成功。

4.日志位置

kafka日志位置及解析

首先使用cd命令切换到Kafka集群日志文件目录(kafka_2.11-1.1.1/logs)然后执行ls命令列出目录下的所有文件和文件夹,目录中包含多种日志文件,这些文件记录了Kafka集群的运行状态和操作详情,对于监控和调试Kafka集群至关重要。

其中server.log记录了Kafka服务器的日志信息。

④实战案例——构建集群应用系统环境

1.案例目标

(1)了解集群部署应用系统的架构。

(2)构建Mycat读写分离数据库集群。

(3)构建ZooKeeper集群。

(4)构建Kafka集群。

(5)安装Redis服务。

2.案例分析

2.1规划节点

使用Mycat读写分离数据库作为应用系统的数据库后端,使用ZooKeeper集群,Kafka集群提供应用系统调度服务,使用Reids提供应用系统消息队列服务,节点规划见表:

IP

主机名

节点

192.168.88.3

mycat

Mycat中间件服务节点

192.168.88.4

db1

MariaDB数据库集群主节点

192.168.88.5

db2

MariaDB数据库集群从节点

192.168.88.6

zookeeper1

集群节点

192.168.88.7

zookeeper2

集群节点

192.168.88.8

zookeeper3

集群节点

192.168.88.9

redis

消息队列服务节点

2.2基础准备

集群应用系统的数据库使用实战案例创建的Mycat读写分离数据库,ZooKeeper服务使用实战案例部署的Zookeeper集群,Kafka服务使用实战案例部署的Kafka集群,Redis服务使用单机部署(使用CentOS7.2系统,flavor使用2vCPU/4G内存/50G硬盘创建虚拟机)。YUM源使用提供的gpmall-repo文件夹。

3.案例实施

3.1修改数据库配置

(1)新建gpmall数据库

将提供的gpmall.sql数据库文件上传至数据库db1节点的/root目录下。登录db1节点,使用数据库用户名为root,密码为123456登录数据库,创建库gpmall,将提供的gpmall.sql文件导入到gpmall库中,命令如下:

gpmall.sql文件导入完毕后,退出数据库。

(2)修改Mycat配置

登录Mycat节点,修改schema.xml配置文件,文件位置在/usr/local/mycat/conf目录下,修改schema.xml文件内容如下:

(将schema name修改为gpmall,true修改为false,database修改为gpmall)

登录Mycat节点,修改server.xml配置文件,文件位置在/usr/local/mycat/conf目录下。

(在server.xml文件的最后部分,将<property name="schemas">USERDB</property>改成<property name="schemas">gpmall</property>),具体配置文件如下:

(3)重启Mycat服务

登录Mycat节点,进入/usr/local/mycat/bin目录下,重启Mycat服务,命令如下:

查看Mycat服务是否启动,命令如下,如果能看到8066端口,则说明Mycat服务启动成功,命令如下:

3.2安装Redis服务

(1)修改主机名

登录Redis节点,修改主机名为redis:

关闭Redis节点的SELinux和防火墙:

(2)修改Yum源

首先在redis节点上使用命令新建名为centos的目录,用于存放挂再内容,挂载文件到所创建的目录下,把yum源移动至/media目录下,之后配置centos7 yum源:

将提供的gpmall-repo文件夹上传至Redis节点的/root目录下并移动至/opt目录下,并解压:

redis节点的Yum安装源文件配置部分:

(3)安装Redis服务

使用Yum命令安装Redis服务:

(4)启动Redis服务

修改Redis配置文件,编辑/etc/redis.conf文件。

(将bind 127.0.0.1这一行注释掉,将protected-mode yes改为protected-mode no)

启动Redis服务命令如下:

检查Redis服务启动,命令如下,如果检查到6379端口,即证明Redis服务运行成功:

至此,应用商城集群部署需要的环境Mycat、Redis、Zookeeper、Kafka服务均已部署完毕。

4.日志位置

redis日志位置及解析

首先在redis.conf文件中,查找logfile配置项。该配置项后面跟着的就是日志文件的路径和文件名。

可以使用命令tail -f /var/log/redis/redis.log实时查看日志更新:

可以使用命令grep 'log_error' /var/log/redis/redis.log查看错误日志:

⑤实战案例——部署集群应用系统

1.案例目标

(1)了解Nginx负载均衡架构。

(2)构建Nginx负载均衡。

(3)构建集群应用系统。

2.案例分析

2.1规划节点

使用Mycat读写分离数据库作为应用系统的数据库后端,使用ZooKeeper集群,Kafka集群提供应用系统调度服务,使用Reids提供应用系统消息队列服务,节点规划见表:

IP

主机名

节点

192.168.88.3

mycat

Mycat中间件服务节点

192.168.88.4

db1

MariaDB数据库集群主节点

192.168.88.5

db2

MariaDB数据库集群从节点

192.168.88.6

zookeeper1

集群节点

192.168.88.7

zookeeper2

集群节点

192.168.88.8

zookeeper3

集群节点

192.168.88.9

redis

消息队列服务节点

192.168.88.10

jar1

Tomcat1节点

192.168.88.11

jar2

Tomcat2节点

192.168.88.12

nginx

Nginx服务器

2.2基础准备

使用CentOS 7.2系统,flavor使用2vCPU/4G内存/50G硬盘,创建3台虚拟机分别为jar1节点、jar2节点和Nginx节点。使用提供gpmall-shopping-0.0.1-SNAPSHOT.jar、gpmall-user-0.0.1-SNAPSHOT.jar、shopping-provider-0.0.1-SNAPSHOT.jar、user-provider-0.0.1-SNAPSHOT.jar 、dist这5个包部署应用系统,其中4个JAR包为后端服务包,在jar1节点和jar2节点上均运行,dist为前端包,在Nginx节点上部署。

3.案例实施

3.1基础环境配置

(1)修改主机名

登录192.168.88.10、192.168.88.11、192.168.88.12这3台虚拟机,使用hostnamectl命令修改3台主机的主机名:

192.168.88.10节点修改主机名命令:

192.168.88.11节点修改主机名命令:

192.168.88.12节点修改主机名命令:

关闭3个节点的SELinux和防火墙:

(2)配置Yum源

首先在3个节点上使用命令新建名为centos的目录,用于存放挂再内容,挂载文件到所创建的目录下,把yum源移动至/media目录下,之后配置centos7 yum源:

将提供的gpmall-repo文件夹上传至jar1、jar2、nginx这3个节点的/opt目录下并解压:

3个节点的Yum安装源文件配置部分:

(3)安装Java环境

因为需要在jar1、jar2节点上运行提供的4个JAR包,所以需要在jar1和jar2节点上配置Java环境。安装java环境命令如下:

jar1节点:

jar2节点:

3.2后端配置

(1)配置hosts文件

在jar1和jar2节点,编辑/etc/hosts配置文件,文件内容如下:

jar1节点:

jar2节点:

(2)运行jar包

将提供的4个jar包,上传至jar1、jar2节点的/root目录下,然后运行这4个jar包:

jar1节点:

检查jar包是否运行,命令如下:

jar2节点:

检查jar包是否运行,命令如下:

至此,应用系统部署完毕。

3.3前端配置

(1)安装Nginx服务

登录Nginx节点,安装Nginx服务:

(2)上传前端代码

将提供的dist文件夹上传至Nginx节点的/root目录下,然后将dist中的内容复制到nginx的项目目录。

首先将Nginx默认项目目录的文件删除:

将提供的dist文件夹上传至Nginx节点的/root目录下,然后将dist中的文件复制至/usr/share/nginx/html目录下:

(3)修改Nginx配置文件

修改Nginx配置文件/etc/nginx/conf.d/default.conf如下,添加红框中的部分,IP地址为运行JAR包的2个服务器的IP:

(4)启动Nginx服务

在nginx节点,启动Nginx服务:

查看Nginx是否启动,(查看80端口是否启动):

4.网站访问

打开浏览器,在地址栏中输入http://192.168.88.12,访问界面,如图所示:

单击右上角“头像”,进行登录操作,使用用户名/密码为test/test进行登录,如图所示:

登录后,可进行购买商品操作,单击首页“地平线8号”旅行箱图片,如图所示:

进入购买界面,单击“现在购买”按钮,进行购买商品操作,如图所示:

单击完“现在购买”按钮,跳转到提交订单界面,如图所示:

至此,集群部署应用系统完成。

5.日志位置

5.1jar日志位置及解析

如下图信息表明nohup已经成功启动脚本,并且将脚本的输出重定向到了nohup.out文件中。所以使用命令cat hohup.out就可以看到jar操作的所有日志了。

5.2nginx日志位置及解析

访问日志:访问日志记录了客户端对Nginx服务器的每一次请求,可以使用命令cat /var/log/nginx/access.log。

错误日志:错误日志记录了Nginx服务器在处理请求时遇到的错误和警告信息。可以使用命令cat /var/log/nginx/error.log。

更多推荐