---
title: 2026-系统部署运维手册
description: 文本抽取：知识库/03-批发经销采购场景/2026-系统部署运维手册
updated: 2026-11-04
tags: [原始文档, 抽取, 知识库]
source: 知识库/03-批发经销采购场景/2026-系统部署运维手册
source_type: txt
source_hash: bc7c80d7f9d2
extracted_at: 2026-11-04
quality: ok
---

---
source: 知识库/03-批发经销采购场景/2026-系统部署运维手册.docx
type: docx
size_kb: 2218
category: 03-批发经销采购场景
quality: ok
---

## 架构图

## 环境要求

操作系统：linux centos/Ubuntu/RedHat的 64 位版本，可采用云服务器也可以自建服务器；

## 服务器说明

单机服务，由于机器有限，部分服务器同时⽤做多个服务

### 挂载磁盘

1、查看数据盘

在没有分区和格式化数据盘之前，使用 “df –h”命令，是无法看到数据盘的，可以使用“fdisk -l”命令查看。

2、 对数据盘进行分区

执行“fdisk -S 56 /dev/vdb”命令，对数据盘进行分区；

根据提示，依次输入“n”，“p”“1”，两次回车，“wq”，分区就开始了，很快就会完成。

3、 查看新的分区

使用“fdisk -l”命令可以看到，新的分区vdb1已经建立完成了。

4、格式化新分区

以ext4为例：使用“mkfs.ext4 /dev/xvdb1”命令对新分区进行格式化，格式化的时间根据硬盘大小有所不同。

5、添加分区信息

使用“echo '/dev/xvdb1  /mnt ext3    defaults    0  0' >> /etc/fstab”（不含引号）命令写入新分区信息。

然后使用“cat /etc/fstab”命令查看，出现以下信息就表示写入成功。

注：ubuntu12.04不支持barrier，所以正确写法是：echo '/dev/vdb1  /mnt ext3    barrier=0  0  0' >> /etc/fstab

6、挂载新分区

使用“mount -a”命令挂载新分区，然后用“df -h”命令查看，出现以下信息就说明挂载成功，可以开始使用新的分区了。

### 安装环境

#### nginx安装

wget -c http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --nginx_option 1

重启systemctl restart nginx

停止systemctl stop nginx

启动systemctl start nginx

#### Jdk安装

下载地址wget https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.12%2B7/OpenJDK17U-jdk_x64_linux_hotspot_17.0.12_7.tar.gz

解压

tar -zxvf OpenJDK17U-jdk_x64_linux_hotspot_17.0.12_7.tar.gz -C /opt/soft/

设置环境变量

Vim /etc/profile #在文件最后面追加

export JAVA_HOME=/opt/soft/jdk-17.0.12

export JRE_HOME=$JAVA_HOME/jre

export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

Source  /etc/profile  让配置生效

#### mysql安装

安装

wget -c http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --db_option 1 --dbinstallmethod 1 --dbrootpwd 123456

启动

Systemctl restart mysqld

#### nacos安装

下载wget https://download.nacos.io/nacos-server/nacos-server-2.3.2.zip?spm=5238cd80.31879785.0.0.41b84522yUvw9u&amp;file=nacos-server-2.3.2.zip

解压

unzip nacos-server-2.3.2.zip

配置

关闭nacos访问日志记录

运行命令：vim nacos/conf/application.properties

server.tomcat.accesslog.enabled=false

设置nacos启动模式

运行命令：vim nacos/bin/startup.sh

export MODE="standalone" 单机模式

export MODE="cluster" 集群模式

链接mysql

先讲nacos/conf目录下sql导入数据库，导入后修改nacos的配置文件链接数据库

2.3.2数据库配置

运行目录vim nacos/conf/application.properties

spring.datasource.platform=mysql

spring.sql.init.platform=mysql

db.num=1

db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC

db.user=xxxx

db.password=xxxxx

开启鉴权之前，application.properties中的配置信息为：

### If turn on auth system:
nacos.core.auth.enabled=false

开启鉴权之后，application.properties中的配置信息为：

### If turn on auth system:
nacos.core.auth.system.type=nacos
nacos.core.auth.enabled=true

##### 自定义密钥

开启鉴权之后，你可以自定义用于生成JWT令牌的密钥，application.properties中的配置信息为：

注意：

文档中提供的密钥为公开密钥，在实际部署时请更换为其他密钥内容，防止密钥泄漏导致安全风险。

在2.2.0.1版本后，社区发布版本将移除以文档如下值作为默认值，需要自行填充，否则无法启动节点。

密钥需要保持节点间一致，长时间不一致可能导致403 invalid token错误。

### The default token(Base64 String):
nacos.core.auth.default.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789

### 2.1.0 版本后
nacos.core.auth.plugin.nacos.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789

自定义密钥时，推荐将配置项设置为Base64编码的字符串，且原始密钥长度不得低于32字符。例如下面的的例子：

### The default token(Base64 String):
nacos.core.auth.default.token.secret.key=VGhpc0lzTXlDdXN0b21TZWNyZXRLZXkwMTIzNDU2Nzg=

### 2.1.0 版本后
nacos.core.auth.plugin.nacos.token.secret.key=VGhpc0lzTXlDdXN0b21TZWNyZXRLZXkwMTIzNDU2Nzg=

注意：鉴权开关是修改之后立马生效的，不需要重启服务端。动态修改token.secret.key时，请确保token是有效的，如果修改成无效值，会导致后续无法登录，请求访问异常。

##### 开启服务身份识别功能

开启鉴权功能后，服务端之间的请求也会通过鉴权系统的影响。考虑到服务端之间的通信应该是可信的，因此在1.2~1.4.0版本期间，通过User-Agent中是否包含Nacos-Server来进行判断请求是否来自其他服务端。

但这种实现由于过于简单且固定，导致可能存在安全问题。因此从1.4.1版本开始，Nacos添加服务身份识别功能，用户可以自行配置服务端的Identity，不再使用User-Agent作为服务端请求的判断标准。

开启方式:

### 开启鉴权
nacos.core.auth.enabled=true

### 关闭使用user-agent判断服务端请求并放行鉴权的功能
nacos.core.auth.enable.userAgentAuthWhite=false

### 配置自定义身份识别的key（不可为空）和value（不可为空）
nacos.core.auth.server.identity.key=example
nacos.core.auth.server.identity.value=example

** 注意 ** 所有集群均需要配置相同的server.identity信息，否则可能导致服务端之间数据不一致或无法删除实例等问题。

##### 元数据默认限制1024

关掉1024限制

nacos.core.param.check.enabled=false

##### 启动

运行：./nacos/bin/startup.sh

停止：./nacos/bin/shutdown.sh

#### MQ安装

服务端安装

官网下载https://rocketmq.apache.org/zh/download

下载源码包解压编译安装

> unzip rocketmq-all-5.1.4-source-release.zip  解压包

> cd rocketmq-all-5.1.4-source-release/

> mvn -Prelease-all -DskipTests clean install -U   编译安装

> cd distribution/target/rocketmq-5.1.4/rocketmq-5.1.4  安装之后的目录

启动服务

> nohup sh bin/mqnamesrv &  启动mqnamesrv服务

> tail -f ~/logs/rocketmqlogs/namesrv.log 查看日志

> nohup sh bin/mqbroker -n localhost:9876 -c conf/broker.conf &

启动mqbroker服务 指定配置文件

> tail -f ~/logs/rocketmqlogs/broker.log  查看日志

测试服务发送

> export NAMESRV_ADDR=localhost:9876

> sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer  发送服务

SendResult [sendStatus=SEND_OK, msgId= ...

> sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer 处理服务

ConsumeMessageThread_%d Receive New Messages: [MessageExt...

停止服务

> sh bin/mqshutdown broker

The mqbroker(36695) is running...

Send shutdown request to mqbroker(36695) OK

> sh bin/mqshutdown namesrv

The mqnamesrv(36664) is running...

Send shutdown request to mqnamesrv(36664) OK

问题

启动broker服务时报错jdk17+rocketmq5.x启动 because module java.base does not export sun.nio.ch to unnamed module

修改broker（runBroker.sh）启动命令，强行导包。

$JAVA ${JAVA_OPT} --add-exports=java.base/sun.nio.ch=ALL-UNNAMED $@

#### Redis安装

wget -c http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --redis

配置文件路径

/usr/local/redis/etc/redis.conf

启动服务

systemctl restart redis-server

#### seata安装

下载seata

wget https://github.com/apache/incubator-seata/releases/download/v2.0.0/seata-server-2.0.0.zip

tar zxvf seata-2.0.0.tar.gz 解压文件

修改seata解压目录中的conf目录下的application.yml文件

在本地新建一个seata数据库，导入如下数据库脚本

CREATE TABLE IF NOT EXISTS `global_table`

(

`xid` VARCHAR(128) NOT NULL,

`transaction_id` BIGINT,

`status` TINYINT NOT NULL,

`application_id` VARCHAR(32),

`transaction_service_group` VARCHAR(32),

`transaction_name` VARCHAR(128),

`timeout` INT,

`begin_time` BIGINT,

`application_data` VARCHAR(2000),

`gmt_create` DATETIME,

`gmt_modified` DATETIME,

PRIMARY KEY (`xid`),

KEY `idx_gmt_modified_status` (`gmt_modified`, `status`),

KEY `idx_transaction_id` (`transaction_id`)

) ENGINE = InnoDB

DEFAULT CHARSET = utf8;

-- the table to store BranchSession data

CREATE TABLE IF NOT EXISTS `branch_table`

(

`branch_id` BIGINT NOT NULL,

`xid` VARCHAR(128) NOT NULL,

`transaction_id` BIGINT,

`resource_group_id` VARCHAR(32),

`resource_id` VARCHAR(256),

`branch_type` VARCHAR(8),

`status` TINYINT,

`client_id` VARCHAR(64),

`application_data` VARCHAR(2000),

`gmt_create` DATETIME(6),

`gmt_modified` DATETIME(6),

PRIMARY KEY (`branch_id`),

KEY `idx_xid` (`xid`)

) ENGINE = InnoDB

DEFAULT CHARSET = utf8;

-- the table to store lock data

CREATE TABLE IF NOT EXISTS `lock_table`

(

`row_key` VARCHAR(128) NOT NULL,

`xid` VARCHAR(96),

`transaction_id` BIGINT,

`branch_id` BIGINT NOT NULL,

`resource_id` VARCHAR(256),

`table_name` VARCHAR(32),

`pk` VARCHAR(36),

`gmt_create` DATETIME,

`gmt_modified` DATETIME,

PRIMARY KEY (`row_key`),

KEY `idx_branch_id` (`branch_id`)

) ENGINE = InnoDB

DEFAULT CHARSET = utf8;

启动seata

nohup sh ./bin/seata-server.sh -p 8093 -h x.x.x.x -m db >./logs/seata_gc8093.log 2>1 &

#### Es安装

下载地址https://www.elastic.co/cn/downloads/past-releases#elasticsearch

进入es官网下载对应版本

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.11.4-linux-x86_64.tar.gz

将文件上传到对应安装目录进行解压

tar -zxvf elasticsearch-8.11.4-linux-x86_64.tar.gz

完成后查看目录结构

修改配置文件

需要修改的配置有两个，进入config目录

Elasticsearch基于Lucene的，而Lucene底层是java实现，因此我们需要配置jvm参数。编辑jvm.options

vi jvm.options

修改默认配置：-Xms1g    -Xmx1g为

编辑elasticsearch.yml修改数据和日志目录

vi elasticsearch.yml

#配置es的集群名称，默认是elasticsearch，es会自动发现在同一网段下的es，如果在同一网段下有多个集群，就可以用这个属性来区分不同的集群。

cluster.name: my-es

#节点名称

node.name: node-1

#设置索引数据的存储路径

path.data: /usr/local/elasticsearch/data

#设置日志的存储路径

path.logs: /usr/local/elasticsearch/logs

#设置当前的ip地址,通过指定相同网段的其他节点会加入该集群中

network.host: 0.0.0.0

#设置对外服务的http端口

http.port: 9200

#设置集群中master节点的初始列表，可以通过这些节点来自动发现新加入集群的节点

discovery.seed_hosts: ["127.0.0.1", "192.168.10.162:9200"]

http.cors.enabled: true

http.cors.allow-origin: "*"

http.cors.allow-headers: "*"

#节点名称

cluster.name: khxx_es

node.name: node-1

#设置索引数据的存储路径

path.data: /home/soft/elasticsearch/data

#设置日志的存储路径

path.logs: /home/soft/elasticsearch/logs

#设置当前的ip地址,通过指定相同网段的其他节点会加入该集群中

network.host: 192.168.118.30

#设置对外服务的http端口

http.port: 9200

#设置集群中master节点的初始列表，可以通过这些节点来自动发现新加入集群的节点

discovery.seed_hosts: ["127.0.0.1", "192.168.118.30"]

#开启授权

#action.destructive_requires_name: false

xpack.security.enabled: true

xpack.security.enrollment.enabled: true

xpack.security.http.ssl:

enabled: false

#keystore.path: certs/http.p12

xpack.security.transport.ssl:

enabled: true

verification_mode: certificate

keystore.path: certs/elastic-stack-ca.p12

truststore.path: certs/elastic-certificates.p12

# Create a new cluster with the current node only

# # Additional nodes can still join the cluster later

cluster.initial_master_nodes: ["node-1"]

设置系统参数

编辑limits.conf配置文件， 添加类似如下内容：

vi /etc/security/limits.conf

然后添加如下内容: 注意*不要去掉了

* soft nofile 65536

* hard nofile 131072

注：* 代表Linux所有用户名称

需要保存、退出、重新登录才可生效。

修改配置sysctl.conf：设置虚拟内存，es虚拟内存太小会导致无法启动

vi /etc/sysctl.conf

添加下面配置：

vm.max_map_count=655360

最后记得执行：

sysctl -p

创建es用户

Es不能在root账户下启动，所以需要创建新用户

具体操作如下:

创建用户useradd esuser

设置密码passwd esuser

再输入两次密码(自定义)

为用户赋权限

chown -R testuser:testuser /usr/local/elasticsearch

然后使用es用户启动 ：su esuser

cd /usr/local/elasticsearch

###### 生成(transport)安全通信证书

生成ca证书

./bin/elasticsearch-certutil ca

默认ca文件名为elastic-stack-ca.p12，同时需要输入ca密码[123456]；

生成节点通信证书

./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12

Enter password for CA (elastic-stack-ca.p12) : [123456]

Please enter the desired output file [elastic-certificates.p12]:

Enter password for elastic-certificates.p12 :[12345678]

默认证书文件名为elastic-certificates.p12，同时输入证书密码[12345678]；将此证书文件放到各个节点的目录config/certs下

mkdir config/certs

mv elastic-certificates.p12 config/certs/

chown elastic config/certs -R

所有节点设置节点通信密码（因每个节点使用相同的证书文件）

./bin/elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password

./bin/elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password

设置通信证书密码为12345678

###### 配置elasticsearch.yml

cluster.name: es8.1.0-cluster
node.name: node-a
network.host: 192.168.91.136
discovery.seed_hosts: ["192.168.91.134"]
#cluster.initial_master_nodes: ["192.168.91.136", "192.168.91.134"]

ingest.geoip.downloader.enabled: false
xpack.security.enabled: true
xpack.security.enrollment.enabled: true

xpack.security.http.ssl:
  enabled: false

xpack.security.transport.ssl:
  enabled: true
  verification_mode: certificate
  keystore.path: certs/elastic-stack-ca.p12
  truststore.path: certs/elastic-certificates.p12
cluster.initial_master_nodes: ["node-1"]

启动es命令：nohup bin/elasticsearch & 后台运行

启动服务后在日志中查看es账号密码

重置密码

bin/elasticsearch-reset-password -u elastic

启动后可以用浏览器访问ip:9200查看,显示如下说明成功了；

分词器安装

https://github.com/infinilabs/analysis-ik/releases/tag/v8.11.4

下载分词器然后放置到es根目录下的plugins文件下，重启es。

#### Jenkins安装

下载

运行命令：

wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/jenkins-2.440.1-1.1.noarch.rpm

安装

运行命令：rpm -ivh Jenkins包名

启动

运行命令：指定java版本与Jenkins目录启动

##### 启动脚本

nohup /opt/soft/jdk-17.0.12/bin/java -DJENKINS_HOME=/opt/soft/jenkins/ -jar /usr/share/java/jenkins.war --httpPort=9090 &

访问：http://X.X.X.X:9090/jenkins/

#### Nodejs安装

下载nodejs

https://mirrors.aliyun.com/nodejs-release/v16.15.1/node-v16.15.1-linux-x64.tar.xz

tar zxvf node-v16.15.1-linux-x64.tar.xz 解压文件

mv node-v16.15.1-linux-x64 node 重命名

ln -s /usr/local/node/bin/npm /usr/bin/ 创建npm软连接到系统执行目录中

ln -s /usr/local/node/bin/node /usr/bin/ 创建node软连接搭配系统执行目录中

npm install -g yarn 安装yarn

npm install -g pm2 安装pm2

npm install -g @quasar/cli 安装quasar

ln -s /usr/local/node/bin/yarn /usr/bin/ 创建yarn软连接到系统执行目录中

ln -s /usr/local/node/bin/pm2 /usr/bin/ 创建pm2软连接到系统执行目录中

设置镜像

npm config set registry https://registry.npmmirror.com

yarn config set registry https://registry.npmmirror.com

关闭ssl

npm config set strict-ssl false

yarn config set "strict-ssl" false -g

清除缓存

npm cache clear --force

## 系统构建发布

### 新建mall-java后端服务自动构建工程

配置源码路径及分支:http://X.X.X.X/XXX/XXX.git

配置构建shell脚本

### 新建platform平台运营管理自动构建发布工程

配置源码路径及分支:http://X.X.X.X/XXXX.git

配置构建shell脚本

### 新建pc商城自动构建发布工程

配置源码路径及分支:http://X.X.X.X/XXXX.git

配置构建shell脚本

### 后端服务构建启动

Jenkins直接构建

### 商城前端发布

Jenkins直接构建

### 平台运营管理PC端构建发布

Jenkins直接构建

## 问题

### EC缓存管理

商品发布后后台未显示？

是因为缓存未更新问题，我们需要手动去更新一下缓存信息

登录平台端，进入设置-ES缓存管理，依次更新ES缓存；

### 私服信息

私服地址：http://60.204.138.5:8000/

账户demo  密码fOc6PTvy6Vlh63rA

Maven中配置

maven3.6.3/conf/settings.xml

<server>

<id>khxxmaven</id>

<username>demo</username>

<password>fOc6PTvy6Vlh63rA</password>

</server>

</servers>

<mirror>

<id>khxxmaven</id>

<name>khxxmaven</name>

<url>http://60.204.138.5:8000/repository/maven-public/</url>

<mirrorOf>central</mirrorOf>

</mirror>

</mirrors>

### 授权文件

在nacos配置文件里修改授权文件放置目录

在biz-license-config.yml配置文件中修改授权文件配置目录

编辑文件在最后面授权文件配置路径位置将路径修改为当前服务器上授权文件放置的路径；

其它服务文件都是一样的操作；

### 文件目录说明

目录/opt/mall

Cert  在线支付证书存放目录，在子文件里存放对应微信、支付宝的证书文件

Bin 启动脚本目录

www 前端页面放置路径

Apps 后端java jar放置目录

Logs  java服务启动日志存放目录

Copy.sh  Jenkins构建完成后复制java-jar包到apps目录脚本

Exec.sh  服务启动脚本，可以设置服务占用内存大小日志存放目录

Restart.sh  java服务重启脚本

Stop.sh  停止java服务脚本

Seata.sh  启动seata服务脚本

Jenkins.sh 启动Jenkins脚本

前端目录介绍

www根目录下为pc商城访问目录

H5 移动端代码目录

Platform 平台端代码目录

前端代码包中文件介绍

数据库介绍

b2b_commodity  商品库

b2b_foundation  基础设置库

b2b_marketing   营销库

b2b_trade       订单库

b2b_user        用户库

Nacos          nacos库

### 代码包中nacos配置信息修改

进到安装包对应的BOOT-INF\classes\config\tiancheng_uat下修改bootstrap.yml 可以修改nacos的读取地址与IP，如果需要修改每个java服务jar包里对应目录下的文件都需要修改

目前配置的nacos信息为www.nacomall.com:8848，可以将www.nacomall.com设置为内网域名，绑定hosts只能在内网访问，那就无须修改配置信息

Nacos的命名空间id为4d6f7467-9558-483d-8cc4-6c8eb2727833，如果需要修改也是在对应的服务包中修改配置文件；

### Nginx配置

80端口配置的为访问入口，PC端为vue打包后的静态页面，所以需要转发后端服务，pc转发端口为17081，平台端转发端口为17083，供应商端转发端口为17082；

具体配置信息

server {

listen  80;

server_name _;

root    /opt/b2b_mall/www/;

location /{

try_files $uri $uri/ /index.html;

}

location /sales {

# 此处的 @router 实际上是引用下面的转发，否则在 Vue 路由刷新时可能会抛出 404

try_files $uri $uri/ @sales;

# 请求指向的首页

index index.html;

}

location @sales {

rewrite ^.*$ /sales/index.html last;

}

location ^~/api/ {

proxy_pass  http://localhost:17081/;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;

fastcgi_param HTTPS $https if_not_empty;

proxy_set_header X-Forwarded-Proto https;

}

location ^~/salesapi/ {

proxy_pass  http://localhost:17084/;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;

fastcgi_param HTTPS $https if_not_empty;

proxy_set_header X-Forwarded-Proto https;

}

location /platform {

try_files $uri $uri/ @rout;

# 请求指向的首页

index index.html;

}

location /supply {

try_files $uri $uri/ @routm;

# 请求指向的首页

index index.html;

}

location @routm {

# 此处的 @rout 实际上是引用下面的转发，否则在 Vue 路由刷新时可能会抛出 404

rewrite ^.*$ /supply/index.html last;

}

location @rout {

# 此处的 @rout 实际上是引用下面的转发，否则在 Vue 路由刷新时可能会抛出 404

rewrite ^.*$ /platform/index.html last;

}

location ^~/shopadmin/ {

proxy_pass  http://localhost:17083/;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;

fastcgi_param HTTPS $https if_not_empty;

proxy_set_header X-Forwarded-Proto https;

}

location ^~/storeadmin/ {

proxy_pass  http://localhost:17082/;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;

fastcgi_param HTTPS $https if_not_empty;

proxy_set_header X-Forwarded-Proto https;

}

}

### 安装步骤

按照部署文档，将服务器对应的基础服务都安整完成后进行对应文件配置，首先创建对应文件，将授权文件、启动脚本放到对应目录下；

修改nacos配置文件，nacos里的数据库、redis、naocs、es、mq都需要进行对应的IP地址修改；

都配置好后执行启动脚本，启动java服务，启动过程中可以查看日志看有没有报错，如果有报错根据报错进行排查；

服务启动后服务对应端口进行查看，访问正常则表示安装成功；

安装完成后平台端重置es缓存，将当前商品、分类、营销等信息更新到es缓存中，不执行es缓存商品数据不会出来会导致报错；

进入设置-ES缓存列表，

第一步商品ES重建依次执行分类、商品、营销

第二步执行商品缓存初始化，依次执行品牌、分类、商品、营销

第三步执行配置模块初始化，依次执行系统参数、行政区域、字典；

## 生产环境发布

目前中文站生产环境未安装Jenkins，发布都是本地打好包上传至服务器进行的启动

### 文件目录说明

目录/opt/mall

Cert  在线支付证书存放目录，在子文件里存放对应微信、支付宝的证书文件

Bin 启动脚本目录

www 前端页面放置路径

Apps 后端java jar放置目录

Logs  java服务启动日志存放目录

Copy.sh  Jenkins构建完成后复制java-jar包到apps目录脚本

Exec.sh  服务启动脚本，可以设置服务占用内存大小日志存放目录

Restart.sh  java服务重启脚本

Stop.sh  停止java服务脚本

Seata.sh  启动seata服务脚本

Jenkins.sh 启动Jenkins脚本

前端目录介绍

www根目录下为pc商城访问目录

Platform 平台端代码目录

[表格]
软件名称 | 版本 | 描述
Nginx | 最新版 | 系统应用服务器软件
JDK | 17 | JAVA运行环境
Redis | 最新版 | 存储缓存
Mysql | 8.0 | 数据库
Nacos | 2.3.2 | 服务注册中心
Maven | 3.6 | 用于项目构建
Jenkins | 最新版 | 持续集成
Rocketmq | 5.1.4 | 消息中间件
elasticsearch | 8.11.4 | 搜索引擎
Node.js | 16.15.1 | 前端运行环境，用于安装启动商城服务
Seata | 2.0.0 | 分布式事物

[表格]
机器 | 功能 | 安装软件 | 说明
172.18.100.17 | Web | nginx+jdk | 主web
172.18.100.18 | 中间件服务器 | Redis+nacos+rocketmq+es+seata | 中间件服务器
172.18.2.61 | 数据库服务器 | Mysql8.0 | 数据库

[表格]
名称 | 本次版本 | 相关说明
nginx | nginx/1.24.0 | 路径/usr/local/nginx/ 配置文件/usr/local/nginx/conf/nginx.conf vhost配置文件 /usr/local/nginx/conf/vhosts/*.conf

[表格]
名称 | 本次版本 | 相关说明
Jdk | Jdk17 | 路径/opt/soft/jdk-17 配置文件/etc/profile

[表格]
名称 | 本次版本 | 相关说明
Mysql | 8.0.36 | 路径/usr/local/mysql 配置文件/etc/my.cnf

[表格]
名称 | 本次版本 | 相关说明
Nacos | 2.3.2 | 路径/opt/soft/nacos 配置文件/opt/soft/nacos/conf

[表格]
名称 | 本次版本 | 相关说明
rocketmq | 5.1.4 | 路径/opt/soft/rocketmq 配置文件/opt/soft/rocketmq/conf

[表格]
名称 | 本次版本 | 相关说明
Redis | 6.2.14 | 路径/usr/local/redis/ 配置文件/usr/local/redis/etc/

[表格]
名称 | 本次版本 | 相关说明
Seata | 2.0.0 | 路径/opt/soft/seata 配置文件/opt/soft/seata/conf/

[表格]
名称 | 本次版本 | 相关说明
ES | 8.11.4 | 路径/opt/soft/elasticsearch-8.11.4/ 配置文件/opt/soft/elasticsearch-8.11.4/conf