分布式部署①

                                                                                         

                                   📑打牌 : da pai ge的个人主页
                                   🌤️个人专栏 : da pai ge的博客专栏
                                   ☁️宝剑锋从磨砺出,梅花香自苦寒来

1. 需要部署的服务


Nacos 理论上,应该是集群的模式
MySQL 理论上,应该是集群的模式
网关服务 单例
订单服务>多例
商品服务>多例

2机器个数


1-N 都可以

3MySQL部署操作

2.1 MySQL安装

1安装MySQL

http://t.csdnimg.cn/lfrgA

 CENTOS7

wget https://dev.mysql.com/get/mysql80-community
release-el7-11.noarch.rpm


 //
安装发布包
yum -y install mysql80-community-release-el7-11.noarch.rpm 
//
安装MySQL, 中间输⼊Y
systemctl start mysqld
systemctl enable mysqld

首次安装成功,MySQL把root⽤⼾的默认密码保存在错误⽇志中

grep "password" /var/log/mysqld.log
 
&hpkaqO:c4oK  #默认⽣成的密码

mysql -uroot -p


修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'yyds.666';
 Query OK, 0 rows affected (0.01 sec)

2. 数据初始化

直接复制

- 订单服务

-- 建库
create database if not exists cloud_order charset utf8mb4;

use cloud_order;
-- 订单表
DROP TABLE IF EXISTS order_detail;
CREATE TABLE order_detail (
        `id` INT NOT NULL AUTO_INCREMENT COMMENT '订单id',
        `user_id` BIGINT ( 20 ) NOT NULL COMMENT '用户ID',
        `product_id` BIGINT ( 20 ) NULL COMMENT '产品id',
        `num` INT ( 10 ) NULL DEFAULT 0 COMMENT '下单数量',
        `price` BIGINT ( 20 ) NOT NULL COMMENT '实付款',
        `delete_flag` TINYINT ( 4 ) NULL DEFAULT 0,
        `create_time` DATETIME DEFAULT now(),
        `update_time` DATETIME DEFAULT now(),
PRIMARY KEY ( id )) ENGINE = INNODB DEFAULT CHARACTER 
SET = utf8mb4 COMMENT = '订单表';

-- 数据初始化
insert into order_detail (user_id,product_id,num,price)
values
(2001, 1001,1,99), (2002, 1002,1,30), (2001, 1003,1,40),
(2003, 1004,3,58), (2004, 1005,7,85), (2005, 1006,7,94);


-- 产品服务
create database if not exists cloud_product charset utf8mb4;

-- 产品表
use cloud_product;
DROP TABLE IF EXISTS product_detail;
CREATE TABLE product_detail (
        `id` INT NOT NULL AUTO_INCREMENT COMMENT '产品id',
        `product_name` varchar ( 128 ) NULL COMMENT '产品名称',
        `product_price` BIGINT ( 20 ) NOT NULL COMMENT '产品价格',
        `state` TINYINT ( 4 ) NULL DEFAULT 0 COMMENT '产品状态 0-有效 1-下架',
        `create_time` DATETIME DEFAULT now(),
        `update_time` DATETIME DEFAULT now(),
PRIMARY KEY ( id )) ENGINE = INNODB DEFAULT CHARACTER 
SET = utf8mb4 COMMENT = '产品表';

-- 数据初始化
insert into product_detail (id, product_name,product_price,state)
values
(1001,"T恤", 101, 0), (1002, "短袖",30, 0), (1003, "短裤",44, 0), 
(1004, "卫衣",58, 0), (1005, "马甲",98, 0),(1006,"羽绒服", 101, 0), 
(1007, "冲锋衣",30, 0), (1008, "袜子",44, 0), (1009, "鞋子",58, 0),
(10010, "毛衣",98, 0);

3. 对其他服务器授权

grant 权限 on 数据库对象to ⽤⼾

修改bind-address

修改⽂件路径:/etc/mysql/mysql.conf.d/mysqld.cnf

重启MySQL服务器

systemctl restart mysql

开放3306端⼝号

测试授权结果

使⽤CMD客⼾端,连接服务器MySQL

4nacos部署

下载JDK

下载地址:https://www.oracle.com/java/technologies/downloads/#java17 

centos7  wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.rpm



 yum -y install jdk-17_linux-x64_bin.rpm

验证  java -version

上传nacos 启动服务 开放对应端⼝号

测试

访问接⼝:http://110.41.51.65:8080

5产品服务,订单服务部署

下载JDK

centos7  wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.rpm



 yum -y install jdk-17_linux-x64_bin.rpm

验证  java -version

确认配置, 代码, 打包

注意事项

常见问题

一nacos  没找到配置项

解决方法

进入nacos

问题2

安装lrzsz即可

问题三 数据库错误

然后在重新打包上传服务器

打包完会显示相关路径

.把包上传到服务器(注意: 先把老的java进程杀掉)    启动程序  

问题四 内网IP

 运行代码改成这个即可 nohup java -jar order-service-1.0-SNAPSHOT.jar --
spring.cloud.nacos.discovery.ip=162.14.71.227 >logs/order.log &

 接着访问外网IP

登录服务器,上传Jar包 

打包流程 

 ls  
order-service-1.0-SNAPSHOT.jar  product-service-1.0-SNAPSHOT.jar

启动服务

nohup java -jar product-service-1.0-SNAPSHOT.jar --
spring.cloud.nacos.discovery.ip=162.14.71.227 >logs/product.log &

 nohup java -jar order-service-1.0-SNAPSHOT.jar --
spring.cloud.nacos.discovery.ip=162.14.71.227 >logs/order.log &

开放对应端⼝号   测试

产品服务:http://162.14.71.227:10030/product/1001

订单服务:http://162.14.71.227:10040/order/1

6⽹关服务部署

安装JDK

登录服务器,上传Jar包

启动服务

nohup java -jar gateway-1.0-SNAPSHOT.jar --server.port=8080 >logs/gateway.log &

开放对应端⼝号 测试

产品服务:http://120.78.126.148:8080/product/1001

  • 17
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值