栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

记录111

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

记录111

在idea中显示springboot面板的方法

添加如下配置,重启IDEA

  
    
    
  
版本控制

在 .gitignore 配置文件中,可以忽略要commit的文件
如

**/mvnw
**/mvnw.cmd
**/.mvn
**/target
.idea
**/.gitignore
虚拟机安装jdk1.8
1 下载并解压jdk1.8
tar  -zxvf  jdk-8u281-linux-x64.tar.gz(检查本机有没有jdk有的话卸载掉。安装上自己的jdk)

2 配上环境变量
vim /etc/profile
# 添加一下两行代码
export JAVA_HOME=jdk的位置
export PATH=$PATH:$JAVA_HOME/bin

3 使配置生效
source  /etc/profile
安装docker
1 卸载系统之前的docker 
sudo yum remove docker 
                  docker-client 
                  docker-client-latest 
                  docker-common 
                  docker-latest 
                  docker-latest-logrotate 
                  docker-logrotate 
                  docker-engine

2  设置存储库
sudo yum install -y yum-utils
sudo yum-config-manager 
    --add-repo 
    https://download.docker.com/linux/centos/docker-ce.repo

3  安装DOCKER引擎
sudo yum install docker-ce docker-ce-cli containerd.io

4  启动Docker.
sudo systemctl start docker

5 配置镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://chqac97z.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
docker安装mysql
1 拉取mysql镜像
docker pull mysql:5.7

2 启动mysql容器
# --name指定容器名字 -v目录挂载 -p指定端口映射  -e设置mysql参数 -d后台运行
docker run -p 3306:3306 --name mysql 
-v /mydata/mysql/log:/var/log/mysql 
-v /mydata/mysql/data:/var/lib/mysql 
-v /mydata/mysql/conf:/etc/mysql 
-e MYSQL_ROOT_PASSWORD=root 
-d mysql:5.7

3 进入mysql容器
docker exec -it 容器名称|容器id bin/bash
4.自启
docker update mysql --restart=always
5.注意事项
mysql 8.0 
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
docker安装redis
1 在docker hub搜索redis镜像
docker search redis

2 拉取redis镜像到本地
docker pull redis:6.0.10

3 修改需要自定义的配置(docker-redis默认没有配置文件,
自己在宿主机建立后挂载映射)
创建并修改/usr/local/redis/redis.conf
bind 0.0.0.0 开启远程权限
appendonly yes 开启aof持久化

4 启动redis服务运行容器
docker run --name redis  -v /usr/local/redis/data:/data  -v /usr/local/redis/redis.conf:/usr/local/etc/redis/redis.conf -p 6379:6379 -d redis:6.0.10  redis-server /usr/local/etc/redis/redis.conf 

解释: -v /usr/local/redis/data:/data  # 将数据目录挂在到本地保证数据安全
 -v /root/redis/redis.conf:/usr/local/etc/redis/redis.conf   # 将配置文件挂在到本地修改方便
 
5  直接进去redis客户端。
docker exec -it redis redis-cli

6.自启
docker update redis --restart=always
虚拟机防火墙
1.查看防火墙状态
firewall-cmd --state
2.
# 永久关闭防火墙,防止开机自启动
systemctl stop firewalld.service #停止防火墙
systemctl disable firewalld.service #防止开机启动防火墙
SpringBoot和Spring Cloud Alibaba 版本对应关系

https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E

    
        
            
                com.alibaba.cloud
                spring-cloud-alibaba-dependencies
                2021.0.1.0
                pom
                import
            
        
    
nacos(注册中心)

引入依赖


    com.alibaba.cloud
    spring-cloud-starter-alibaba-nacos-discovery

启动方式 standalone

startup.cmd -m standalone

在服务的启动类上添加 @EnableDiscoveryClient 注解
在application.yml配置nacos地址和服务名

spring:
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
  application:
    name: gulimall-coupon

启动服务即可在nacos中发现服务

Fegin(声明式的远程调用)

引入依赖


    org.springframework.cloud
    spring-cloud-starter-openfeign

由于Spring Cloud Feign在Hoxton.M2 RELEASED版本之后不再使用Ribbon而是使用spring-cloud-loadbalancer,所以不引入spring-cloud-loadbalancer会报错.

解决方法:
加入spring-cloud-loadbalancer依赖 并且在nacos中排除ribbon依赖,不然loadbalancer无效


   com.alibaba.cloud
    spring-cloud-starter-alibaba-nacos-discovery
    
        
            com.netflix.ribbon
            ribbon
        
    



    org.springframework.cloud
    spring-cloud-starter-loadbalancer
    3.1.3

在需要调用远程的服务的启动类上添加
@EnableFeignClients(basePackages = "com.xxx.feign")
注解

创建 com.xxx.feign 路径并创建接口文件

@FeignClient("gulimall-coupon")//调用的 目标服务 名字
public interface CouponFeignService {

    @RequestMapping("/coupon/coupon/member/list") //目标地址
    public R memberCoupons();

}
调用

在controller中注入该接口

@Autowired
CouponFeignService couponFeignService;

即可使用该接口中声明的方法

nacos(配置中心)

引入依赖

 
     com.alibaba.cloud
     spring-cloud-starter-alibaba-nacos-config
 
      
 
        org.springframework.cloud
        spring-cloud-starter-bootstrap
        3.1.0

创建 bootstrap.properties 文件

spring.application.name=应用名称
spring.cloud.nacos.config.server-addr=127.0.0.1:8848

在注册中心心中新建 应用名称.properties 的配置文件,并添加配置

加入 @RefreshScope 和 @Value("${xx.xx}") 即可动态获取配置

命名空间

默认 public
开发、测试、生产 需要命名空间做环境隔离
在 bootstrap.properties 中配置命名空间

spring.cloud.nacos.config.namespace=aab3884f-5260-4155-a725-d90d474b67f8

每个微服务之间互相隔离配置,每个微服务都创建自己的命名空间,只加载自己命名空间下的配置

可以将配置文件分散成各个小的配置然后整体加载

spring.cloud.nacos.config.namespace=80ef2691-2c21-49e5-b272-7c0c9c067f18
spring.cloud.nacos.config.group=dev

spring.cloud.nacos.config.extension-configs[0].data-id=datasource.yaml
spring.cloud.nacos.config.extension-configs[0].group=dev
spring.cloud.nacos.config.extension-configs[0].refresh=true

spring.cloud.nacos.config.extension-configs[1].data-id=mybatis.yaml
spring.cloud.nacos.config.extension-configs[1].group=dev
spring.cloud.nacos.config.extension-configs[1].refresh=true

spring.cloud.nacos.config.extension-configs[2].data-id=other.yaml
spring.cloud.nacos.config.extension-configs[2].group=dev
spring.cloud.nacos.config.extension-configs[2].refresh=true

Gateway 网关

依赖


    org.springframework.cloud
    spring-cloud-starter-gateway

由于网关无需数据库链接,所以在启动项上排除

@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, IdentifierGeneratorAutoConfiguration.class})

网关也需要加入到注册和配置中心

路由:网关的基本构建块。它由 ID、目标 URI、谓词集合和过滤器集合定义。如果聚合谓词为真,则匹配路由。

断言:这是一个Java 8 函数谓词。输入类型是Spring FrameworkServerWebExchange。这使您可以匹配来自 HTTP 请求的任何内容,例如标头或参数。

过滤器GatewayFilter:这些是使用特定工厂构建的实例。在这里,您可以在发送下游请求之前或之后修改请求和响应。

参考官方文档:
https://docs.spring.io/spring-cloud-gateway/docs/current/reference/html/

ES6

var let cons t区别

解构赋值

//数组解构
let arr  = [1,2,3];
let[a,b,c] = arr;
console.log(a,b,c) //1 2 3
//对象解构
const person = {
	name:"jack",
	age:18,
	language:['java','c','js']
}

const {name:abc,age,language} = person;

console.log(abc,age,language)
//不定参数
function fun(...values){
	console.log(values.length)
}
fun(1,2) // 2
fun(1,2,3,4,5) // 5
//箭头函数
之前方法的声明
var print = function(obj){
	console.log(obj);
}
改造:
var print = obj => console.log(obj);
print("word"); // word
==================
var sum = function(a,b){
	return a + b;
}
改造:
var sum = (a,b) => a + b;
console.log(sum(1,2)) // 3
==================
var sum = function(a,b){
	c = a + b;
	return a + c;
}
改造:
var sum = (a,b) => {
	c = a + b;
	return a + c;
}
console.log(sum(1,2)) // 3
const person = {
	name:"tom",
	age:18
}

function hello(){
	console.log("hello" + person.name)
}

var hello2 = ({name}) => console.log("hello" + name);
hello2(person); // tom
const target = {a:1};
const source1 = {b:2};
const source2 = {c:3};

Object.assign(target,source1,source2);
console.log(target);//{a:1,b:2,c:3}
1.拷贝对象(深拷贝)
let pserson = {name:"迪丽热巴",age:18}
let someone = {...pserson}
console.log(someone) //{name:"迪丽热巴",age:18}

2.合并对象
let age = {age:15}
let name = {name:"tom"}
let person = {...age,...name}
console.log(pserson) // {age:15,name:"tom"}
vue模板
{
	"生成 vue 模板": {
		"prefix": "vue",
		"body": [
			"",
			"",
			"",
			""
		],
		"description": "生成 vue 模板"
	}
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/963291.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号