1.配置虚拟机环境
1.1 修改虚拟机网络空间
设定net8网卡的IP网段
设定DHCP设置.
检查windowsIP地址
1.2 重启Linux虚拟机网卡
命令: ip addr
如果没有IP展现则执行如下的命令
service NetworkManager stop
chkconfig NetworkManager off 永久关闭 Manager网卡
service network restart 重启network网卡
windows ping Linux
2. Linux 项目部署
2.1 安装JDK
2.1.1 上传JDK
2.1.2 解压JDK文件
命令: tar -zxvf jdk-8u51-linux-x64.tar.gz
解压完成之后,将文件目录整理一下.
2.1.3 配置环境变量
命令:
#设定jdk环境
export JAVA_HOME=/usr/local/src/jdk1.8
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib
2).刷新环境变量
2.2 安装Linux数据库-mariadb
2.2.1 检查网络链接
2.2.2 安装数据库
具体方法:参见博客信息 安装数据MariaDB
2.3 部署tomcats服务器
2.3.1 服务器部署图
2.3.2 安装数据库
说明:具体安装过程,参见博客信息.
2.3.3 远程链接Mysql数据库
2.3.4 修改图片配置文件
说明:由于windows的路径与Linux的路径不一致,所以必须准备一个Linux的图片上传的根目录.
所以需要将代码中的图片的配置文件进行修改.
2.3.4 打包发布
说明:将代码修改之后,进行打包,之后上传到指定的文件目录中
发布命令:
[root@localhost 09]# java -jar 8081.war &
作业
- 熟练掌握 课上的命令 防火墙/网卡重启/数据库操作等
- 回退镜像. 将今天的任务重新配置二遍.
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <artifactId>jt-order</artifactId> <parent> <artifactId>jt</artifactId> <groupId>com.jt</groupId> <version>1.0-SNAPSHOT</version> </parent> <!-- 添加依赖信息 --> <dependencies> <dependency> <!--依赖实质依赖的是jar包文件--> <groupId>com.jt</groupId> <artifactId>jt-common</artifactId> <version>1.0-SNAPSHOT</version> </dependency> </dependencies> <!--3.添加插件--> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
server: port: 8095 servlet: context-path: / spring: datasource: #引入druid数据源 #type: com.alibaba.druid.pool.DruidDataSource #driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/jtdb?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true username: root password: root mvc: view: prefix: /WEB-INF/views/ suffix: .jsp #mybatis-plush配置 mybatis-plus: type-aliases-package: com.jt.pojo mapper-locations: classpath:/mybatis/mappers/*.xml configuration: map-underscore-to-camel-case: true logging: level: com.jt.mapper: debug #关于Dubbo配置 dubbo: scan: basePackages: com.jt #指定dubbo的包路径 扫描dubbo注解 application: #应用名称 name: provider-order #一个接口对应一个服务名称 一个接口可以有多个实现 registry: #注册中心 用户获取数据从从机中获取 主机只负责监控整个集群 实现数据同步 address: zookeeper://192.168.126.129:2181?backup=192.168.126.129:2182,192.168.126.129:2183 protocol: #指定协议 name: dubbo #使用dubbo协议(tcp-ip) web-controller直接调用sso-Service port: 20883 #每一个服务都有自己特定的端口 不能重复.
package com.jt; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @MapperScan("com.jt.mapper") public class SpringBootRun { public static void main(String[] args) { SpringApplication.run(SpringBootRun.class, args); } }
package com.jt.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.jt.pojo.OrderItem; public interface OrderItemMapper extends BaseMapper<OrderItem>{ }
package com.jt.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.jt.pojo.Order; public interface OrderMapper extends BaseMapper<Order>{ }
package com.jt.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.jt.pojo.OrderShipping; public interface OrderShippingMapper extends BaseMapper<OrderShipping>{ }
package com.jt.service; import com.alibaba.dubbo.config.annotation.Service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.jt.mapper.OrderItemMapper; import com.jt.mapper.OrderMapper; import com.jt.pojo.Order; import com.jt.pojo.OrderItem; import com.jt.pojo.OrderShipping; import com.jt.mapper.OrderShippingMapper; import org.springframework.beans.factory.annotation.Autowired; import java.util.List; @Service(timeout = 3000) public class DubboOrderServiceImpl implements DubboOrderService { @Autowired private OrderMapper orderMapper; @Autowired private OrderItemMapper orderItemMapper; @Autowired private OrderShippingMapper orderShippingMapper; /** * Order{order订单本身/order物流信息/order商品信息} * 难点: 操作3张表完成入库操作 * 主键信息: orderId * @param order * @return */ @Override public String saveOrder(Order order) { //1.拼接OrderId String orderId = "" + order.getUserId() + System.currentTimeMillis(); //2.完成订单入库 order.setOrderId(orderId).setStatus(1); orderMapper.insert(order); //3.完成订单物流入库 OrderShipping orderShipping = order.getOrderShipping(); orderShipping.setOrderId(orderId); orderShippingMapper.insert(orderShipping); //4.完成订单商品入库 List<OrderItem> orderItems = order.getOrderItems(); //批量入库 sql: insert into xxx(xxx,xx,xx)values (xx,xx,xx),(xx,xx,xx).... for (OrderItem orderItem : orderItems){ orderItem.setOrderId(orderId); orderItemMapper.insert(orderItem); } System.out.println("订单入库成功!!!!"); return orderId; } @Override public Order findOrderById(String id) { //1.查询订单信息 Order order = orderMapper.selectById(id); //2.查询订单物流信息 OrderShipping orderShipping = orderShippingMapper.selectById(id); //3.查询订单商品 QueryWrapper<OrderItem> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("order_id",id); List<OrderItem> lists =orderItemMapper.selectList(queryWrapper); return order.setOrderItems(lists).setOrderShipping(orderShipping); } }