Appearance
第七章 软件的安装与卸载
软件安装方式概述
CentOS 安装软件的方式主要包括:
- 源码安装
- rpm 安装(二进制安装)
- yum 安装(在线安装)
源码安装:
源码包是指 C 等语言所开发的源代码文件的一个压缩包,通常压缩为.tar.gz 或.tar.bz2。源码通常需要编译器将其编译成二进制文件,如 gcc 编译器。
优点:
(1)开源,有能力者可以修改源代码;特别是要对某个软件,从头开发时,就特别需要对源码进行解读分析。
(2)可自由选择所需功能;
(3)卸载方便,直接删除目录即可。
(4)对于学习者而言,源码安装更有利于学习者发现软件环境和工具之间所依赖的关系。
缺点:
(1)安装麻烦,需要自行解决工具之间的依赖关系。
(2)某些软件编译过程耗费的时间较长,我曾发生过编译两三天的情况。尤其是在不合适的硬件上,安装大型软件时,最容易折磨人,甚至要考虑系统与硬件的兼容性、配置等问题,系统本身有缺陷,那就更要命了,有时需先修补系统 bug【主要是功能不齐全,残缺情况居多】
(3)大型软件编译,对新手来说较为麻烦,所报错误往往超过所能解决的范围,排错过程有可能会把系统给搞崩溃。
rpm 安装:
RPM 包:由 Red Hat 公司开发的包管理系统,软件的安装、升级、卸载都非常简单和方便。目前很多 Linux 发行版都在使用这种包管理机制,包括 CentOS、Redhat、Fedora 等。软件包文件后缀是".rpm"。
DPKG 包:由 Debian Linux 开发出来的包管理机制,主要应用在 Debian 和 Unbuntu 系统中。软件包文件后缀是".deb"。
优点:
(1)包安装与管理简单,往往仅通过几个命令即可实现包的安装、升级、查询和卸载。
(2)通常安装速度要比源码安装快很多;
缺点:
(1)二进制文件,看不到源码了,修改和分析源码已不太可能。
(2)模块功能已经被定制,用户功能选择远不如源码灵活;
(3)有时也需要解决依赖性的问题,此时解决依赖性有一定的困难。
yum 安装:
yum 软件仓库是为了进一步简化 RPM 管理软件的难度以及自动分析所需软件包及其依赖关系的技术。
yum 的关键之处是要有可靠的 respository(保证能够连接互联网,还需要保证它是一个互联网上正常可用的仓库)。
它能够从指定服务器自动下载 rpm 包并安装。yum 能够自动解决软件依赖性问题,一次性安装所有依赖的软件包。
yum 安装与卸载的相关命令
安装命令:yum -y install 软件名
升级命令:yum -y install 软件名
升级所有软件:yum -y install
卸载命令:yum remove 软件名
列出可安装的软件包:yum list
列出已安装的软件包:yum list installed
查询某个软件包:yum list 软件名
根据关键字搜索软件包:yum search Keyword
清除缓存:yum clean all
JDK 的安装与配置
从 yum 仓库中搜索 jdk:yum search jdk
安装 jdk:yum -y install java-17-openjdk-devel.x86_64
看看 jdk 的安装目录:
a. which java
b. ls -l /usr/bin/java
c. ls -l /etc/alternatives/java
在/etc/profile 文件中配置环境变量:
Plain
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-17.0.6.0.10-3.el9.x86_64
export CLASSPATH=.:$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin
- 生效:source /etc/profile
Tomcat 服务器的安装与配置
Tomcat 是 Java 语言实现的,因此使用 Tomcat 服务器的前提是:已经安装并配置了 Java 环境。
下载 Tomcat
a. 官网:https://tomcat.apache.org/
b. 下载 tomcat10
使用 FTP 工具将以上压缩包上传到 CentOS。
解压到当前目录下
第三方软件一般存放在/usr/local 目录下,使用 mv 命令 tomcat 移动到该目录下
为了方便配置环境变量,将目录名重命名
现在 Tomcat 服务器的根路径是:/usr/local/tomcat10
- 配置环境变量
让环境变量生效:
启动 Tomcat
查看服务器 IP 地址
关闭防火墙
打开 windows 上的浏览器,输入地址访问
关闭 tomcat 服务器
服务器关闭之后,重新打开一个全新的浏览器,再次输入访问地址,会发现无法访问了。
MySQL 的安装与配置
MySQL8 的安装
以下是在 CentOS Stream 系统上安装 MySQL8 的步骤:
- 更新系统软件包
使用以下命令更新 CentOS Stream 系统上的软件包:
shell
dnf update
安装 MySQL8 需要更新系统上的软件包是因为 MySQL8 需要使用一些较新的依赖库和工具,而 CentOS Stream 默认的软件包版本可能较旧,无法满足 MySQL8 的要求。更新系统上的软件包可以确保系统中的依赖库和工具版本与 MySQL8 的要求相匹配,从而保证 MySQL8 的正常运行。
dnf 和 yum 都是 CentOS 中的包管理器,它们的作用是安装、升级、删除软件包以及解决软件包依赖关系。它们的区别如下:
- 语法不同:dnf 命令的语法更加简洁,而 yum 命令的语法相对较长。
- 性能不同:dnf 命令在处理软件包时的性能比 yum 命令更好,因为 dnf 使用了更高效的算法。
- 依赖关系处理不同:dnf 命令在处理软件包依赖关系时更加智能,能够自动选择最佳的依赖关系解决方案。
- 使用的库不同:dnf 命令使用了更加现代化的 libdnf 库,而 yum 命令使用了较老的 yum 库。
- 可用插件不同:dnf 命令支持更多的插件,可以实现更多的功能。
总的来说,dnf 命令是 yum 命令的升级版本,它在性能、依赖关系处理和可用插件等方面都更加优秀。
- 添加 MySQL Yum 存储库
使用以下命令将 MySQL Yum 存储库添加到系统中:
Plain
dnf install https://dev.mysql.com/get/mysql80-community-release-el9-5.noarch.rpm
MySQL Yum 存储库怎么获取?如下图所示:从 mysql 官网获取
- 导入 mysql 公钥
shell
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
- 安装 MySQL 8
shell
dnf install mysql-community-server
- 启动 MySQL 服务
shell
systemctl start mysqld
- 设置 MySQL 开机自启
shell
systemctl enable mysqld
- 查看 root 账户的临时密码
shell
grep 'temporary password' /var/log/mysqld.log
- 配置 MySQL 安全设置
shell
mysql_secure_installation
按照提示输入密码并回答问题,完成安全设置。
- 登录 MySQL
shell
mysql -u root -p
完成以上步骤后,您就可以在 CentOS Stream 系统上安装并使用 MySQL 8 了。
MySQL8 设置字符集
- 查看 MySQL8 字符集
在 MySQL 命令行界面中输入以下命令:
Plain
show variables like '%character%';
可以查看 MySQL 的字符集设置。
- 如果字符集不是 utf8,可以在/etc/my.cnf 文件中进行配置,在[mysqld]下面添加如下配置:/etc/my.cnf 是 mysql 的配置文件。
Plain
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
保存并退出。
- 重启 MySQL 服务
在终端中输入以下命令:
Plain
systemctl restart mysqld
- 再次查看 MySQL8 的字符集是否为 utf8
在 MySQL8 中为 Java 程序员创建专属的 MySQL 用户
首先,以 root 用户身份登录 MySQL:
shell
mysql -u root -p
创建一个新的数据库,例如项目是 oa 项目,一般创建一个数据库叫做 oa:
shell
create database oa;
然后,创建一个新用户并设置密码:
Plain
CREATE USER 'java_dev'@'%' IDENTIFIED BY 'java_DEV123';
接下来,为该用户授予开发者专有的权限:
Plain
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER, INDEX, REFERENCES ON oa.\* TO 'java_dev'@'%';
接下来,刷新权限:
Plain
FLUSH PRIVILEGES;
最后,关闭 centos 的防火墙:
shell
systemctl stop firewalld
现在,Java 程序员可以使用用户名和密码连接到 MySQL 并拥有开发者专有的权限。
WEB 应用的部署
在进行以下的 web 应用部署时,请确保以上的 JDK17、Tomcat10、MySQL8 已经安装成功。
初始化数据库
a. 这里使用 navicat for mysql 工具。
b. 先在 navicat for mysql 工具中创建连接。
c. 如果项目名叫做 oa,那么创建一个数据库 oa。
d. 执行 sql 脚本文件(oa.sql)完成数据初始化。
将项目中连接数据库的信息进行修改,例如:url、username、password 等信息。
在 IDEA 当中,使用 maven 将项目以 war 的形式打包。
将 war 包上传到 Tomcat 的 webapps 目录下。
启动 Tomcat 服务器,war 包自动解压。war 解压之后的目录就是 web 应用。
打开浏览器,输入访问地址访问。
实时查看 Tomcat 服务器后台日志
切换到 CATALINA_HOME/logs 目录下,执行以下命令,可以实时查看 tomcat 服务器日志
shell
tail -f catalina.out