实战章节:在Linux上部署各类软件
详细资料见文章的资源绑定
一、前言
1.1 为什么学习各类软件在Linux上的部署
在前面,我们学习了许多的Linux命令和高级技巧,这些知识点比较零散,同学们跟随着课程的内容进行练习虽然可以基础掌握这些命令和技巧的使用,但是并没有一些具体的实操能够串联起来这些知识点。
所以,现在我们设计了各类软件在Linux上部署安装的实战章节,可以让同学们:
-
对前面学习的各类操作命令进行复习和练习,从而深度掌握它们
-
本章节中演示部署的软件,包含了IT行业各类岗位中所必须使用的,如:Java后台、大数据开发、运维开发、测试、AI等。无论学习Linux后从事什么岗位,这些内容都会给你带来帮助
对于零基础学员,实战课程中所讲解的软件大概率多数大家并不了解。
所以,课程仅涉及到安装部署,不对软件的使用做详细说明。
同学们在这个过程中,可能会遇到各种各样的错误,
不要怕
,解决它,将会给你带来极大的提升。
1.2 学习目标
对于本部分的内容学习,我们设计两个目标:
-
对于零基础或未从业的学员,不要求深入理解所安装部署的软件是什么,仅仅能够跟随课程成功的将其部署安装并运行成功即可
在这个过程中,主要锻炼大家对Linux操作系统的熟练度,此乃零基础未从业学员的第一学习目标
-
对于有基础或已从业的学员,本章节讲解的软件涵盖了大多数IT从业者所能接触到的,特别是大数据开发、后端开发两个主流方向,可以作为参考资料,以便在工作中有所帮助。
二、MySQL数据库管理系统安装部署【简单】
MySQL数据库管理系统(后续简称MySQL),是一款知名的数据库系统,其特点是:轻量、简单、功能丰富。
MySQL数据库可谓是软件行业的明星产品,无论是后端开发、大数据、AI、运维、测试等各类岗位,基本上都会和MySQL打交道。
让我们从MySQL开始,进行实战的Linux软件安装部署。
本次课程分为2个版本进行安装:
-
MySQL 5.7版本安装
-
MySQL 8.x版本安装
由于MySQL5.x和8.x各自有许多使用者,所以这两个版本我们都演示安装一遍
2.1 MySQL5.7版本在CentOS系统安装
注意:安装操作需要root权限
MySQL的安装我们可以通过前面学习的yum命令进行。
2.1.1 安装
1.配置yum仓库
# 更新密钥
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022# 安装Mysql yum库
rpm -Uvh http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm
由于MySQL并不在CentOS的官方仓库中,所以我们通过上述rpm命令:
-
导入MySQL仓库的密钥
-
配置MySQLQ的yum仓库
2.使用yum安装MySQL
# yum安装Mysql
yum -y install mysql-community-server
3.安装完成后,启动MySQL并配置开机自启动
systemctl start mysqld # 启动
systemctl enable mysqld # 开机自启
MySQL安装完成后,会自动配置为名称叫做:
mysqld
的服务,可以被systemctl所管理
4.检查MySQL的运行状态
systemctl status mysqld
2.1.2 配置
主要配置管理员用户root的密码以及配置允许远程登录的权限。
1.获取MySQL的初始密码
# 通过grep命令,在/var/log/mysqld.log文件中,过滤temporary password关键字,得到初始密码
grep 'temporary password' /var/log/mysqld.log
2.登陆MySQL数据库系统
# 执行
mysql -uroot -p
# 解释
# -u,登陆的用户,MySQL数据库的管理员用户同Linux一样,是root
# -p,表示使用密码登陆# 执行完毕后输入刚刚得到的初始密码,即可进入MySQL数据库
3.修改root用户密码
# 在MySQL控制台内执行
ALTER USER 'root'@'localhost' IDENTIFIED BY '密码'; -- 密码需要符合:大于8位,有大写字母,有特殊符号,不能是连续的简单语句如123,abc
4.[扩展],配置root的简单密码
我们可以给root设置简单密码,如123456.
请注意,此配置仅仅是用于测试环境或学习环境的MySQL,如果是正式使用,请勿设置简单密码
# 如果你想设置简单密码,需要降低Mysql的密码安全级别
set global validate_password_policy=LOW; # 密码安全级别低
set global validate_password_length=4; # 密码长度最低4位即可# 然后就可以用简单密码了(课程中使用简单密码,为了方便,生产中不要这样)
ALTER USER 'root'@'localhost' IDENTIFIED BY '简单密码';
5.[扩展],配置root运行远程登录
默认情况下,root用户是不运行远程登录的,只允许在MySQL所在的Linux服务器登陆MySQL系统
请注意,允许root远程登录会带来安全风险
# 授权root远程登录
grant all privileges on *.* to root@"IP地址" identified by '密码' with grant option;
# IP地址即允许登陆的IP地址,也可以填写%,表示允许任何地址
# 密码表示给远程登录独立设置密码,和本地登陆的密码可以不同# 刷新权限,生效
flush privileges;
6.退出MySQL控制台页面
# 退出命令
exit# 或者通过快捷键退出:ctrl + d
7.检查端口
MySQL默认绑定了3306端口,可以通过端口占用检查MySQL的网络状态
netstat -anp | grep 3306
至此,MySQL就安装完成并可用了,请妥善保存好MySQL的root密码。
2.2 MySQL8.0版本在CentOS系统安装
注意:安装操作需要root权限
2.2.1 安装
1.配置yum仓库
# 更新密钥
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022# 安装Mysql8.x版本 yum库
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm
2.使用yum安装MySQL
# yum安装Mysql
yum -y install mysql-community-server
3.安装完成后,启动MySQL并配置开机自启动
systemctl start mysqld # 启动
systemctl enable mysqld # 开机自启
MySQL安装完成后,会自动配置为名称叫做:
mysqld
的服务,可以被systemctl所管理
4.检查MySQL的运行状态
systemctl status mysqld
2.2.1 配置
主要修改root密码和允许root远程登录
1.获取MySQL的初始密码
# 通过grep命令,在/var/log/mysqld.log文件中,过滤temporary password关键字,得到初始密码
grep 'temporary password' /var/log/mysqld.log
2.登录MySQL数据库系统
# 执行
mysql -uroot -p
# 解释
# -u,登陆的用户,MySQL数据库的管理员用户同Linux一样,是root
# -p,表示使用密码登陆# 执行完毕后输入刚刚得到的初始密码,即可进入MySQL数据库
3.修改root密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码'; -- 密码需要符合:大于8位,有大写字母,有特殊符号,不能是连续的简单语句如123,abc
4.[扩展],配置root的简单密码
我们可以给root设置简单密码,如123456.
请注意,此配置仅仅是用于测试环境或学习环境的MySQL,如果是正式使用,请勿设置简单密码
set global validate_password.policy=0; # 密码安全级别低
set global validate_password.length=4; # 密码长度最低4位即可
5.允许root远程登录,并设置远程登录密码
默认情况下,root用户是不运行远程登录的,只允许在MySQL所在的Linux服务器登陆MySQL系统
请注意,允许root远程登录会带来安全风险
# 第一次设置root远程登录,并配置远程密码使用如下SQL命令
create user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码!'; -- 密码需要符合:大于8位,有大写字母,有特殊符号,不能是连续的简单语句如123,abc# 后续修改密码使用如下SQL命令
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
6.退出MySQL控制台页面
# 退出命令
exit# 或者通过快捷键退出:ctrl + d
7.检查端口
MySQL默认绑定了3306端口,可以通过端口占用检查MySQL的网络状态
netstat -anp | grep 3306
至此,MySQL就安装完成并可用了,请妥善保存好MySQL的root密码。
2.3MySQL5.7版本在Ubuntu(WSL环境)系统安装
课程中配置的WSL环境是最新的Ubuntu22.04版本,这个版本的软件商店内置的MySQL是8.0版本
所以我们需要额外的步骤才可以安装5.7版本的MySQL
安装操作需root权限,你可以:
-
通过 sudo su -,切换到root用户
课程中选择这种方式操作
-
或在每一个命令前,加上sudo,用来临时提升权限
2.3.1 安装
-
下载apt仓库文件
# 下载apt仓库的安装包,Ubuntu的安装包是.deb文件 wget https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb
-
配置apt仓库
# 使用dpkg命令安装仓库 dpkg -i mysql-apt-config_0.8.12-1_all.deb
弹出框中选择:
ubuntu bionic
(Ubuntu18.04系统的代号是bionic,选择18.04的版本库用来安装)弹出框中选择:
MySQL Server & Cluster
弹出框中选择:
mysql-5.7
最后选择:
ok
-
更新apt仓库的信息
# 首先导入仓库的密钥信息 apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 467B942D3A79BD29 # 更新仓库信息 apt update
-
检查是否成功配置MySQL5.7的仓库
apt-cache policy mysql-server
看到如图所示字样,即成功
-
安装MySQL5.7
# 使用apt安装mysql客户端和mysql服务端 apt install -f -y mysql-client=5.7* mysql-community-server=5.7*
弹出框中输入root密码并选择ok,密码任意,课程中以123456代替
再次输入root密码确认
-
启动MySQL
/etc/init.d/mysql start # 启动 /etc/init.d/mysql stop # 停止 /etc/init.d/mysql status # 查看状态
-
对MySQL进行初始化
-
输入密码:
-
是否开启密码验证插件,如果需要增强密码安全性,输入
y
并回车,不需要直接回车(课程中选择直接回车) -
是否更改root密码,需要输入
y
回车,不需要直接回车(课程不更改) -
是否移除匿名用户,移除输入
y
回车,不移除直接回车(课程选择移除) -
是否进制root用户远程登录,禁止输入
y
回车,不禁止直接回车(课程选择不禁止) -
是否移除自带的测试数据库,移除输入
y
回车,不移除直接回车(课程选择不移除) -
是否刷新权限,刷新输入
y
回车,不刷新直接回车(课程选择刷新)
-
-
# 执行如下命令,此命令是MySQL安装后自带的配置程序 mysql_secure_installation # 可以通过which命令查看到这个自带程序所在的位置 root@DESKTOP-Q89USRE:~# which mysql_secure_installation /usr/bin/mysql_secure_installation
-
登陆MySQL
mysql -uroot -p # 输入密码即可登陆成功
至此,在Ubuntu上安装MySQL5.7版本成功。
2.4MySQL8.0版本在Ubuntu(WSL环境)系统安装
课程中配置的WSL环境是最新的Ubuntu22.04版本,这个版本的软件商店内置的MySQL是8.0版本
所以直接可以通过apt安装即可
注意,课程是以WSL获得的Ubuntu操作系统环境。
如果你通过VMware虚拟机的方式获得了Ubuntu操作系统环境,操作步骤不用担心,和课程中使用WSL环境是完全一致的
安装操作需root权限,你可以:
-
通过 sudo su -,切换到root用户
课程中选择这种方式操作
-
或在每一个命令前,加上sudo,用来临时提升权限
2.4.1 安装
-
如果已经安装过MySQL5.7版本,需要卸载仓库信息哦
# 卸载MySQL5.7版本 apt remove -y mysql-client=5.7* mysql-community-server=5.7* # 卸载5.7的仓库信息 dpkg -l | grep mysql | awk '{print $2}' | xargs dpkg -P
-
更新apt仓库信息
apt update
-
安装mysql
apt install -y mysql-server
-
启动MySQL
/etc/init.d/mysql start # 启动 /etc/init.d/mysql stop # 停止 /etc/init.d/mysql status # 查看状态
-
登陆MySQL设置密码
# 直接执行:mysql mysql
-
设置密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
-
退出MySQL控制台
exit
-
对MySQL进行初始化
# 执行如下命令,此命令是MySQL安装后自带的配置程序 mysql_secure_installation # 可以通过which命令查看到这个自带程序所在的位置 root@DESKTOP-Q89USRE:~# which mysql_secure_installation /usr/bin/mysql_secure_installation
-
输入密码:
-
是否开启密码验证插件,如果需要增强密码安全性,输入
y
并回车,不需要直接回车(课程中选择直接回车) -
是否更改root密码,需要输入
y
回车,不需要直接回车(课程不更改) -
是否移除匿名用户,移除输入
y
回车,不移除直接回车(课程选择移除) -
是否进制root用户远程登录,禁止输入
y
回车,不禁止直接回车(课程选择不禁止) -
是否移除自带的测试数据库,移除输入
y
回车,不移除直接回车(课程选择不移除) -
是否刷新权限,刷新输入
y
回车,不刷新直接回车(课程选择刷新)
-
-
重新登陆MySQL(用更改后的密码)
mysql -uroot -p
至此,在Ubuntu上安装MySQL8.0版本成功。
三、Tomcat安装部署【简单】
3.1 简介
Tomcat 是由 Apache 开发的一个 Servlet 容器,实现了对 Servlet 和 JSP 的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。
简单来说,Tomcat是一个WEB应用程序的托管平台,可以让用户编写的WEB应用程序,被Tomcat所托管,并提供网站服务。
即让用户开发的WEB应用程序,变成可以被访问的网页。
3.2 安装
Tomcat的安装非常简单,主要分为2部分:
-
安装JDK环境
-
解压并安装Tomcat
本次安装使用Tomcat版本是:10.0.27版本,需要Java(JDK)版本最低为JDK8或更高版本
课程中使用的JDK版本是:JDK8u351版本
3.2.1 安装JDK环境
-
下载JDK软件
Java Downloads | Oracle
在页面下方找到:
下载
jdk-8u351-linux-x64.tar.gz
在弹出的页面中输入Oracle的账户密码即可下载(如无账户,请自行注册,注册是免费的)
-
登陆Linux系统,切换到root用户
-
通过FinalShell,上传下载好的JDK安装包
-
创建文件夹,用来部署JDK,将JDK和Tomcat都安装部署到:/export/server 内
mkdir -p /export/server
-
解压缩JDK安装文件
tar -zxvf jdk-8u351-linux-x64.tar.gz -C /export/server
-
配置JDK的软链接
ln -s /export/server/jdk1.8.0_351 /export/server/jdk
-
配置JAVA_HOME环境变量,以及将$JAVA_HOME/bin文件夹加入PATH环境变量中
# 编辑/etc/profile文件 export JAVA_HOME=/export/server/jdk export PATH=$PATH:$JAVA_HOME/bin
-
生效环境变量
source /etc/profile
-
配置java执行程序的软链接
# 删除系统自带的java程序 rm -f /usr/bin/java # 软链接我们自己安装的java程序 ln -s /export/server/jdk/bin/java /usr/bin/java
-
执行验证:
java -version javac -version
3.2.2 解压并部署Tomcat
Tomcat建议使用非Root用户安装并启动
可以创建一个用户:tomcat用以部署
-
首先,放行tomcat需要使用的8080端口的外部访问权限
CentOS系统默认开启了防火墙,阻止外部网络流量访问系统内部
所以,如果想要Tomcat可以正常使用,需要对Tomcat默认使用的8080端口进行放行
放行有2种操作方式:
-
关闭防火墙
-
配置防火墙规则,放行端口
# 以下操作2选一即可 # 方式1:关闭防火墙 systemctl stop firewalld # 关闭防火墙 systemctl disable firewalld # 停止防火墙开机自启 # 方式2:放行8080端口的外部访问 firewall-cmd --add-port=8080/tcp --permanent # --add-port=8080/tcp表示放行8080端口的tcp访问,--permanent表示永久生效 firewall-cmd --reload # 重新载入防火墙规则使其生效
方便起见,建议同学们选择方式1,直接关闭防火墙一劳永逸
防火墙的配置非常复杂,后面会视情况独立出一集防火墙配置规则的章节。
-
-
以root用户操作,创建tomcat用户
# 使用root用户操作 useradd tomcat # 可选,为tomcat用户配置密码 passwd tomcat
-
下载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
如果Linux内下载过慢,可以复制下载链接在Windows系统中使用迅雷等软件加速下载然后上传到Linux内即可
或者使用课程资料中提供的安装包
-
解压Tomcat安装包
# 使用root用户操作,否则无权限解压到/export/server内,除非修改此文件夹权限 tar -zxvf apache-tomcat-10.0.27.tar.gz -C /export/server
-
创建Tomcat软链接
# 使用root用户操作 ln -s /export/server/apache-tomcat-10.0.27 /export/server/tomcat
-
修改tomcat安装目录权限
# 使用root用户操作,同时对软链接和tomcat安装文件夹进行修改,使用通配符*进行匹配 chown -R tomcat:tomcat /export/server/*tomcat*
-
切换到tomcat用户
su - tomcat
-
启动tomcat
/export/server/tomcat/bin/startup.sh
-
tomcat启动在8080端口,可以检查是否正常启动成功
netstat -anp | grep 8080
-
打开浏览器,输入:
http://centos:8080或http://192.168.88.130:8080
使用主机名(需配置好本地的主机名映射)或IP地址访问Tomcat的WEB页面
至此,Tomcat安装配置完成。
四、Nginx安装部署【简单】
4.1 简介
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。
同Tomcat一样,Nginx可以托管用户编写的WEB应用程序成为可访问的网页服务,同时也可以作为流量代理服务器,控制流量的中转。
Nginx在WEB开发领域,基本上也是必备组件之一了。
4.2 安装
Nginx同样需要配置额外的yum仓库,才可以使用yum安装
安装Nginx的操作需要root身份
-
安装yum依赖程序
# root执行 yum install -y yum-utils
-
手动添加,nginx的yum仓库
yum程序使用的仓库配置文件,存放在:
/etc/yum.repo.d
内。# 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仓库
-
通过yum安装最新稳定版的nginx
# root执行 yum install -y nginx
-
启动
# nginx自动注册了systemctl系统服务 systemctl start nginx # 启动 systemctl stop nginx # 停止 systemctl status nginx # 运行状态 systemctl enable nginx # 开机自启 systemctl disable nginx # 关闭开机自启
-
配置防火墙放行
nginx默认绑定80端口,需要关闭防火墙或放行80端口
# 方式1(推荐),关闭防火墙 systemctl stop firewalld # 关闭 systemctl disable firewalld # 关闭开机自启 # 方式2,放行80端口 firewall-cmd --add-port=80/tcp --permanent # 放行tcp规则下的80端口,永久生效 firewall-cmd --reload # 重新加载防火墙规则
-
启动后浏览器输入Linux服务器的IP地址或主机名即可访问
http://192.168.88.130 或 http://centos
ps:80端口是访问网站的默认端口,所以后面无需跟随端口号
显示的指定端口也是可以的比如:
-
http://192.168.88.130:80
-
http://centos:80
-
至此,Nginx安装配置完成。
五、RabbitMQ安装部署【简单】
5.1 简介
RabbitMQ一款知名的开源消息队列系统,为企业提供消息的发布、订阅、点对点传输等消息服务。
RabbitMQ在企业开发中十分常见,课程为大家演示快速搭建RabbitMQ环境。
5.2 安装
rabbitmq在yum仓库中的版本比较老,所以我们需要手动构建yum仓库
-
准备yum仓库
# root执行 # 1. 准备gpgkey密钥 rpm --import https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc rpm --import https://packagecloud.io/rabbitmq/erlang/gpgkey rpm --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
-
安装RabbitMQ
# root执行 yum install erlang rabbitmq-server -y
Installed:erlang.x86_64 0:23.3.4.11-1.el7 rabbitmq-server.noarch 0:3.10.0-1.el7
-
启动
# root执行 # 使用systemctl管控,服务名:rabbitmq-server systemctl enable rabbitmq-server # 开机自启 systemctl disable rabbitmq-server # 关闭开机自启 systemctl start rabbitmq-server # 启动 systemctl stop rabbitmq-server # 关闭 systemctl status rabbitmq-server # 查看状态
-
放行防火墙,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 # 重新加载防火墙规则
-
启动RabbitMQ的WEB管理控制台
rabbitmq-plugins enable rabbitmq_management
-
添加admin用户,并赋予权限
rabbitmqctl add_user admin 'Itheima66^' rabbitmqctl set_permissions -p "/" "admin" ".*" ".*" ".*" rabbitmqctl set_user_tags admin administrator
-
浏览器打开管理控制台
http://192.168.88.130:15672
至此,RabbitMQ已经安装完成了。
六、Redis安装部署【简单】
6.1 简介
redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库。
redis的特点就是:快
,可以基于内存存储数据并提供超低延迟、超快的检索速度
一般用于在系统中提供快速缓存的能力。
6.2 安装
-
配置
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
-
安装redis
# root执行 yum install -y redis
-
启动redis
# root执行 # 使用systemctl管控,服务名:redis systemctl enable redis # 开机自启 systemctl disable redis # 关闭开机自启 systemctl start redis # 启动 systemctl stop redis # 关闭 systemctl status redis # 查看状态
-
放行防火墙,redis使用端口6379
# 方式1(推荐),关闭防火墙 systemctl stop firewalld # 关闭 systemctl disable firewalld # 关闭开机自启 # 方式2,放行6379端口 firewall-cmd --add-port=6379/tcp --permanent # 放行tcp规则下的6379端口,永久生效 firewall-cmd --reload
-
进入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>
至此,redis安装完成。
七ElasticSearch安装部署
7.1 简介
全文搜索属于最常见的需求,开源的 Elasticsearch (以下简称 es)是目前全文搜索引擎的首选。
它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github 都采用它。
Elasticsearch简称es,在企业内同样是一款应用非常广泛的搜索引擎服务。
很多服务中的搜索功能,都是基于es来实现的。
7.2 安装
-
添加yum仓库
# root执行 # 导入仓库密钥 rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch # 添加yum源 # 编辑文件 vim /etc/yum.repos.d/elasticsearch.repo [elasticsearch-7.x] name=Elasticsearch repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md # 更新yum缓存 yum makecache
-
安装es
yum install -y elasticsearch
-
配置es
vim /etc/elasticsearch/elasticsearch.yml # 17行,设置集群名称 cluster.name: my-cluster # 23行,设置节点名称 node.name: node-1 # 56行,允许外网访问 network.host: 0.0.0.0 # 74行,配置集群master节点 cluster.initial_master_nodes: ["node-1"]
-
启动es
systemctl start | stop | status | enable | disable elasticsearch
-
关闭防火墙
systemctl stop firewalld systemctl disable firewalld
-
测试
浏览器打开:http://ip:9200/?pretty
相关文章:

实战章节:在Linux上部署各类软件
详细资料见文章的资源绑定 一、前言 1.1 为什么学习各类软件在Linux上的部署 在前面,我们学习了许多的Linux命令和高级技巧,这些知识点比较零散,同学们跟随着课程的内容进行练习虽然可以基础掌握这些命令和技巧的使用,但是并没…...

铭飞CMS list 接口 SQL注入漏洞复现
0x01 产品简介 铭飞CMS是一款基于java开发的一套轻量级开源内容管理系统,铭飞CMS简洁、安全、开源、免费,可运行在Linux、Windows、MacOSX、Solaris等各种平台上,专注为公司企业、个人站长快速建站提供解决方案 0x02 漏洞概述 铭飞CMS在5.2.10版本以前list 接口处存在sql注入…...

Linux指令初始
1.ls指令 语法 : ls [ 选项 ][ 目录或文件 ] 功能 :对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。 ls 常用:-a 列出目录下的所有文件,包括以 . 开头的隐含文件。 …...
Nginx命令---启动nginx
介绍 使用命令启动nginx。 命令 nginx目录/bin/nginx...

【UE5】监控摄像头效果(下)
目录 效果 步骤 一、多摄像机视角切换 二、摄像头自动旋转巡视 三、摄像头跟踪拍摄 效果 步骤 一、多摄像机视角切换 1. 打开玩家控制器“MyPlayerController”,添加一个变量,命名为“BP_SecurityCameraArray”,类型为“BP_SecurityCa…...

binkw32.dll丢失怎么办?这5个方法都可以解决binkw32.dll丢失问题
binkw32.dll文件是什么? binkw32.dll是一个动态链接库文件,它是Windows操作系统中的一个重要组件。它包含了许多用于处理多媒体文件的函数和资源,如视频、音频等。当我们在电脑上打开或播放某些多媒体文件时,系统会调用binkw32.d…...

C语言-每日刷题练习
[蓝桥杯 2013 省 B] 翻硬币 题目背景 小明正在玩一个“翻硬币”的游戏。 题目描述 桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零),比如可能情形是 **oo***oooo,如果…...

Qt设置类似于qq登录页面(ikun)
头文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QWindow> #include <QIcon> #include <QLabel> #include <QMovie> #include <QLineEdit> #include <QPushButton>QT_BEGIN_NAMESPACE namespace Ui { class…...

Qt 如何使用VTK显示点云
开发环境 ubuntu 20.04 VTK 8.2 编译VTK 下载源码 git clone --recursive https://gitlab.kitware.com/vtk/vtk.git 使用版本管理工具,切换版本到8.2 更改编译选项,这里使用cmake-gui进行配置 1、编译类型修改为Release 2、安装路径可以设置…...

Ganache结合内网穿透实现远程或不同局域网进行连接访问
文章目录 前言1. 安装Ganache2. 安装cpolar3. 创建公网地址4. 公网访问连接5. 固定公网地址 前言 Ganache 是DApp的测试网络,提供图形化界面,log日志等;智能合约部署时需要连接测试网络。 Ganache 是一个运行在本地测试的网络,通过结合cpol…...

Qt槽函数不响应不执行的一种原因:ui提升导致重名
背景: 一个包含了组件提升的ui,有个按钮的槽函数就是不响应,于是找原因。 分析: 槽函数的对应一是通过connect函数绑定信号,二是on_XXX_signal的命名方式。界面上部件的槽函数通常是第二种。 我反复确认细节&#…...

vuepress路径问题,导致图片不显示
图片不显示,报 Uncaught SyntaxError: Unexpected token <错误 很可能就是:路径配置原因 1.当设置为 / 时,VuePress 会假设你的站点将部署到服务器的根路径, 例如 https://yourdomain.com/。 2.生成的页面链接和资源引用将以…...

QT 重定向qdebug输出到自绘界面
因为在嵌入式中调试qt需要查看输出信息,特意写了一个类用户便捷查看qdebug信息 界面如下: 提供了开始,停止,保存,清空,退出功能,具体代码下文给出 文件如下 #ifndef QDEBUGREDIRECT_H #define QDEBUGREDIRECT_H /**qdebug 重定向类 定向到界面控件*李吉磊 2023.12.7* */#in…...

前端(一):HTML+CSS
参考课程:23最新版web前端开发_哔哩哔哩_bilibili 文档:GitHub - codeNiuMa/HTML-md-file: 学习HTML课程时的资料 目录 1 HTML 1.1 骨架 DOCTYPE html标签 head标签 body标签 title标签 meta标签 1.2 标签标题h1 1.3 段落p 1.4 水平线 1.5 图片img 1.6 …...

如何使用Matlab完成窗口与子窗口
目录 一、前言 二、主窗口与主窗口按钮 三、子窗口 四、调用函数并显示在子窗口中的文本框中 五、关闭子窗口 一、前言 有时候需要借用Matlab完成一个图窗功能,但是我们的程序不仅拥有功能,还拥有一些子功能,那么我们该如何借助Matlab完…...
Threejs之相机基础
参考资料 正投影相机…相机控件MapControls 知识点 注:基于Three.jsv0.155.0 正投影相机正投影相机-Canvas尺寸变化包围盒Box3地图案例(包围盒、正投影)相机动画(.position和.lookAt())不同方向的投影视图旋转渲染结果(.up相机上方向)管道漫游案例OrbitControls…...

2024SIA上海国际轴承工业展览会 ▎参行业盛会 展轴研风采
2024SIA上海国际轴承工业展览会 内容:1、轴承制品展区:2、轴承设备展区:3、轴承零件展区: 国际轴承展丨轴承工业展丨轴承装备展丨上海轴承展丨上海轴承工业展丨上海轴承装备展 2024上海国际轴承工业展览会将会于2024年7月24-26日…...
SQLMap介绍
预计更新SQL注入概述 1.1 SQL注入攻击概述 1.2 SQL注入漏洞分类 1.3 SQL注入攻击的危害 SQLMap介绍 2.1 SQLMap简介 2.2 SQLMap安装与配置 2.3 SQLMap基本用法 SQLMap进阶使用 3.1 SQLMap高级用法 3.2 SQLMap配置文件详解 3.3 SQLMap插件的使用 SQL注入漏洞检测 4.1 SQL注入…...

平头哥玄铁系列 RISC-V 芯片及开发板
1、玄铁 9 系列概述 玄铁 8 系列 基于C-SKY架构,玄铁 9 系列基于 RISC-V 架构。E 系列为 RISC-V 32 位,C 系列为 RISC-V 64 位。 E902:超低功耗 RSIC-V 架构处理器 E902 采用 2 级极简流水线兼容 RISC-V 架构且对执行效率等方面进行了增强&a…...
Android 删除浏览器导航页面修改默认主页
Android 删除浏览器导航页面修改默认主页 近来收到客户需求反馈,需要删除浏览器导航页面并将百度设置为默认主页,具体修改参照如下: 删除浏览器导航页面: /vendor/mediatek/proprietary/packages/apps/Browser/src/com/android…...
synchronized 学习
学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...
【Java学习笔记】Arrays类
Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...

3.3.1_1 检错编码(奇偶校验码)
从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力
引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...
Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理
引言 Bitmap(位图)是Android应用内存占用的“头号杀手”。一张1080P(1920x1080)的图片以ARGB_8888格式加载时,内存占用高达8MB(192010804字节)。据统计,超过60%的应用OOM崩溃与Bitm…...

Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
【Go语言基础【13】】函数、闭包、方法
文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...
SQL慢可能是触发了ring buffer
简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...

Linux 中如何提取压缩文件 ?
Linux 是一种流行的开源操作系统,它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间,使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的,要在 …...
多模态图像修复系统:基于深度学习的图片修复实现
多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...