小小笔记-Linux、Redis、主从复制、Nginx(反向代理 负载均衡)、前后端分离(swagger、项目部署到Linux)

目录

Linux常用命令和出错情况:

redis常用命令和出错情况

MySQL的主从复制

Nginx常用命令和出错情况:

前后端分离

Swagger的使用(接口管理)

项目部署


Linux常用命令和出错情况:

vim 文件名--编译文件
--i编辑模式
--/查找
--按n跳到下一个,shift + n跳到上一个
--:wq退出保存
--:q!退出不保存

./--执行

Ctrl+C中断了进程,返回到终端界面。Ctrl+Z暂停了进程,返回到终端界面


ps -ef | grep redis -----查找redis

关防火墙(redis端口6379) firewall-cmd --zone=public --add-port=6379/tcp --permanent  
重写启动防火墙 firewall-cmd --reload

小小笔记-Linux、Redis、主从复制、Nginx(反向代理 负载均衡)、前后端分离(swagger、项目部署到Linux)_第1张图片

遇到虚拟机IP失效,需要重启network:
    关闭网络:service NetworkManager stop
    重启:service network restart

redis常用命令和出错情况

小小笔记-Linux、Redis、主从复制、Nginx(反向代理 负载均衡)、前后端分离(swagger、项目部署到Linux)_第2张图片

详情见 Redis中文网

小小笔记-Linux、Redis、主从复制、Nginx(反向代理 负载均衡)、前后端分离(swagger、项目部署到Linux)_第3张图片

小小笔记-Linux、Redis、主从复制、Nginx(反向代理 负载均衡)、前后端分离(swagger、项目部署到Linux)_第4张图片

小小笔记-Linux、Redis、主从复制、Nginx(反向代理 负载均衡)、前后端分离(swagger、项目部署到Linux)_第5张图片

小小笔记-Linux、Redis、主从复制、Nginx(反向代理 负载均衡)、前后端分离(swagger、项目部署到Linux)_第6张图片

小小笔记-Linux、Redis、主从复制、Nginx(反向代理 负载均衡)、前后端分离(swagger、项目部署到Linux)_第7张图片

在springboot中使用redis

先在pom中导入依赖:

小小笔记-Linux、Redis、主从复制、Nginx(反向代理 负载均衡)、前后端分离(swagger、项目部署到Linux)_第8张图片

配置文件:小小笔记-Linux、Redis、主从复制、Nginx(反向代理 负载均衡)、前后端分离(swagger、项目部署到Linux)_第9张图片

详细流程:

小小笔记-Linux、Redis、主从复制、Nginx(反向代理 负载均衡)、前后端分离(swagger、项目部署到Linux)_第10张图片

五种类型操作:

String—set,get

Hash—put,get

List添加leftPush、leftPushAll,取值range(k,l,l1),出队列rightPop

Setadd,members,删除remove

Zsetadd,取值range,加分值incrementScore,删除remove

通用操作:

//获取Redis中所有的key

keys

//判断某个key是否存在

hasKey

//删除指定key

delete

//获取指定key对应的value的数据类型

type

MySQL的主从复制

MySQL的主从复制——创建新服务器:
一、需要模拟两台服务器提供两个不同的MySQL,在此使用vm创建两台Linux虚拟机新创建的虚拟机:
首先修改网络初始化配置加载网卡,1.cd /etc/sysconfig/network-scripts 2.vim ifcfg-ens33 进入之后将末尾的no改为yes

二、安装MySQL,在此采用rpm安装(yum也可)
步骤:上传,解压到指定文件夹,按顺序下载-因不能自处理依赖,百度找顺序(rpm需要在下载服务前安装 net-tools)

三、启动MySQL,查找初始密码cat /var/log/mysqld.log | grep password,然后登录,然后设置新密码
    (需要设置密码长度set global validate_password_length=4;
    安全等级set global validate_password_policy=LOW;
    密码set password=password('root');
    权限 grant all on *.* to 'root'@'%' identified by 'root';
    刷新flush privileges;)

MySQL的主从复制——配置:
一、原服务器配置mysql:my.cnf中启用二进制日志和设置唯一id

二、创建新服务器需要使用的账户mysql> GRANT REPLICATION SLAVE ON *.* to 'xiaoming'@'%' identified by 'Root@123456';

三、新服务器配置mysql:
    my.cnf中设置唯一id
    将新服务器用户绑定原服务器提供的含权限账户change master to master_host='192.168.162.128',master_user='xiaoming',master_password='Root@123456',master_log_file='mysql-bin.000003',master_log_pos=441;
    (此处的file和pos需要在原服务器中查看状态获取)
    
*****************虚拟机主从复制报错:Slave_SQL_Running:no***********************
报错:Slave_SQL_Running:no点击这里

Nginx常用命令和出错情况:

可以到Nginx官方网站下载Nginx的安装包,地址为:https://nginx.org/en/download.html

安装过程:

1、安装依赖包 yum -y install gcc pcre-devel zlib-devel openssl openssl-devel

2、下载Nginx安装包wget https://nginx.org/download/nginx-1.16.1.tar.gz

3、解压 tar -zxvf nginx-1.16.1.tar.gz

4、cd nginx-1.16.1

5、./configure --prefix=/usr/local/nginx

6、make && make install

查看Nginx版本可以使用命令:

./nginx -v

在启动Nginx服务之前,可以先检查一下conf/nginx.conf文件配置的是否有错误,命令如下:

./nginx -t

启动Nginx服务使用如下命令:

./nginx

停止Nginx服务使用如下命令:

./nginx -s stop

启动完成后可以查看Nginx进程:

ps -ef | grep nginx

当修改Nginx配置文件后,需要重新加载才能生效,可以使用下面命令重新加载配置文件:

./nginx -s reload

配置反向代理

server {

    listen 82;

    server_name localhost;

    location / {

        proxy_pass http://192.168.138.101:8080; #反向代理配置,将请求转发到指定服务

    }

}

配置负载均衡:

upstream targetserver{  #upstream指令可以定义一组服务器

    server 192.168.138.101:8080 weight=10;

    server 192.168.138.101:8081 weight=5;

}

server {

    listen       8080;

    server_name  localhost;

    location / {

        proxy_pass http://targetserver;

    }

}

名称

说明

轮询

默认方式

weight

权重方式

ip_hash

依据ip分配方式

least_conn

依据最少连接方式

url_hash

依据url分配方式

fair

依据响应时间方式

前后端分离

Swagger的使用(接口管理)

官网:https://swagger.io/

操作步骤:

1、导入knife4jmaven坐标


            com.github.xiaoymin
            knife4j-spring-boot-starter
            3.0.2

2、导入knife4j相关配置类

3设置静态资源,否则接口文档页面无法访问

@EnableSwagger2
@EnableKnife4j
/**
     * 设置静态资源映射
     * @param registry
     */
    @Override
    protected void addResourceHandlers(ResourceHandlerRegistry registry) {
        log.info("开始进行静态资源映射...");

        registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");
        registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
    }
    @Bean
    public Docket createRestApi() {
        // 文档类型
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.study.reggie.controller"))
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("瑞吉外卖")
                .version("1.0")
                .description("瑞吉外卖接口文档")
                .build();
    }

4、在LoginCheckFilter中设置不需要处理的请求路径

小小笔记-Linux、Redis、主从复制、Nginx(反向代理 负载均衡)、前后端分离(swagger、项目部署到Linux)_第11张图片

*****************************************************************************************************

小小笔记-Linux、Redis、主从复制、Nginx(反向代理 负载均衡)、前后端分离(swagger、项目部署到Linux)_第12张图片

 相关配置做完之后,直接启动,浏览器端访问路径为http://localhost:8080/doc.html

 

项目部署

192.168.162.128 l (服务器 A )--部署前端

  Nginx:部署前端项目、配置反向代理

        :第一步 前端打包的dist文件上传到Nginxhtml目录下

            第二步 修改Nginx配置文件nginx.conf

小小笔记-Linux、Redis、主从复制、Nginx(反向代理 负载均衡)、前后端分离(swagger、项目部署到Linux)_第13张图片

  Mysql:主从复制结构中的主库

192.168.162.129 l (服务器 B )--部署后端

(需要jdkgitmavenMySQL,使用git clone命令将git远程仓库的代码克隆下来 )

  jdk:运行Java项目

  git:版本控制工具

  maven:项目构建工具

  jarSpring Boot项目打成jar包基于内置Tomcat运行

  Mysql:主从复制结构中的从库

1、使用自定义的reggieStart.sh文件启动项目,需要开启权限chmod 777 reggieStart.sh

2、将本地存放图片的img目录整体上传至服务器B/usr/local目录下

        需要修改yml中的图片访问路径

         然后在虚拟机指定位置上传图片

小小笔记-Linux、Redis、主从复制、Nginx(反向代理 负载均衡)、前后端分离(swagger、项目部署到Linux)_第14张图片

l 172.17.2.94 (服务器 C

  Redis:缓存中间件要时刻保持开启状态

你可能感兴趣的:(linux,java,redis,nginx,负载均衡)