java maven项目环境配置

                                               整理各种配置

1.开发工具 STS/IDEA

1.1jdk版本

2.Maven环境配置

Maven 是一站式的项目管理工具. 负责管理项目的生命周期 创建/更新/维护/打包/部署
核心机制: 本地仓库 私服镜像 中央仓库

2.1Maven配置

1).导入maven配置

在这里插入图片描述

2).导入settings文件

在这里插入图片描述

3).settings文件私服镜像配置 

连接的阿里云的服务器仓库
<mirror>
        <id>aliyun</id>
        <name>aliyun for maven</name>
        <mirrorOf>*</mirrorOf>
        <url>https://maven.aliyun.com/repository/public</url>
   	</mirror>

	<profile>
   <id>jdk-1.8</id>
   <activation>
	<activeByDefault>true</activeByDefault>
      <jdk>1.8</jdk>
   </activation>
   <properties>
	   <maven.compiler.source>1.8</maven.compiler.source>
	   <maven.compiler.target>1.8</maven.compiler.target>
	   <maven.compiler.compilerVersion>
       1.8
     </maven.compiler.compilerVersion>
	 </properties>
</profile>

4).settings文件私服镜像配置2(二选一)

连接的阿里云私服镜像服务器
<mirror>  
  <id>alimaven</id>  
  <name>aliyun maven</name>  
  <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
  <mirrorOf>central</mirrorOf>          
</mirror>

3.修改STS配置

3.1 设定字符集编码

在这里插入图片描述

3.2 关闭校验

在这里插入图片描述

4.创建SpringBoot项目

4.1根据官方模板创建项目

在这里插入图片描述

4.2选择jar包文件

5.关于SpringBoot配置说明

5.1 POM.xml文件说明

<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<!--maven坐标 将来通过坐标唯一定位项目文件的位置 -->
	<groupId>com.jt</groupId>
	<artifactId>springboot_demo1</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>springboot_demo1</name>
	<description>Demo project for Spring Boot</description>

	<!--parent标签作用:管理所有被springBoot整合之后的jar包的版本定义 springBoot特点: 开箱即用 引入jar包就可以添加相对应的功能. 
		定义了当前springBoot2.3.1所有的相关依赖的版本号信息. -->
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.3.1.RELEASE</version>
		<relativePath /> <!-- lookup parent from repository -->
	</parent>

	<properties>
		<java.version>1.8</java.version>
	</properties>

	<dependencies>
		<!--在webjar包的内部关联整合了所有的springMVC的jar包信息. 所以只需要引入一个jar包,则可以关联整合所有的有关mvc的依赖包信息 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
			<exclusions>
				<exclusion>
					<groupId>org.junit.vintage</groupId>
					<artifactId>junit-vintage-engine</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
	</dependencies>
	
	<!--负责项目打包 更新 maven操作相关的配置  必须添加  -->
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

</project>

5.2 项目打包说明

在这里插入图片描述

5.3 关于jar包文件说明

说明: 当项目开发完成之后,需要将项目进行打包部署. 将项目中的.java文件编译为.class文件之后打包到Linux服务器中运行.
运行jar包项目: 利用终端执行 java -jar demo.jar

6.关于YML文件说明

说明: SpringBoot程序启动时 默认加载application.yml文件.

6.1 为什么需要属性赋值

说明: 通过图中可以发现,用户的数据被写死.如果后续需要修改数据,则必须修改代码.属性的耦合性高.不方便维护.
解决方案: 能否利用配置文件动态的为属性赋值.

6.2 利用@Value为属性赋值

6.2.1编辑YML配置文件

	# 语法:   1. key-value结构     2.key和value之间使用:(空格)进行分割 
#         2.YML配置文件有层级结构
server:
  port: 8090
  servlet:
    context-path: / #项目发布路径信息 默认条件下 /根目录
    # tomcat服务器进行发布 默认发布路径地址webapps目录下    
    # /     ROOT 项目路径
    # /jt   JT   项目路径
    
#指定用户配置文件信息
msg:
  username: 许三多
  age: 10 

6.2.2利用注解取值

@RestController
public class MsgController {
	
	//有时可能会通过配置文件的形式为属性动态的赋值.
	
	/**
	 * @Value 表示从spring容器中动态获取数据.
	 * 通过spel表达式动态取值
	 */
	@Value("${msg.username}")
	private String  username;	//用户名
	@Value("${msg.age}")
	private Integer age;		//年龄
	
	
	@RequestMapping("/getMsg")
	public String getMsg() {
		
		return "返回值结果:"+username+":"+age;
	}
	
}

7. 关于YML配置文件说明

7.2 定义pro文件

#key=value   
#pro文件都是字符串信息 所以不需要添加""号
msg.username2=奥特曼
msg.age2=18 

7.3 实现属性赋值

	package com.jt.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
//默认条件下 使用ISO-8859-1的编码格式,所以中文乱码
@PropertySource
(value = "classpath:/properties/msg.properties",
		encoding="UTF-8")
public class MsgController2 {
	
	/**
	 * 1.之前通过yml配置文件赋值
	 * 2.现在通过pro文件方式赋值
	 */
	
	@Value("${msg.username2}")
	private String username;
	@Value("${msg.age2}")
	private Integer age;
	
	@RequestMapping("/getMsg2")
	public String getMsg2() {
		
		return username + ":" + age;
	}
	
}

8.热部署工具

说明:当程序代码修改之后,tomcat服务器可以自动的部署

	<!--支持热部署 -->
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-devtools</artifactId>
</dependency>

9.lombok

9.1 引入jar包

	<!--引入插件lombok 自动的set/get/构造方法插件 -->
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
		</dependency>

9.2 安装lombok

在这里插入图片描述

10.导入数据库文件

说明:进入数据库客户端.
命令: mysql -u root -p root
导入指令: source /usr/loca/src/jtdb.sql;

 11.添加继承/依赖/插件

	<!--parent标签作用:管理所有被springBoot整合之后的jar包的版本定义 springBoot特点: 开箱即用 引入jar包就可以添加相对应的功能. 
		定义了当前springBoot2.3.1所有的相关依赖的版本号信息. -->
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.3.1.RELEASE</version>
		<relativePath /> <!-- lookup parent from repository -->
	</parent>

	<properties>
		<java.version>1.8</java.version>
		<!--指定插件版本 -->
		<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
		<!--跳过测试类打包 -->
		<skipTests>true</skipTests>
	</properties>

	<dependencies>
		<!--在webjar包的内部关联整合了所有的springMVC的jar包信息. 所以只需要引入一个jar包,则可以关联整合所有的有关mvc的依赖包信息 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
			<exclusions>
				<exclusion>
					<groupId>org.junit.vintage</groupId>
					<artifactId>junit-vintage-engine</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<!--添加属性注入依赖 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-configuration-processor</artifactId>
			<optional>true</optional>
		</dependency>

		<!--支持热部署 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-devtools</artifactId>
		</dependency>

		<!--引入插件lombok 自动的set/get/构造方法插件 -->
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
		</dependency>

	</dependencies>

	<!--负责项目打包 更新 maven操作相关的配置 必须添加 -->
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

12.SpringBoot整合Mybatis

12.1 添加jar包文件

	<!--引入数据库驱动 -->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<scope>runtime</scope>
		</dependency>

		<!--springBoot数据库连接 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-jdbc</artifactId>
		</dependency>



		<!--spring整合mybatis 暂时 -->
		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>1.3.2</version>
		</dependency>

12.2 关于配置文件说明

spring:
  datasource:
    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

serverTimezone=GMT%2B8 东8区
useUnicode=true&characterEncoding=utf8 使用指定的字符集编码
&autoReconnect=true 数据库连接断开之后,是否自动重连
&allowMultiQueries=true 是否允许批量操作sql语句. 一般查询居多 允许

12.3编辑YML配置文件

	server:
  port: 8090
  servlet:
    context-path: /
spring:
  datasource:
    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

mybatis:
  #定义别名包
  type-aliases-package: com.jt.pojo
  #添加映射文件
  mapper-locations: classpath:/mybatis/mappers/*.xml
  #开启驼峰映射
  configuration:
    map-underscore-to-camel-case: true

  
  

12.4编辑UserMapper映射文件

	<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jt.mapper.UserMapper">
	<!--
		resultType="包名.类名"  如果配置了别名包则可以自动的拼接.
	
	  -->
	<!-- <select id="findAll" resultType="User">
		select * from user
	</select>
	
		关于驼峰映射说明:
		字段信息:
				user_id , user_age , user_name
		对象属性:
				userId	, userAge ,userName
		如果需要实现属性与字段的映射,则必须开启驼峰规则.
		字段信息~~~user_id~~~~~去掉_线~~~~~之后首字母大写~~~~userId
		改名字可以与对象的属性映射.
		注意事项:  如果一旦开启驼峰规则映射,则必须按照要求执行.
			字段:user_id  不能映射  属性:user_id
	  -->
	
	
	
</mapper>

13.MybatisPlus(MP)

13.1MP的特性

无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑
损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作
强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求
支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错
支持主键自动生成:支持多达 4 种主键策略(内含分布式唯一 ID 生成器 - Sequence),可自由配置,完美解决主键问题
支持 ActiveRecord 模式:支持 ActiveRecord 形式调用,实体类只需继承 Model 类即可进行强大的 CRUD 操作
支持自定义全局通用操作:支持全局通用方法注入( Write once, use anywhere )
内置代码生成器:采用代码或者 Maven 插件可快速生成 Mapper 、 Model 、 Service 、 Controller 层代码,支持模板引擎,更有超多自定义配置等您来使用
内置分页插件:基于 MyBatis 物理分页,开发者无需关心具体操作,配置好插件之后,写分页等同于普通 List 查询
分页插件支持多种数据库:支持 MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、Postgre、SQLServer 等多种数据库
内置性能分析插件:可输出 Sql 语句以及其执行时间,建议开发测试时启用该功能,能快速揪出慢查询
内置全局拦截插件:提供全表 delete 、 update 操作智能分析阻断,也可自定义拦截规则,预防误操作


13.2导入jar包

	<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.jt</groupId>
	<artifactId>springBootDemo2</artifactId>
	<version>0.0.1-SNAPSHOT</version>

	<!--parent标签作用:管理所有被springBoot整合之后的jar包的版本定义 springBoot特点: 开箱即用 引入jar包就可以添加相对应的功能. 
		定义了当前springBoot2.3.1所有的相关依赖的版本号信息. -->
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.3.1.RELEASE</version>
		<relativePath /> <!-- lookup parent from repository -->
	</parent>

	<properties>
		<java.version>1.8</java.version>
		<!--指定插件版本 -->
		<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
		<!--跳过测试类打包 -->
		<skipTests>true</skipTests>
	</properties>

	<dependencies>
		<!--在webjar包的内部关联整合了所有的springMVC的jar包信息. 所以只需要引入一个jar包,则可以关联整合所有的有关mvc的依赖包信息 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
			<exclusions>
				<exclusion>
					<groupId>org.junit.vintage</groupId>
					<artifactId>junit-vintage-engine</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<!--添加属性注入依赖 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-configuration-processor</artifactId>
			<optional>true</optional>
		</dependency>

		<!--支持热部署 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-devtools</artifactId>
		</dependency>

		<!--引入插件lombok 自动的set/get/构造方法插件 -->
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
		</dependency>

		<!--引入数据库驱动 -->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<scope>runtime</scope>
		</dependency>

		<!--springBoot数据库连接 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-jdbc</artifactId>
		</dependency>

		<!--spring整合mybatis-plus -->
		<dependency>
			<groupId>com.baomidou</groupId>
			<artifactId>mybatis-plus-boot-starter</artifactId>
			<version>3.2.0</version>
		</dependency>
	</dependencies>

	<!--负责项目打包 更新 maven操作相关的配置 必须添加 -->
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

</project>

13.3 配置User对象

	package com.jt.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import lombok.Data;
import lombok.experimental.Accessors;

@Data
@Accessors(chain = true)
@TableName   //与表进行关联  如果名称一致,则可以省略不写.
public class User {
	//属性一般都与表字段对应
	@TableId(type = IdType.AUTO)	//主键自增标识.
	private Integer id;
	//@TableField(value = "name")	//如果属性名称与字段名称一致(包含驼峰规则) 可以省略不写
	private String name;
	private Integer age;
	private String sex;
}

13.4 继承BaseMapper接口
在这里插入图片描述

13.5修改YML配置文件

在这里插入图片描述

13.6 MP入门案例

	@SpringBootTest	 //springBoot测试注解  开启了spring容器
public class TestMybatis {
	
	@Autowired
	private UserMapper userMapper;
	
	/**
	 * 以MP方式操作数据库,则以后单表操作不写sql.
	 */
	@Test
	public void findAll() {
		
		List<User> userList = userMapper.selectList(null);
		System.out.println(userList);
	}
	
}

13.7 MybatisPlus API说明

	/**
	 * 1.新增
	 */
	@Test
	public void insert() {
		User user = new User();
		user.setName("MybatisPlus入门")
			.setAge(18)
			.setSex("女");
		userMapper.insert(user);
		System.out.println("入库成功!!!");
	}
	
	/**
	 * 案例:查询Id=53的用户信息
	 * 参数充当where条件
	 */
	@Test
	public void select01() {
		
		User user = userMapper.selectById(53);
		System.out.println(user);
	}
	
	/**
	 * 案例:查询name="孙尚香" sex=女性  用户.
	 * queryWrapper:条件构造器    拼接where条件
	 * 逻辑运算符    =  eq, > gt , < lt
	 * 			  >= ge, <= le
	 */
	@Test
	public void select02() {
		//1.利用对象封装参数,实现数据查询  
		//注意事项:利用对象只能实现 "="号操作
		User user = new User();
		user.setName("孙尚香")
			.setSex("女");
		//根据对象中不为null的元素拼接where条件,默认条件下使用and连接符
		QueryWrapper<User> queryWrapper = new QueryWrapper<>(user);
		List<User> userList = userMapper.selectList(queryWrapper);
		System.out.println(userList);
		
		//2.方法2  利用条件构造器构建where条件
		QueryWrapper<User> queryWrapper2 = new QueryWrapper<User>();
		queryWrapper2.eq("name", "孙尚香")
					 .eq("sex", "女");
		List<User> userList2 = userMapper.selectList(queryWrapper2);
		System.out.println(userList2);
		
	}

	/**
	 * 查询用户age<18岁 或者 age >100岁
	 */
	@Test
	public void select03() {
		QueryWrapper<User> queryWrapper = new QueryWrapper<User>();
		queryWrapper.lt("age", 18)
					.or()
					.gt("age", 100);
 		List<User> userList = userMapper.selectList(queryWrapper);
 		System.out.println(userList);
	}
	
	/**
	 * 查询id= 1,3,6的用户
	 */
	@Test
	public void select04() {
		//1.api进行封装
		List<Integer> list = new ArrayList<>();
		list.add(1);
		list.add(3);
		list.add(6);
		List<User> userList	= userMapper.selectBatchIds(list);
		//2.条件构造器进行封装
		QueryWrapper<User> queryWrapper = new QueryWrapper<User>();
		queryWrapper.in("id", 1,3,4,5);
		userMapper.selectList(queryWrapper);
		
	}
	
	@Test
	public void select05() {
		
		QueryWrapper<User> queryWrapper = new QueryWrapper<User>();
		queryWrapper.between("字段", "值1", "值2");
		queryWrapper.like("name","精"); //包含精字    %精%
		queryWrapper.likeRight("name","精"); //以精开头     精%
		//queryWrapper.groupBy(column)    //分组查询!!!
	}
	
	//作业:利用MP知识:将常规sql进行实现.
	

14.反向代理机制

在这里插入图片描述

14.1 反向代理说明

反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。
总结:
1).反向代理服务器位于目标服务器与用户之间.
2).对于用户而言,反向代理服务器就是目标服务器.
3).用户访问时根本不清楚真实的服务器资源是谁,保护了真实服务器资源信息.
4).反向代理服务器一般是服务器端代理,保护真实服务器信息.


14.2 正向代理(知识补充)

正向代理,意思是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。
知识点:
1).代理服务器位于用户与服务器之间
2).用户发起请求时,清楚的知道自己访问的真实服务器是谁.
3).代理服务器将用户的请求转交给服务器获取数据.
4).正向代理是客户端代理,保护了用户的信息.

在这里插入图片描述

14.3 Nginx

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
内存: 不到2M
并发能力强: 3-5万次/秒 理想环境下 /tomcat服务器 150-220/秒

14.3.1 基本命令

一.安装
brew install nginx
注释: brew 安装
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
1.路径
/usr/local/etc/nginx/nginx.conf (配置文件路径) 
/usr/local/Cellar/nginx/1.8.0 (安装路径)
二.启动
1.在终端输入 ps -ef|grep nginx看是否有启动
2.如果没有启动执行以下命令启动/usr/local/Cellar/nginx/1.8.0/bin/nginx -c /usr/local/etc/nginx/nginx.conf 一定要注意路径是否是自己的安装路径
3.cd 到/usr/local/Cellar/nginx/1.8.0/bin/ 目录下 执行sudo ./nginx
4.这时候如果成功访问localhost:80,说明成功安装和启动好了。
三.停止
1.查询进程 ps -ef | grep nginx
2.杀死进程 sudo kill -9 端口号
四.重启
1.cd /usr/local/Cellar/nginx/1.8.0/bin/
2.sudo ./nginx -s reload

14.3.2 编辑Nginx的配置文件

14.3.3 Nginx负载均衡策略

说明:在分布式条件下,为了提高用户请求的响应能力,准备多台服务器.一起抗击高并发.需要用户通过同一个网址访问不同服务器的技术称之为负载均衡机制.

在这里插入图片描述

14.4 Hosts

14.4.1 网络访问链路说明

HOSTS文件记录了本机访问的域名与IP的映射关系

在这里插入图片描述

14.4.2 编辑HOSTS文件

位置:

编辑:

15. 虚拟机网络配置

15.1 桥接模式

说明:
1).使用桥接模式相当于虚拟机直接接入当前局域网.并且独占IP
2).如果采用桥接模式,则必须有第三方的设备进行支持.
3).凡是在局域网中的设备,都可以与虚拟机进行通讯.

在这里插入图片描述

15.2 NAT模式

说明:
1).NAT模式相当于在本机开辟一块网络空间地址.
2).只有本机能够访问,其他服务器不能访问

在这里插入图片描述

15.3 显示ip

执行命令:ip addr

16.FinalShell远程连接

配置FinalShell程序 连接远程服务器

17.安装JDK

17.1 上传JDK安装包

在这里插入图片描述

17.2 解压JDK

tar   -zxvf  jdk-8u51-linux-x64.tar.gz

17.3 修改环境变量

命令: vim /etc/profile

#设定jdk环境
export JAVA_HOME=/usr/local/src/jdk1.8
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib

17.4 让环境变量生效

命令:source /etc/profile

18. 安装mariadb数据库

18.1 执行安装命令

命令: yum install mariadb-server

在这里插入图片描述

安装成功

在这里插入图片描述

18.2 操作数据库命令

1.启动数据库命令 systemctl start mariadb

2.停止数据库命令 systemctl stop mariadb

3.重启数据库命令 systemctl restart mariadb

18.3 配置数据库

命令:mysql_secure_installation

1).提示信息说明

在这里插入图片描述

2.设定密码

在这里插入图片描述

在这里插入图片描述

18.4 数据库登录

在这里插入图片描述

18.5 查询数据库权限

1).查看数据库

在这里插入图片描述

2).切换数据库

在这里插入图片描述

18.6 设定数据库权限

说明:一般数据库中的权限在user表中进行了定义.

在这里插入图片描述

2.修改用户权限列表

在这里插入图片描述

3).修改之后的结果
作用: 以后任意的IP地址可以访问数据库,但是要求用户名和密码正确.

在这里插入图片描述

4). 刷新数据库权限

命令: flush privileges;

在这里插入图片描述

19.关于Linux防火墙说明

19.1 防火墙的工作原理

说明:一般防火墙只拦截远程请求本服务器的请求.

19.2 防火墙的配置文件

1).配置以后不开启防火墙

systemctl  disable  firewalld.service

在这里插入图片描述2).配置以后开启防火墙

systemctl  enable  firewalld.service

19.3 防火墙开关配置

1).检查防火墙工作状态

firewall-cmd   --state

在这里插入图片描述

2).关闭防火墙
改操作只能控制现在.当Linux系统重启时,该操作失效.

	 systemctl   stop   firewalld.service
	 systemctl  start   firewalld.service

在这里插入图片描述

3).指定端口号开放

	firewall-cmd --zone=public --add-port=3306/tcp --permanent

命令含义:
					–zone #作用域
					–add-port=80/tcp #添加端口,格式为:端口/通讯协议
					–permanent #永久生效,没有此参数重启后失效

20.连接数据库

21.通过脚本启动tomcat服务器(外挂) shell

vim start.sh的脚本文件
脚本启动:

#!/bin/sh
nohup java -jar 8081.war -> 8081.log &
nohup java -jar 8082.war -> 8082.log &
nohup java -jar 8083.war -> 8083.log &

启动:sh start.sh

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值