# 基础设施部署

# 安装基础设施

基础设施请采用docker部署

请注意关闭防火墙防火墙或开放相关端口

关闭防火墙:

systemctl stop firewalld &&\
systemctl disable firewalld
1
2

# docker安装

sudo yum install -y yum-utils device-mapper-persistent-data lvm2
1
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
1
sudo yum install docker-ce-18.03.1.ce
1
systemctl enable docker
systemctl start docker
1
2

# 部署elasticsearch

建立数据存储目录:

mkdir -p /opt/data/esdata
chmod -R 777 /opt/data/esdata
1
2

配置扩展词典api:

mkdir -p /opt/ik
chmod -R 777 /opt/ik
vi /opt/ik/IKAnalyzer.cfg.xml
1
2
3

elasticsearch使用管理端维护的分词,需要修改IKAnalyzer.cfg.xml中的remote_ext_dict配置路径

IKAnalyzer.cfg.xml需要手动创建文件,文件具体内容参考下面代码:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
	<comment>IK Analyzer 扩展配置</comment>
	<!--用户可以在这里配置远程扩展字典 -->
	<entry key="remote_ext_dict">http://api.base.test.com/load-customwords?secret_key=secret_value</entry>
</properties>

1
2
3
4
5
6
7
8

其中域名要根据实际规划的域名进行配置,在此处设置secret_key的值需要记录下,所有部署完成后,需要在管理端进行保存

配置文件修改完成后可使用以下命令进行文件挂载

docker run --rm -d --name elasticsearch -v /opt/data/esdata:/usr/share/elasticsearch/data  -v /opt/ik/IKAnalyzer.cfg.xml:/usr/share/elasticsearch/plugins/ik/config/IKAnalyzer.cfg.xml  -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" registry.cn-beijing.aliyuncs.com/javashop-k8s-images/elasticsearch:6.2.2
1

注意IKAnalyzer.cfg.xml文件路径,要在物理机上真实存在

默认cluster-name是docker-cluster

# 部署rabbimq

建立数据存储目录:

mkdir -p /opt/data/mqdata
chmod -R 777 /opt/data/mqdata
1
2

运行mq:

docker run --rm -d --hostname rabbit \
 -p 15672:15672  -p 5672:5672 -p 25672:25672 -p 4369:4369 -p 35672:35672 \
 -v /opt/data/mqdata:/var/lib/rabbitmq \
 -e RABBITMQ_ERLANG_COOKIE='MY-SECRET-KEY' \
 --name rabbitmq   registry.cn-beijing.aliyuncs.com/javashop-k8s-images/rabbitmq:3.6.14
1
2
3
4
5

安全起见,请修改上述 RABBITMQ_ERLANG_COOKIE 的值(任意字串)

默认用户名密码是guest/guest

建议修改guest的密码,切创建自己的vhost和用户

# 部署redis:

建立数据目录

mkdir -p /opt/data/redisdata
chmod -R 777 /opt/data/redisdata
1
2

运行reids

docker run --rm -d -p 6379:6379 \
-v /opt/data/redisdata:/data \
--name redis registry.cn-beijing.aliyuncs.com/javashop-k8s-images/redis:5.0.4-alpine \
redis-server --appendonly yes --requirepass "123456"
1
2
3
4

注意修改redis的密码,如果不想要密码,可以删除--requirepass "123456"后执行命令

# 部署mysql

如果使用阿里云数据库请跳过此步

mkdir -p /home/mysql/{conf,logs,data/mysql}
1
vi /home/mysql/conf/my.cnf
1

粘贴如下内容:

[mysqld]
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
secure-file-priv= NULL
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
lower_case_table_names=1
# Custom config should go here
!includedir /etc/mysql/conf.d/
1
2
3
4
5
6
7
8
9
10

运行mysql容器:

docker run --rm -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql -v /home/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /home/mysql/logs:/logs -v /home/mysql/data/mysql:/var/lib/mysql   registry.cn-beijing.aliyuncs.com/javashop-k8s-images/mysql:5.6.35
1

请修改 MYSQL_ROOT_PASSWORD 的值来修改root的密码

您需要创建如下数据库:

-- 创建系统库
CREATE DATABASE IF NOT EXISTS system DEFAULT CHARSET utf8 COLLATE utf8_bin;
-- 创建商品库
CREATE DATABASE IF NOT EXISTS goods DEFAULT CHARSET utf8 COLLATE utf8_bin;
-- 创建会员库
CREATE DATABASE IF NOT EXISTS member DEFAULT CHARSET utf8 COLLATE utf8_bin;
-- 创建交易库
CREATE DATABASE IF NOT EXISTS trade DEFAULT CHARSET utf8 COLLATE utf8_bin;
-- 创建统计库
CREATE DATABASE IF NOT EXISTS statistics DEFAULT CHARSET utf8 COLLATE utf8_bin;
-- 创建分销库
CREATE DATABASE IF NOT EXISTS distribution DEFAULT CHARSET utf8 COLLATE utf8_bin;
-- xxl-job库
CREATE DATABASE IF NOT EXISTS xxl_job DEFAULT CHARSET utf8 COLLATE utf8_bin;
1
2
3
4
5
6
7
8
9
10
11
12
13
14

如果您要使用其它数据库的名字,请修改相应库名

# 安装数据

启动deploy工程,访问:

http://ip:7005/view/deploy/list

配置好数据库信息,然后执行安装,详细请见《安装程序使用指南

# 部署xxl-job

docker run --rm -e PARAMS="--spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxl_job?Unicode=true&characterEncoding=UTF-8  --spring.datasource.username=root --spring.datasource.password=123456" -p 8080:8080 -v /tmp:/data/applogs --name xxl-job-admin  -d  registry.cn-beijing.aliyuncs.com/javashop-k8s-images/xxl-job-admin:2.0.0
1

然后访问:

http://ip:8080/xxl-job-admin/

请修改相应密码为在"安装数据"步骤中设定的xxl-job数据库的密码

注意:这里的密码不支持特殊字符