项目基于springboot+RELEASE+Dubbo 来构建微服务。
业务模块划分,尽量贴合互联网公司的架构体系。
所以,除了业务本身的复杂度不是很高之外,整体的架构基本和实际架构相差无几。
本次部署服务在公有云上进行实现(本地相同)需要联网
资源包自备(实在下载不了的可以找我拿)
我们使用单节点方式进行部署
建议服务器最低配置(vcpu 2 mem:6G disk:50G)
项目需要用到的服务:
**kafka zookeeper nginx redis java-1.8.0 mysql**
需要准备如下包:
dist 前端静态资源包
gpmall-user-0.0.1-SNAPSHOT.jar
shopping-provider-0.0.1-SNAPSHOT.jar
gpmall-shopping-0.0.1-SNAPSHOT.jar
user-provider-0.0.1-SNAPSHOT.jar
以上4个jar包
gpmall.sql 数据库文件
kafka_2.11-1.1.1.tgz
zookeeper-3.4.14.tar.gz
1.安装服务
yum install redis -y
2.修改配置
允许所有节点访问redis
免密登录
实现:
vim /etc/redis.conf
原:
bind 127.0.0.1
protected-mode yes
改:
bind 0.0.0.0
protected-mode no
3.服务自启&&开机启动
systemctl start redis && systemctl enable redis
yum install java-1.8.0 -y
1.安装mariadb
yum install mariadb-server -y
2.启动服务且初始化
systemctl start mariadb && systemctl enable mariadb
mysql_secure_installation
y
123456
123456
y
n
y
y
3.修改mariadb端口8066(gpmall项目指定,有的版本端口依然为3306)
vim /etc/my.cnf
在[mysqld]下添加
port = 8066
4.重启服务查看端口:8066
systemctl restart mariadb
netstat -nltp
mysql -uroot -p123456 -e "grant all privileges on *.* to 'root'@'%' identified by '123456';"
mysql -uroot -p123456 -e "create database gpmall;use gpmall;"
mysql -uroot -p123456
MariaDB [(none)]> use gpmall
MariaDB [gpmall]> source /root/gpmall/gpmall.sql
MariaDB [gpmall]> exit
为所有服务配置hosts映射/etc/hosts(有的项目zk1需要映射为zookeeper.mall,kafka1.mall为kafka.mall)
127.0.0.1 zk1.mall
127.0.0.1 kafka1.mall
127.0.0.1 redis.mall
127.0.0.1 mysql.mall
1.准备
tar -xvf zookeeper-3.4.14.tar.gz
mv zookeeper-3.4.14 /usr/local/zookeeper
2.修改配置(操作目录:/usr/local/zookeeper)
mkdir data
mv conf/zoo_sample.cfg conf/zoo.cfg
3.修改配置文件:
vim conf/zoo.cfg
改:
dataDir=/tmp/zookeeper => dataDir=/data
添加:
server.1=zk1.mall:2888:3888
保存退出
4.启动测试配置是否正常
./bin/zkServer.sh start-foreground
1.准备
tar -xvf kafka_2.11-1.1.1.tgz
mv kafka_2.11-1.1.1 /usr/local/kafka
2.修改配置(操作目录:/usr/local/kafka/)
连接zookeeper
vim config/server.properties
zookeeper.connect=localhost:2181 => zookeeper.connect=zk1.mall:2181
3.启动服务测试
1.启动zookeeper
nohup zookeeper/bin/zkServer.sh start-foreground &
2.启动kafka
nohup bin/kafka-server-start.sh config/server.properties &
3.查看端口是否存活与服务是否正常(没有down则表示成功)
netstat -nltp(查看9092端口与2181是否存活)
1.安装nginx
yum install nginx -y
2.配置端口代理
vim /etc/nginx/nginx.conf
3.添加配置在server下
location /user {
proxy_pass http://127.0.0.1:8082;}
location /shopping {
proxy_pass http://127.0.0.1:8081;}
rm -rf /usr/share/nginx/html/*
cp -rvf dist/* /usr/share/nginx/html/
5.权限修改
chown nginx:nginx -R /usr/share/nginx/html
6.重启nginx且开启自启动
systemctl enable nginx && systemctl start nginx
1.启动项目(注意查看日志是否因为zookeeper启动失败,多启动几次)
启动间隔10s
nohup java -jar shopping-provider-0.0.1-SNAPSHOT.jar &
nohup java -jar user-provider-0.0.1-SNAPSHOT.jar &
nohup java -jar gpmall-shopping-0.0.1-SNAPSHOT.jar &
nohup java -jar gpmall-user-0.0.1-SNAPSHOT.jar &