7.Linux - 安装MySQL、Tomcat、Nginx、RabbitMQ、Redis

Linux - 安装MySQL

文章目录

  • Linux - 安装MySQL
  • 一、MySQL 5.7
    • 1.1 安装
    • 1.2 配置
  • 二、MySQL 8.x
    • 2.1 安装
    • 2.2 配置
  • 三、Tomcat安装
    • 3.1 安装 JDK
    • 3.2 Tomcat(整的不行)
  • 四、Nginx
    • 4.1 安装
  • 五、RabbitMQ
    • 5.1 安装
  • 六、Redis
    • 6.1 安装

一、MySQL 5.7

1.1 安装

我们使用yum install mysql 是无法将数据库安装的,因为yum所连接的远程仓库中并没有我们所要的mysql 5.7

所以我们必须配置一个额外的yum远程仓库

  1. 配置yum仓库

    需要联网才能操作

# 更新秘钥
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022# 安装Mysql yum库 (也就是从网络中获取这个软件包,并且把他安装)
# 我们通过网络去安装这个软件包,就会给我们的yum程序去安装Mysql的样本仓库
rpm -Uvh http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm

image-20240614140630009

image-20240614140709946

rpm软件包,类似Windows系统中的exe

  1. 使用yum安装MySQL

当执行完第一步后,就可以使用yum安装MySQ了

安装MySQL社区版的服务,需要联网操作

yum -y install mysql-community-server

image-20240614145347291

  1. 启动MYSQL,并配置开机自启动

MySQL安装完成后,会自动配置名称叫做:mysqld的服务,可以被systemctl所管理

#启动
systemctl start mysqld
#开机自启
systemctl start mysqld
  1. 检查MySQL的运行状态
systemctl status mysqld

image-20240617112332433

1.2 配置

上面是安装完成,下面开始对MySQL进行初始化

也就是账号、密码、以及远程登录等等

主要配置管理员用户的root的密码以及配置允许远程登录的权限

  1. 获取MySQL的初始密码

/var/log/mysqld.log文件是安装运行过程中所产生的一个日志文件,初始密码会包含在这个文件里面

我们通过gerp命令在文件中过滤一下temporary password关键字

grep 'temporary password' /var/log/mysqld.log

目前MySQL的初始密码是 O!R5/eP#qz0b

image-20240617140413916

  1. 登录MySQL数据库系统
mysql -uroot -p

-u,登录的用户,MySQL数据库的管理员同Linux一样,是root

-p,表示使用密码登录

执行完毕后输入刚刚得到的初始密码,即可进入MySQL数据库

image-20240617140835038

  1. 修改root密码

密码需要符合大于8位,有大写字母,有特殊符号,不能是连续简单的语句,如123

ALTER USER 'root'@'localhost' IDENTIFIED BY '密码';

image-20240617142117427

也可以配置简单的root密码,但是需要降低MySQL的密码安全级别

#密码安全级别低
set global validate_password_policy=LOW; 
#密码长度最低4位
set global validate_password_length=4;#修改密码为简单密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '简单密码';

image-20240617142930856

  1. 配置root用户运行时的远程登录

默认情况下,root用户是不运行远程登录的,只允许在MySQL所在的Linux服务器登录MySQL系统

允许root远程登录会带来安全风险

# 授权root远程登录
# IP地址即允许登录的IP地址,也可以写成%,表示允许任何地址
# 密码表示给远程登录独立设置密码,和本地登录的密码可以不同,看自己的喜好,都是可以的
grant all privileges on *.* to root@"IP地址" identified by '密码' with grant option;# 刷新权限,生效
flush privileges;

image-20240617175237339

  1. 退出MySQL控制台页面
# 命令退出
exit# 快捷键退出
ctrl+d
  1. 检查端口

MySQL默认绑定3306端口,沃恩可以通过端口的占用检查MySQL的端口

 netstat -anp | grep 3306

image-20240617175827579

二、MySQL 8.x

注意!安装操作需要root权限

在配置root密码和远程登录时候和5.7有点不一样

2.1 安装

  1. 配置yum仓库
# 更新秘钥
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022# 安装Mysql yum库 (也就是从网络中获取这个软件包,并且把他安装)
# 我们通过网络去安装这个软件包,就会给我们的yum程序去安装Mysql的样本仓库
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm
  1. 使用yum安装MySQL
# yum安装MySQL
yum -y install mysql-community-server
  1. 安装完成后,启动MySQL并配置开机自启动
#启动
systemctl start mysqld
#开机自启
systemctl enable mysqld
  1. 检查MySQL的运行状态
systemctl status mysqld

2.2 配置

主要修改root密码和允许root远程登录

  1. 获取MySQL的初始密码

/var/log/mysqld.log文件是安装运行过程中所产生的一个日志文件,初始密码会包含在这个文件里面

我们通过gerp命令在文件中过滤一下temporary password关键字

grep 'temporary password' /var/log/mysqld.log
  1. 登录MySQL数据库系统
mysql -uroot -p

-u,登录的用户,MySQL数据库的管理员同Linux一样,是root

-p,表示使用密码登录

执行完毕后输入刚刚得到的初始密码,即可进入MySQL数据库

  1. 修改root密码

密码需要符合大于8位,有大写字母,有特殊符号,不能是连续简单的语句,如123

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';
  1. 配置root的简单密码
#密码安全级别低
set global validate_password_policy=LOW; 
#密码长度最低4位
set global validate_password_length=4;
  1. 允许root远程登录,并设置远程登录密码
#第一次设置root远程登录,并配置远程密码使用如下SQL命令
create user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';#后续修改密码使用如下SQL命令
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
  1. 退出MySQL控制台页面
# 命令退出
exit# 快捷键退出
ctrl+d
  1. 检查端口

MySQL默认绑定3306端口,沃恩可以通过端口的占用检查MySQL的端口

 netstat -anp | grep 3306

image-20240617175827579

三、Tomcat安装

Tomcat是由Apache开发的一个Servlet容器,实现了对Servlet和JSP的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等

简单来说,Tomcat是一个WEB应用程序的托管平台,可以让用户编写的WEB应用程序,被Tomcat所托管,并提供网站服务

即让用户开发的WEB应用程序,变成可以被访问的网页

3.1 安装 JDK

需要JDK版本最低位JDK8或更高的版本

  1. 下载JDK软件

地址:https://www.oracle.com/java/technologies/downloads

我下载的是这个

image-20240618110309408

  1. 将下载完成的包放入到root用户里面

image-20240618110711829

我们发现虚拟机中已经有了这个文件了

image-20240618111057953

  1. 对JDK进行解压缩

首先构建一个文件夹,以后凡是能指定安装目录的软件,我们都放在这个文件夹里

 mkdir -p /export/server

进行解压

tar -zxvf jdk-8u411-linux-x64.tar.gz -C /export/server

切换到对应的目录,发现有这个文件

 cd /export/server

image-20240618111757042

切换到jdk里面去

 cd jdk1.8.0_411/ls -l

image-20240618112012143

里面有一个bin的文件夹,里面存放我们的可执行文件

里面有一个Java程序

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

执行一下“Java”程序,看一下目前的版本

image-20240618155829928

  1. 配置JDK的环境变量
vim /etc/profile

在最下面填写如下所示的内容

export JAVA_HOME=/export/server/jdk1.8.0_411
export PATH=$PATH:$JAVA_HOME/bin

之后进行刷新一下

source /etc/profile

也可以输出看一下

所在的位置

image-20240618160803792

但是现在有一个问题,/usr/bin是系统中Java所在的位置,/export/server/jdk1.8.0_411是我们配置

image-20240618161535383

我们需要将我们的Java替代系统的Java,将系统自带的删除

rm -f /usr/bin/java

帮我们自己安装的Java软连接到/usr/bin

ln -s /export/server/jdk1.8.0_411/bin/java /usr/bin/java

虽然此时which Java的路径没有变,本质是/export/server/jdk1.8.0_411/bin/java

image-20240618163246806

此时再执行以下Java命令,看看有没有反应

java -version

image-20240618163504896

3.2 Tomcat(整的不行)

建议使用非root用户安装并启动

可以创建一个用户:tomcat用以部署

为什么要使用非root用户?

Tomcat是提供网络服务的,可以托管出一个网站,如果tomcat以root用户启动的话,网站此时被别人黑了,别人也相当于拿到root权限了

  1. 放行tomcat需要使用的8080端口的外部访问权限

CentOS系统默认开启了防火墙,阻止外部网络流量访问系统内部

所以如果Tomcat可以正常使用,需要对Tomcat默认使用的8080度那口放行

放行有两种方式

  1. 关闭防火墙
  2. 配置防火墙规则,放行端口
# 方式1
#关闭防火墙
systemctl stop firewalld
#停止防火墙开机自启
systemctl disable firewalld#方式2
#放行8080端口的tcp访问
firewall -cmd -add-port=8080/tcp -permanent
#重新载入防火墙规则使其生效
firewall -cmd --reload
  1. 以root用户操作,创建tomcat用户
#使用root用户操作
useradd tomcat
#可选,为Tomcat用户配置密码,不设置也行
passwd tomcat

image-20240618165725952

  1. 下载Tomcat安装包
# 使用root用户操作
wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.0.27/bin/apache-tomcat-10.0.27.tar.gz
# 如果出现https相关错误,可以使用--no-check-certificate选项
wget --no-check-certificate https://dlcdn.apache.org/tomcat/tomcat-10/v10.0.27/bin/apache-tomcat-10.0.27.tar.gz

也可以在自己电脑上下载后复制到虚拟机中

  1. 解压Tomcat安装包
# 使用root用户操作,否则无权限解压到/export/server内,除非修改此文件夹权限
tar -zxvf apache-tomcat-10.0.27.tar.gz -C /export/server
  1. 创建Tomcat软链接
# 使用root用户操作
ln -s /export/server/apache-tomcat-10.0.27 /export/server/tomcat
  1. 修改tomcat安装目录权限
# 使用root用户操作,同时对软链接和tomcat安装文件夹进行修改,使用通配符*进行匹配
chown -R tomcat:tomcat /export/server/*tomcat*

但是我看视频里是这么操作的

image-20240618171413382

  1. 切换到tomcat用户
su - tomcat
  1. 启动tomcat
/export/server/tomcat/bin/startup.sh
  1. tomcat启动在8080端口,可以检查是否正常启动成功
netstat -anp | grep 8080

image-20221017223814737

10.打开浏览器,输入

http://192.168.101.66:8080

使用主机名(需配置好本地的主机名映射)或IP地址访问Tomcat的WEB页面

image-20221017223915498

四、Nginx

Nginx是一个高性能的HTTP和反向代理的web服务器,同时也提供了MAP/POP3/SMTP服务

同Tomcat一样,Nginx可以托管用户编写的web应用程序成为可访问的网页服务,同时也可以作为流量代理服务器,控制流量的中转

4.1 安装

Nginx同样配置额外的yum仓库,才可以使用yum安装

安装Nginx的操作需要root身份

  1. 安装yum依赖程序
# root执行
yum install -y yum-utils

image-20240620094231943

  1. 手动添加,nginx的yum仓库

之前我们添加仓库是命令添加的,现在需要手动添加一下

yum程序使用的仓库配置文件,存放在:/etc/yum.repos.d内。

下图中repo结尾的文件都是yum仓库的配置

image-20240620094603523

# root执行
# 创建文件使用vim编辑
vim /etc/yum.repos.d/nginx.repo# 填入如下内容并保存退出
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

通过如上操作,我们手动添加了nginx的yum仓库

baseurl记录了一个网站,这个网站就是yum程序使用的,可以从里面找到相应的安装包以及相关的依赖程序

  1. 通过yum安装最新稳定版的nginx
# root执行
yum install -y nginx

image-20240620094958121

  1. 启动
# nginx自动注册了systemctl系统服务
systemctl start nginx		# 启动systemctl stop nginx		# 停止systemctl status nginx		# 运行状态systemctl enable nginx		# 开机自启systemctl disable nginx		# 关闭开机自启

image-20240620095033697

image-20240620095257462

  1. 配置防火墙放行

nginx默认绑定80端口,需要关闭防火墙或放行80端口

# 方式1(推荐),关闭防火墙
systemctl stop firewalld		# 关闭
systemctl disable firewalld		# 关闭开机自启# 方式2,放行80端口
firewall-cmd --add-port=80/tcp --permanent		# 放行tcp规则下的80端口,永久生效
firewall-cmd --reload							# 重新加载防火墙规则
  1. 启动后浏览器输入Linux服务器的IP地址或主机名即可访问

http://192.168.101.66

ps:80端口是访问网站的默认端口,所以后面无需跟随端口号

显示的指定端口也是可以的比如:

  • http://192.168.101.66:80

image-20240620095127601

五、RabbitMQ

5.1 安装

rabbitmq在yum仓库中的版本比较老,所以我们需要手动构建yum仓库

  1. 准备yum仓库
# root执行
# 1. 准备gpgkey密钥
rpm --import https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.ascrpm --import https://packagecloud.io/rabbitmq/erlang/gpgkeyrpm --import https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey# 2. 准备仓库文件
vim /etc/yum.repos.d/rabbitmq.repo
# 填入如下内容
##
## Zero dependency Erlang
##[rabbitmq_erlang]
name=rabbitmq_erlang
baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/$basearch
repo_gpgcheck=1
gpgcheck=1
enabled=1
# PackageCloud's repository key and RabbitMQ package signing key
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkeyhttps://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300[rabbitmq_erlang-source]
name=rabbitmq_erlang-source
baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/SRPMS
repo_gpgcheck=1
gpgcheck=0
enabled=1
# PackageCloud's repository key and RabbitMQ package signing key
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkeyhttps://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300##
## RabbitMQ server
##[rabbitmq_server]
name=rabbitmq_server
baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/7/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
# PackageCloud's repository key and RabbitMQ package signing key
gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkeyhttps://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300[rabbitmq_server-source]
name=rabbitmq_server-source
baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/7/SRPMS
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
  1. 安装RabbitMQ
# root执行
yum install erlang rabbitmq-server -y

erlang是RabbitMQ的源码语言,上面的命令将erlang、RabbitMQ两个程序一次性安装了

image-20240620100813788

Installed:erlang.x86_64 0:23.3.4.11-1.el7           rabbitmq-server.noarch 0:3.10.0-1.el7
  1. 启动
# root执行
# 使用systemctl管控,服务名:rabbitmq-server
systemctl enable rabbitmq-server		# 开机自启systemctl disable rabbitmq-server		# 关闭开机自启systemctl start rabbitmq-server			# 启动systemctl stop rabbitmq-server			# 关闭systemctl status rabbitmq-server		# 查看状态

image-20240620101152143

  1. 放行防火墙,RabbitMQ使用5672、15672、25672 3个端口
# 方式1(推荐),关闭防火墙
systemctl stop firewalld		# 关闭
systemctl disable firewalld		# 关闭开机自启# 方式2,放行5672 25672端口
firewall-cmd --add-port=5672/tcp --permanent		# 放行tcp规则下的5672端口,永久生效
firewall-cmd --add-port=15672/tcp --permanent		# 放行tcp规则下的15672端口,永久生效
firewall-cmd --add-port=25672/tcp --permanent		# 放行tcp规则下的25672端口,永久生效
firewall-cmd --reload								# 重新加载防火墙规则
  1. 启动RabbitMQ的WEB管理控制台
rabbitmq-plugins enable rabbitmq_management

rabbitmq-plugins是我们安装MQ后自带的一个程序,通过他来启动后台

image-20240620101333749

  1. 添加admin用户,并赋予权限
#添加用户 zhangjingqi是密码
rabbitmqctl add_user admin 'zhangjingqi'
#给admin配置最大的权限
rabbitmqctl set_permissions -p "/" "admin" ".*" ".*" ".*"
#给admin设置标签
rabbitmqctl set_user_tags admin administrator

image-20240620101713112

  1. 浏览器打开管理控制台

http://192.168.101.66:15672

image-20240620101731054

六、Redis

6.1 安装

  1. 配置EPEL仓库

EPEL 的全称叫 Extra Packages for Enterprise Linux 。EPEL是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。装上了 EPEL之后,就相当于添加了一个第三方源。EPEL则为服务器版本提供大量的rpm包(yum程序所使用的程序安装包,类似Windows的exe),而且大多数rpm包在官方 repository 中是找不到的。

# root执行
yum install -y epel-release

image-20240620102405993

  1. 安装redis
# root执行
yum install -y redis

image-20240620102505384

  1. 启动redis
# root执行
# 使用systemctl管控,服务名:redis
systemctl enable redis		# 开机自启
systemctl disable redis		# 关闭开机自启
systemctl start redis		# 启动
systemctl stop redis		# 关闭
systemctl status redis		# 查看状态

image-20240620102533675

image-20240620102925055

  1. 放行防火墙,redis使用端口6379
# 方式1(推荐),关闭防火墙
systemctl stop firewalld		# 关闭
systemctl disable firewalld		# 关闭开机自启# 方式2,放行6379端口
firewall-cmd --add-port=6379/tcp --permanent		# 放行tcp规则下的6379端口,永久生效
firewall-cmd --reload	
  1. 进入redis服务
# 执行redis-cli
[root@centos ~]# redis-cli
127.0.0.1:6379> set mykey hello
OK
127.0.0.1:6379> get mykey
"hello"
127.0.0.1:6379> 

image-20240620102551946

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/64418.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python | linux | ModuleNotFoundError: No module named ‘WFlib‘ |找不到模块

问题&#xff1a; (base) beautyby521-7:~/Website-Fingerprinting-Library-master$ bash scripts/NetCLR.sh Traceback (most recent call last):File "/home/beauty/Website-Fingerprinting-Library-master/exp/pretrain.py", line 8, in <module>from WFli…

AI Agent:重塑业务流程自动化的未来力量(2/30)

《AI Agent&#xff1a;重塑业务流程自动化的未来力量》 摘要&#xff1a;整体思路是先介绍 AI Agent 的基本情况&#xff0c;再深入阐述其实现业务流程自动化的方法和在不同领域的应用&#xff0c;接着分析其价值和面临的挑战&#xff0c;最后得出结论&#xff0c;为读者全面…

机器学习之 K-Means

1. 什么是 K-Means&#xff1f; K-Means 是一种常用的无监督学习算法&#xff0c;主要用于聚类分析任务。其目标是将数据集划分为 K 个不同的簇&#xff0c;使得同一簇内的数据点之间的相似性更高&#xff0c;而不同簇的数据点差异更大。K-Means 算法使用了一个简单而有效的迭…

上传文件时获取音视频文件时长和文本文件字数

获取音视频文件时长和文本文件字数 一、获取音视频文件时长二、计算文本文件字数 最近有个需求&#xff0c;要求上传文件时获取音视频文件时长和文本文件字数&#x1f436;。 发现这样的冷门资料不多&#xff0c;特做个记录。本文忽略文件上传功能&#xff0c;只封装核心的工具…

【AIGC】与模型对话:理解与预防ChatGPT中的常见误解

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: AIGC | ChatGPT 文章目录 &#x1f4af;前言&#x1f4af;模型的工作原理和用户期望差异人工智能模型的基本工作原理认知上的局限与误解用户期望与模型实际能力的差距精确理解用户意图的重要性实际应用中的建议 &…

AI视频配音技术创新应用与商业机遇

随着人工智能技术的飞速发展&#xff0c;AI视频配音技术已经成为内容创作者和营销人员的新宠。这项技术不仅能够提升视频内容的吸引力&#xff0c;还能为特定行业带来创新的解决方案。本文将探讨AI视频配音技术的应用场景&#xff0c;并讨论如何合法合规地利用这一技术。 AI视频…

信创改造-Spring Boot 项目部署至 TongWeb

打 war 包参考&#xff1a;https://blog.csdn.net/z1353095373/article/details/144330999

JAVA:代理模式(Proxy Pattern)的技术指南

1、简述 代理模式(Proxy Pattern)是一种结构型设计模式,用于为其他对象提供一种代理,以控制对这个对象的访问。通过代理模式,我们可以在不修改目标对象代码的情况下扩展功能,满足特定的需求。 设计模式样例:https://gitee.com/lhdxhl/design-pattern-example.git 2、什…

【C++】set和map的使用

set和map的使用 1.序列式容器和关联式容器1.1序列式容器:1.2关联式式容器: 2.set的使用2.1set和multiset参考文档2.2set类的介绍2.3set的构造和迭代器2.4set的增删查2.5multiset和set的差异 3map系列的使用3.1 map和multimap参考文档3.2map类的介绍3.3pair类型介绍3.4map的构造…

[LeetCode-Python版]206. 反转链表(迭代+递归两种解法)

题目 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[5,4,3,2,1] 示例 2&#xff1a; 输入&#xff1a;head [1,2] 输出&#xff1a;[2,1] 示例 3&#xff1…

快速上手Neo4j图关系数据库

参考视频&#xff1a; 【IT老齐589】快速上手Neo4j网状关系图库 1 Neo4j简介 Neo4j是一个图数据库&#xff0c;是知识图谱的基础 在Neo4j中&#xff0c;数据的基本构建块包括&#xff1a; 节点(Nodes)关系(Relationships)属性(Properties)标签(Labels) 1.1 节点(Nodes) 节点…

window.getSelection() 获取划线内容并实现 dom 追随功能

功能&#xff1a;鼠标对一段文本中某些文字进行划线之后&#xff0c;需要在当前划线文本处出现一个功能按钮显示对划线内容进行操作&#xff0c;比如收藏、添加样本库等功能。 一、需要了解的鼠标事件对象属性 给 dom 元素注册鼠标事件之后&#xff0c;会有 event 属性&#…

2024安装hexo和next并部署到github和服务器最新教程

碎碎念 本来打算写点算法题上文所说的题目&#xff0c;结果被其他事情吸引了注意力。其实我之前也有过其他博客网站&#xff0c;但因为长期不维护&#xff0c;导致数据丢失其实是我懒得备份。这个博客现在部署在GitHub Pages上&#xff0c;github不倒&#xff0c;网站不灭&…

Chinese-Clip实现以文搜图和以图搜图

本文不生产技术&#xff0c;只做技术的搬运工&#xff01; 前言 目前网上能够找到的资料有限&#xff0c;要么收费&#xff0c;要么配置复杂&#xff0c;作者主打一个一毛不拔&#xff0c;决定自己动手实现一个&#xff0c;功能清单受启发于Nidia AI lab实验室的nanodb项目&am…

Abaqus混凝土梁三点弯曲开裂模拟基于随机多边形骨料及界面过渡区模型

在细观混凝土开裂研究中&#xff0c;仿真可直观揭示混凝土中多相材料的破坏特征及微观裂缝的发展规律。本案例建立包含随机多边形粗骨料、界面过渡区&#xff08;ITZ&#xff09;及水泥砂浆在内的细观混凝土梁二维模型&#xff0c;对混凝土梁在三点弯曲工况下进行有限元模拟&am…

Qt之修改窗口标题、图标以及自定义标题栏(九)

Qt开发 系列文章 - titles-icons-titlebars&#xff08;九&#xff09; 目录 前言 一、修改标题 二、添加图标 三、更换标题栏 1.效果演示 2.创建标题栏类 3.定义相关函数 4.使用标题栏类 总结 前言 在我们利用Qt设计软件时&#xff0c;经常需要修改窗口标题、更改软…

渗透测试之js利用

引言 在渗透测试中&#xff0c;js利用是一个非常重要的部分&#xff0c;作为一个网络安全人员&#xff0c;我也是经常利用到这一模块&#xff0c;首先&#xff0c;js是什么呢 什么是js JavaScript(简称js)&#xff0c;javascript和java虽然名字相似&#xff0c;但两个东西却…

请确保 $(OutDir)、$(TargetName) 和 $(TargetExt) 属性值与 %(Link.OutputFile) 中指定的值匹配

vs版本升级时&#xff0c;编译时会出现上述问题&#xff0c;如原来在2017下编译的程序&#xff0c;后来改用2019&#xff0c;出现上述问题。需要在解决方案-通用属性-调试源文件下变更相应设置。

Airbus结构数字样机理念及实践(转)

关注作者 1、数字样机的背景 早期的设计文档通过二维工程图来描述&#xff0c;对工程师来说&#xff0c;绘制工程图足够表达设计思想&#xff0c;工程图成为了标准的“工程师语言”。但是外围的用户通常通过透视图来表达设计意图&#xff0c;不得不产生了大量针对不同教育背景…

ik分词器了解 和 通过zip安装包的方式 将ik分词器安装到elasticsearch中

目录 1. ik分词器的作用&#xff08;效果&#xff09; &#xff08;1&#xff09;标准分析器效果 &#xff08;2&#xff09;ik_smart分词 &#xff08;3&#xff09;ik_max_word分词 2. 首先根据自己的elasticsearch的版本下载对应的ik分词器版本 3. 将下载好的ik分词器…