当前位置: 首页 > news >正文

集群架构-web服务器(接入负载均衡+数据库+会话保持redis)--15454核心配置详解

紧接着前面的集群架构深化—中小型公司(拓展到大型公司业务)–下面图简单回顾一下之前做的及故障核心知识总结(等后期完全整理后,上传资源希望能帮大家)

在这里插入图片描述
在这里插入图片描述

web集群架构-接入负载均衡部署web02服务器等

web集群-搭建web02节点

[root ~]#yum install php[root ~]#cd /etc/nginx/conf.d/
[root /etc/nginx/conf.d]#ll
-rw-r--r-- 1 root root  581 65 20:58 blog.wulinlinux.cn.conf
-rw-r--r-- 1 root root  321 526 10:42 buy.wulinlinux.cn.conf
-rw-r--r-- 1 root root  236 64 18:53 cfg.wulinlinux.cn.conf
-rw-r--r-- 1 root root 1072 424 02:24 default.conf
-rw-r--r-- 1 root root  151 526 10:43 hs.wulin.cn.conf
-rw-r--r-- 1 root root  262 63 20:37 proxy.wulinlinux.cn.conf
-rw-r--r-- 1 root root  111 526 10:44 wy.wulinlinux.cn.conf[root /etc/nginx/conf.d]#cd /etc/php
php.d/     php-fpm.d/ php-zts.d/ 
[root /etc/nginx/conf.d]#cd /etc/php-fpm.d/
[root /etc/php-fpm.d]#ll
总用量 20
-rw-r--r-- 1 root root 17964 65 20:54 www.conf[root /etc/php-fpm.d]#scp www.conf 192.168.65.8:`pwd`
root.168.65.8's password: 
www.conf                                                                                                                                  100%   18KB  17.6MB/s   00:00 
[root /etc/php-fpm.d]#cd /app/code/blog/
[root /app/code/blog]#ll
总用量 232
-rw-r--r--  1 www  www    405 26 2020 index.php
-rw-r--r--  1 www  www  19416 526 15:39 license.txt
-rw-r--r--  1 www  www   7348 526 15:39 readme.html
drwxr-xr-x  3 root root    21 65 21:36 up-content
-rw-r--r--  1 www  www   7387 526 15:39 wp-activate.php
drwxr-xr-x  9 www  www   4096 526 15:39 wp-admin
-rw-r--r--  1 www  www    351 26 2020 wp-blog-header.php
-rw-r--r--  1 www  www   2323 526 15:39 wp-comments-post.php
-rw-rw-rw-  1 www  www   3283 526 14:32 wp-config.php
-rw-r--r--  1 www  www   3328 526 15:39 wp-config-sample.php
drwxr-xr-x  7 www  www     99 527 16:59 wp-content
-rw-r--r--  1 www  www   5638 526 15:39 wp-cron.php
drwxr-xr-x 30 www  www  12288 526 15:39 wp-includes
-rw-r--r--  1 www  www   2502 1127 2022 wp-links-opml.php
-rw-r--r--  1 www  www   3927 526 15:39 wp-load.php
-rw-r--r--  1 www  www  50917 526 15:39 wp-login.php
-rw-r--r--  1 www  www   8525 526 15:39 wp-mail.php
-rw-r--r--  1 www  www  28427 526 15:39 wp-settings.php
-rw-r--r--  1 www  www  34385 526 15:39 wp-signup.php
-rw-r--r--  1 www  www   4885 526 15:39 wp-trackback.php
-rw-r--r--  1 www  www   3246 526 15:39 xmlrpc.php
  • 打包代码排除上传目录
[root /app/code/blog]#tar zcf ~/wordpress-no-uploads.tar.gz   .  --exclude=wp-content/uploads/*
[root@web01 /app/code/blog]#tar tf ~/wordpress-no-uploads.tar.gz  |grep uploads
./wp-content/uploads/
[root@web01 ~]#scp wordpress-no-uploads.tar.gz  192.168.65.8:`pwd`

web02:查看并解压到对应的目录

[root ~]#ll
总用量 27752
-rw-------. 1 root root     1588 54 19:50 anaconda-ks.cfg
-rw-r--r--  1 root root 28411082 713 19:14 wordpress-no-uploads.tar.gz
[root ~]#tar xf wordpress-no-uploads.tar.gz -C /app/code/blog/
[root ~]#ll /app/code/blog/
总用量 232
-rw-r--r--  1 www  www    405 26 2020 index.php
-rw-r--r--  1 www  www  19416 526 15:39 license.txt
-rw-r--r--  1 www  www   7348 526 15:39 readme.html
drwxr-xr-x  3 root root    21 65 21:36 up-content
-rw-r--r--  1 www  www   7387 526 15:39 wp-activate.php
drwxr-xr-x  9 www  www   4096 526 15:39 wp-admin
-rw-r--r--  1 www  www    351 26 2020 wp-blog-header.php
-rw-r--r--  1 www  www   2323 526 15:39 wp-comments-post.php
-rw-rw-rw-  1 www  www   3283 526 14:32 wp-config.php
-rw-r--r--  1 www  www   3328 526 15:39 wp-config-sample.php
drwxr-xr-x  7 www  www     99 527 16:59 wp-content
-rw-r--r--  1 www  www   5638 526 15:39 wp-cron.php
drwxr-xr-x 30 www  www  12288 526 15:39 wp-includes
-rw-r--r--  1 www  www   2502 1127 2022 wp-links-opml.php
-rw-r--r--  1 www  www   3927 526 15:39 wp-load.php
-rw-r--r--  1 www  www  50917 526 15:39 wp-login.php
-rw-r--r--  1 www  www   8525 526 15:39 wp-mail.php
-rw-r--r--  1 www  www  28427 526 15:39 wp-settings.php
-rw-r--r--  1 www  www  34385 526 15:39 wp-signup.php
-rw-r--r--  1 www  www   4885 526 15:39 wp-trackback.php
-rw-r--r--  1 www  www   3246 526 15:39 xmlrpc.php
[root ~]#yum insatll -y nfs-utils
[root ~]#ll /app/code/blog/wp-content/
总用量 12
-rw-r--r-- 1 www www   28 19 2012 index.php
drwxr-xr-x 4 www www 4096 526 15:39 languages
drwxr-xr-x 3 www www   55 529 15:55 plugins
drwxr-xr-x 6 www www  118 529 15:55 themes
drwxr-xr-x 2 www www    6 527 16:58 upgrade
drwxr-xr-x 3 www www   18 526 14:36 uploads[root ~]#ll /app/code/blog/wp-content/uploads/
总用量 0
drwxr-xr-x 3 root root 16 64 20:26 2024
[root ~]#tree /app/code/blog/wp-content/uploads/
/app/code/blog/wp-content/uploads/
└── 2024└── 05└── 109951165166142900.jpg2 directories, 1 file
[root ~]#cd /app/code/blog/wp-content/uploads/
[root /app/code/blog/wp-content/uploads]#ll
总用量 0
drwxr-xr-x 3 root root 16 64 20:26 2024
[root /app/code/blog/wp-content/uploads]#rm -fr 2024/
[root /app/code/blog/wp-content/uploads]#ll
总用量 0
[root /app/code/blog/wp-content/uploads]#cd ..
[root /app/code/blog/wp-content]#ll
总用量 12
-rw-r--r-- 1 www www   28 19 2012 index.php
drwxr-xr-x 4 www www 4096 526 15:39 languages
drwxr-xr-x 3 www www   55 529 15:55 plugins
drwxr-xr-x 6 www www  118 529 15:55 themes
drwxr-xr-x 2 www www    6 527 16:58 upgrade
drwxr-xr-x 2 www www    6 713 19:21 uploads

上面发现挂载的时候,发现不是空的原因是之前所有的文件是从web01上进行copy过来的:

[root@web02 ~]#tar xf wordpress-no-uploads.tar.gz -C /app/code/blog/
[root@web02 ~]#ll /app/code/blog/wp-content/uploads/
总用量 0
[root@web02 ~]#ll /app/code/blog/
总用量 232
-rw-r--r--  1 www  www    405 2月   6 2020 index.php
-rw-r--r--  1 www  www  19416 5月  26 15:39 license.txt
-rw-r--r--  1 www  www   7348 5月  26 15:39 readme.html
drwxr-xr-x  3 root root    21 6月   5 21:36 up-content
-rw-r--r--  1 www  www   7387 5月  26 15:39 wp-activate.php
drwxr-xr-x  9 www  www   4096 5月  26 15:39 wp-admin
-rw-r--r--  1 www  www    351 2月   6 2020 wp-blog-header.php
-rw-r--r--  1 www  www   2323 5月  26 15:39 wp-comments-post.php
-rw-rw-rw-  1 www  www   3283 5月  26 14:32 wp-config.php
-rw-r--r--  1 www  www   3328 5月  26 15:39 wp-config-sample.php
drwxr-xr-x  7 www  www     99 5月  27 16:59 wp-content
-rw-r--r--  1 www  www   5638 5月  26 15:39 wp-cron.php
drwxr-xr-x 30 www  www  12288 5月  26 15:39 wp-includes
-rw-r--r--  1 www  www   2502 11月 27 2022 wp-links-opml.php
-rw-r--r--  1 www  www   3927 5月  26 15:39 wp-load.php
-rw-r--r--  1 www  www  50917 5月  26 15:39 wp-login.php
-rw-r--r--  1 www  www   8525 5月  26 15:39 wp-mail.php
-rw-r--r--  1 www  www  28427 5月  26 15:39 wp-settings.php
-rw-r--r--  1 www  www  34385 5月  26 15:39 wp-signup.php
-rw-r--r--  1 www  www   4885 5月  26 15:39 wp-trackback.php
-rw-r--r--  1 www  www   3246 5月  26 15:39 xmlrpc.php[root@web02 ~]#systemctl enable nginx php-fpm
Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service.
[root@web02 ~]#systemctl restart nginx php-fpm
[root@web02 ~]#ps -ef |grep www
apache     2614   2611  0 19:30 ?        00:00:00 php-fpm: pool www
apache     2615   2611  0 19:30 ?        00:00:00 php-fpm: pool www
apache     2616   2611  0 19:30 ?        00:00:00 php-fpm: pool www
apache     2617   2611  0 19:30 ?        00:00:00 php-fpm: pool www
apache     2618   2611  0 19:30 ?        00:00:00 php-fpm: pool www
root       2623   2062  0 19:30 pts/0    00:00:00 grep --color=auto www

在这里插入图片描述
web02打开浏览器:
在这里插入图片描述

发现如果没有进行挂载,图片将不会存在

在这里插入图片描述
文字存在的原因是:写到了数据库;

这时候可以尝试将这个没有显示的图片,换一个页面进行打开发现:
在这里插入图片描述
这里没有出现的情况是没有挂载:

mkdir -p /app/code/blog/wp-content/uploads
mount -t /nfs 172.16.1.31:/nfs/wordpress/  /app/code/blog/wp-content/uploads/
记得要永久挂载

这时候再刷新页面,图片才能加载出来(图片在nfs服务器存储上面)

web集群lnmp-wordpress(为例)-存储架构图

在这里插入图片描述

问题:负载均衡上的nginx用户需不需要也改成www?还是默认就可以?如果不改对内容有没有影响?

不需要改,负载均衡只需要进行做转发(但是一般还是会进行改掉的:方便批量进行管理)

[root ~]#vim /etc/nginx/conf.d/blog.conf

在这里插入图片描述
现在进行访问,不能直接判断是去了web01上,还是web02上(进一步判断:看日志记录、抓包)

[root ~]#nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root ~]#systemctl reload nginx
[root ~]#tail -f /var/log/nginx/blog-access.log 

在这里插入图片描述

[root ~]#tail -f /var/log/nginx/blog-access.log

会发现两边都会出现记录:
在这里插入图片描述

会话保持

(1)概述

  • 用户的请求,登录的请求,经过负载的均衡后落到后面的web服务器上,登录的状态、信息也会记录在web服务器上,就会导致不通的web服务器上,登录的状态不统一,造成用户频繁需要登录

  • 会话:用户登录状态、购物车状态

  • 目标:如何实现会话保持,会话共享?

(2)cookie vs session

开发中核心概念:知晓cookie与sesion含义,大致区别:

技术点 共同点 区别 其他
cookie 存放用户的信息,登录信息 存放在客户端浏览器 服务器给客户端响应,进行设置set-cookie,未来再次访问携带者cookie访问服务端
session 存放用户的信息,登录信息 存放服务端(文件,数据) 浏览器cookie与服务端的session

浏览器F12查看cookie信息:
在这里插入图片描述
在这里插入图片描述

(3)会话保持方案-架构设计图

在这里插入图片描述

  • 纯粹cookie
  • cookie+session方式 + 统一存放session服务器(会话保持服务器)
  • ip_hash方法
  • 通过redis实现phpmyadmin、kodbox会话共享

部署:phpmyadmin:web页面版本的数据库管理工具,sql语句,php代码

部署流程

流程:

  1. db01服务器:phpmyadmin用户,权限大一些
  2. web服务器:部署代码,传输到另外一个web上
  3. 准备redis环境(db01)
  4. 修改php配置
  5. 接入负载均衡,访问与测试0

a)db准备phpmyadmin的用户

grant all on *.* to 'phpmyadmin'@'172.16.1.%' identified by '1';

在这里插入图片描述

b)部署代码

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
下载官方包:
在这里插入图片描述
上传到linux中:
在这里插入图片描述

#查看压缩包格式
[root ~]#ll phpMyAdmin-5.2.1-all-languages.zip 
-rw-r--r-- 1 root root 15096155 716 13:30 phpMyAdmin-5.2.1-all-languages.zip

在这里插入图片描述

##解压到当前目录
unzip phpMyAdmin-5.2.1-all-languages.zip 
[root ~]#mkdir -p /app/code/admin
[root ~]#mv phpMyAdmin-5.2.1-all-languages/*  /app/code/admin/

在这里插入图片描述

浏览器访问admin.wylinlinux.cn出现phpmyadmin报错

在这里插入图片描述
问题:
在这里插入图片描述
刷新之后重新访问网站:
在这里插入图片描述
登录外界数据库发现登录失败:原因是这种登录方式为本地,所以登录会出现下图错误:
在这里插入图片描述

默认连接的是本地的数据库,怎么让它连接db01服务器呢?

解决方式:手动创建连接数据库的配置文件

cp config.sample.inc.php 
grep -n host config.inc.php
30:$cfg['servers']['$i']['host']='172.16.1.51';chown -R www.www /var/lib/php/session
ll -d /var/lib/php/session

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
以上就成功连接到别的数据库:
在这里插入图片描述

[root /app/code]#scp -r admin/ 192.168.65.8:`pwd`
[root /app/code]#cd /etc/nginx/conf.d/
[root /etc/nginx/conf.d]#scp phpmyadmin.wulinlinux.cn.conf  192.168.65.8:`pwd`
root.168.65.8's password: 
phpmyadmin.wulinlinux.cn.conf                                                                                                             100%  592   719.3KB/s   00:00 
[root ~]#nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root ~]#systemctl  reload nginx
[root ~]#chown -R www.www /var/lib/php/session

在这里插入图片描述
在这里插入图片描述
检查语法

[root /etc/nginx/conf.d]#nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root /etc/nginx/conf.d]#systemctl reload nginx.service 

本地解析:
在这里插入图片描述
访问浏览器,刷新之后要重新登录:
在这里插入图片描述

突然出现报错:

在这里插入图片描述
然后我在访问的浏览器前面加上https,然后登录没有报错,但是重新登录又出现报错(反复),

所以这也就模拟成功了myadmin会话保持的问题

3)部署redis

yum install -y redis修改/etc/redis.confbind 127.0.0.1  172.16.1.51 # 172.16.1.51本地的网卡的ipsystemctl  enable  --now redissystemctl  start  redisss -lntup |grep redis

安装redis,并且编辑redis文件:
在这里插入图片描述
检查语法,过滤端口:
在这里插入图片描述
在这里插入图片描述

4)lb01服务器配置文件

[root /etc/nginx/conf.d]#cat phpmyadmin.wulinlinux.cn.confupstream phpmyadmin_pools {server 10.0.0.7:80;server 10.0.0.8:80;  }server {listen 80;server_name phpmyadmin.wulinlinux.cn;#error_log#access_loglocation / {proxy_pass http://phpmyadmin_pools;proxy_set_header Host $http_host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}

这里模拟为了节省机器,不单独创建一个会话共享的服务器,用db01这个服务器做

5)php配置文件指定会话存放位置

[root ~]#cd /etc/nginx/conf.d/
[root /etc/nginx/conf.d]#
[root /etc/nginx/conf.d]#cd /etc/php-fpm.d/
[root /etc/php-fpm.d]#ll
总用量 20
-rw-r--r-- 1 root root 17964 65 20:54 www.conf
[root /etc/php-fpm.d]#cp www.conf session.conf
[root /etc/php-fpm.d]#vim session.conf
[root /etc/php-fpm.d]#egrep -v '^$|;' session.conf 

创建新的子配置文件:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

通知php指定会话保持位置:redis tcp://172.16.1.51:6379

在这里插入图片描述
修改/etc/php-fpm.d/www.conf

php_value[session.save_handler] = redis

php_value[session.save_path] = tcp://172.16.1.51:6379

  • session.conf
[session]
user = www
group = www
listen = 127.0.0.1:9001
listen.allowed_clients = 127.0.0.1
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
slowlog = /var/log/php-fpm/www-slow.log
verwritten from PHP call 'ini_set'.
php_admin_value[error_log] = /var/log/php-fpm/www-error.log
php_admin_flag[log_errors] = on
php_value[session.save_handler] = files
php_value[session.save_path]    = /var/lib/php/session
php_value[soap.wsdl_cache_dir]  = /var/lib/php/wsdlcache
php_admin_value[error_log] = /var/log/php-fpm/www-error.log
php_admin_flag[log_errors] = on
php_value[session.save_handler] = files
php_value[session.save_path]    = tcp://172.16.65.7:6379
php_value[soap.wsdl_cache_dir]  = /var/lib/php/wsdlcache

检查语法:
在这里插入图片描述

[root /etc/php-fpm.d]#systemctl reload php-fpm.service #重启

过滤端口:

在这里插入图片描述
在这里插入图片描述

  • 修改nginx配置文件 ,将admin转发到9001端口的php处理

  • 检查语法,重启

  • 最终的测试:

[root /etc/php-fpm.d]#scp session.conf web02:`pwd`
root's password: 
session.conf                                                                                           100%  766     2.6MB/s   00:00 [root ~]#systemctl reload nginx
[root ~]#chown -R www.www /var/lib/php/session/
[root ~]#systemctl reload php-fpm.service 

重新登录,不会出现前面反复登录的情况:
在这里插入图片描述
session信息写入到了redis(会话共享服务器中):
在这里插入图片描述
在这里插入图片描述

如果删掉服务端这里的session,将要重新登录,重新进去创建session信息

在这里插入图片描述
以上成功测试完成!!!

相关文章:

集群架构-web服务器(接入负载均衡+数据库+会话保持redis)--15454核心配置详解

紧接着前面的集群架构深化—中小型公司(拓展到大型公司业务)–下面图简单回顾一下之前做的及故障核心知识总结(等后期完全整理后,上传资源希望能帮大家) web集群架构-接入负载均衡部署web02服务器等 web集群-搭建web0…...

# Redis 入门到精通(七)-- redis 删除策略

Redis 入门到精通(七)-- redis 删除策略 一、redis 删除策略–过期数据的概念 1、Redis 中的数据特征 Redis 是一种内存级数据库,所有数据均存放在内存中,内存中的数据可以通过TTL指令获取其状态。 XX :具有时效性…...

10:00面试,10:08就出来了,问的问题有点变态。。。

从小厂出来,没想到在另一家公司又寄了。 到这家公司开始上班,加班是每天必不可少的,看在钱给的比较多的份上,就不太计较了。没想到6月一纸通知,所有人不准加班,加班费不仅没有了,薪资还要降40%…...

html+canvas 实现签名功能-手机触摸

手机上的效果图 需要注意&#xff0c;手机触摸和鼠标不是一个事件&#xff0c;不能通用&#xff0c;上一篇是关于使用鼠标的样例 相关代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewpo…...

前端组件化探索与实践:Vue自定义暂无数据组件的开发与应用

摘要 随着前端开发技术的不断进步&#xff0c;组件化开发已成为提升开发效率、降低维护成本的关键手段。本文旨在通过介绍一款Vue自定义暂无数据组件的开发与实践&#xff0c;深入探讨前端组件化开发的重要性、优势及其在实际项目中的应用。 一、引言 在前端开发中&#xff0…...

《汇编语言 基于x86处理器》- 读书笔记 - Visual Studio 2019 配置 MASM环境

安装 Visual Studio 2019 配置 MASM环境 下载 Visual Studio Installer安装 Visual Studio 20191. 双击运行2. 自定义安装内容3. 修改 MSVC 工具集版本4. 设置主题&#xff08;可选&#xff09;5. 安装代码高亮插件 AsmDude&#xff08;可选&#xff09;6. 通义灵码&#xff08…...

Air780E/Air780EP/Air780EQ/Air201模块遇到死机问题如何分析

Air780E/Air780EP/Air780EQ/Air201模块遇到死机问题如何分析 简介 本文档适用于合宙Air780E、Air780EP、Air780EQ、Air201 关联文档和使用工具&#xff1a; 从Ramdump里分析内存泄漏问题 无法抓底层log的情况下如何导出死机dump Luatools下载调试工具 EPAT抓取底层日志 F…...

吴松洋院长 艺后整形集团专家组特约成员 全方位责任塑美

...

前端经验:使用sheetjs导出CSV文本为excel

应用场景 很多web表格组件没有提供直接的导出excel功能&#xff0c;但提供了导出CSV的功能。 如果能想办法拿到CSV的内容&#xff0c;就可以利用sheetjs生成excel并导出。 实施步骤 1.拿到CSV的内容字符 每种表格组件都有各自的CSV生成方法&#xff0c;不管用什么方法&…...

【nnUNetv2进阶】十五、nnUNetv2 魔改网络-小试牛刀-引入ECA

nnunet使用及改进教程。 【nnUNetv2实践】一、nnUNetv2安装 【nnUNetv2实践】二、nnUNetv2快速入门-训练验证推理集成一条龙教程 【nnUNetv2进阶】三、nnUNetv2 自定义网络-发paper必会-CSDN博客 其他网络改进参考: 【nnUNetv2进阶】四、nnUNetv2 魔改网络-小试牛刀-加入…...

centos(或openEuler系统)安装kafka集群

安装192.168.9.60、192.168.9.61、192.168.9.62这3台kafka集群&#xff08;kraft模式&#xff0c;不用zookeeper&#xff09; 不带密码的 1.每台机器安装kafka&#xff1a; cd /home/kafka wget https://downloads.apache.org/kafka/3.3.1/kafka_2.13-3.3.1.tgz 不通就换这…...

HarmonyOS根据官网写案列~ArkTs从简单地页面开始

Entry Component struct Index {State message: string 快速入门;build() {Column() {Text(this.message).fontSize(24).fontWeight(700).width(100%).textAlign(TextAlign.Start).padding({ left: 16 }).fontFamily(HarmonyHeiTi-Bold).lineHeight(33)Scroll() {Column() {Ba…...

GraphRAG+ollama+LM Studio+chainlit

这里我们进一步尝试将embedding模型也换为本地的&#xff0c;同时熟悉一下流程和学一些新的东西 1.环境还是用之前的&#xff0c;这里我们先下载LLM 然后你会在下载nomic模型的时候崩溃&#xff0c;因为无法搜索&#xff0c;无法下载 解决办法如下lm studio 0.2.24国内下载…...

【中项第三版】系统集成项目管理工程师 | 第 5 章 软件工程② | 5.4 - 5.8

前言 第 5 章对应的内容选择题和案例分析都会进行考查&#xff0c;这一章节属于技术的内容&#xff0c;学习要以教材为准。 目录 5.4 软件实现 5.4.1 软件配置管理 5.4.2 软件编码 5.4.3 软件测试 5.5 部署交付 5.5.1 软件部署 5.5.2 软件交付 5.5.3 持续交付 5.5.4…...

6. dolphinscheduler-3.0.0伪集群部署

环境说明&#xff1a; 主机名&#xff1a;cmc01为例 操作系统&#xff1a;centos7 安装部署软件版本部署方式centos7zookeeperzookeeper-3.4.10伪分布式hadoophadoop-3.1.3伪分布式hivehive-3.1.3-bin伪分布式clickhouse21.11.10.1-2单节点多实例dolphinscheduler3.0.0单节…...

防火墙内容安全综合实验

一、实验拓扑 二、实验要求 1&#xff0c;假设内网用户需要通过外网的web服务器和pop3邮件服务器下载文件和邮件&#xff0c;内网的FTP服务器也需要接受外网用户上传的文件。针对该场景进行防病毒的防护。 2&#xff0c;我们需要针对办公区用户进行上网行为管理&#xff0c;要…...

常见的数据分析用例 —— 信用卡交易欺诈检测

文章目录 引言数据集分析1. 读入数据并快速浏览2.计算欺诈交易占数据集中交易总数的百分比3. 类别不平衡对模型的影响3.1 总体思路&#xff08;1&#xff09;数据的划分&#xff08;2&#xff09;训练模型&#xff08;3&#xff09;测试模型&#xff08;4&#xff09;解决不平衡…...

IP地址:由电脑还是网线决定?

IP地址&#xff1a;由电脑还是网线决定&#xff1f; 在互联网时代&#xff0c;IP地址是我们进行网络通信的基础。然而&#xff0c;对于IP地址究竟是由电脑决定还是由网线决定的问题&#xff0c;不少人可能存在疑惑。本文将从IP地址的定义、分配方式以及影响因素等方面进行探讨…...

如何定位及优化SQL语句的性能

在数据库管理和优化中&#xff0c;定位并解决SQL语句的性能问题是至关重要的。MySQL通过EXPLAIN命令提供了强大的工具来查看SQL语句的执行计划&#xff0c;这是定位性能瓶颈和优化SQL语句的首要步骤。以下是如何利用执行计划来定位及优化SQL语句性能问题的详细指南。 一、使用…...

SentenceTransformers (SBERT)

文章目录 一、关于 SBERT特点预训练模型应用实例 二、安装开发设置 三、入门使用四、训练五、Cross Encoder 一、关于 SBERT 官方文档&#xff1a;https://www.sbert.net/github : https://github.com/UKPLab/sentence-transformerspaper : Sentence-BERT: Sentence Embedding…...

国防科技大学计算机基础课程笔记02信息编码

1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制&#xff0c;因此这个了16进制的数据既可以翻译成为这个机器码&#xff0c;也可以翻译成为这个国标码&#xff0c;所以这个时候很容易会出现这个歧义的情况&#xff1b; 因此&#xff0c;我们的这个国…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)

文章目录 1.什么是Redis&#xff1f;2.为什么要使用redis作为mysql的缓存&#xff1f;3.什么是缓存雪崩、缓存穿透、缓存击穿&#xff1f;3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》

在注意力分散、内容高度同质化的时代&#xff0c;情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现&#xff0c;消费者对内容的“有感”程度&#xff0c;正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中&#xff0…...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命

在华东塑料包装行业面临限塑令深度调整的背景下&#xff0c;江苏艾立泰以一场跨国资源接力的创新实践&#xff0c;重新定义了绿色供应链的边界。 跨国回收网络&#xff1a;废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点&#xff0c;将海外废弃包装箱通过标准…...

在Ubuntu中设置开机自动运行(sudo)指令的指南

在Ubuntu系统中&#xff0c;有时需要在系统启动时自动执行某些命令&#xff0c;特别是需要 sudo权限的指令。为了实现这一功能&#xff0c;可以使用多种方法&#xff0c;包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法&#xff0c;并提供…...

Mac软件卸载指南,简单易懂!

刚和Adobe分手&#xff0c;它却总在Library里给你写"回忆录"&#xff1f;卸载的Final Cut Pro像电子幽灵般阴魂不散&#xff1f;总是会有残留文件&#xff0c;别慌&#xff01;这份Mac软件卸载指南&#xff0c;将用最硬核的方式教你"数字分手术"&#xff0…...

GitHub 趋势日报 (2025年06月08日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

【C语言练习】080. 使用C语言实现简单的数据库操作

080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...

rnn判断string中第一次出现a的下标

# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...

CSS设置元素的宽度根据其内容自动调整

width: fit-content 是 CSS 中的一个属性值&#xff0c;用于设置元素的宽度根据其内容自动调整&#xff0c;确保宽度刚好容纳内容而不会超出。 效果对比 默认情况&#xff08;width: auto&#xff09;&#xff1a; 块级元素&#xff08;如 <div>&#xff09;会占满父容器…...