目录
一. 安装RPM包
1.1 安装PRM包
1.2 查询一个包是否已安装
1.3 卸载RPM包
二. yum工具
2.1 搜索RPM包
2.2 安装RPM包
2.3 升级RPM包
2.4 卸载RPM包
三. 安装源码包
四. JavaWeb常用软件安装
4.1 MySQL安装
4.2 JDK安装
4.3 Tomcat安装
RPM是Red Hat Package Manager的缩写,由Red Hat公司开发。它是以一种数据库记录的方式将我们所需要的套件安装到Linux主机的一套管理程序。也就是说,你的Linux系统中存在着一个关于RPM的数据库,它记录了安装的包以及包与包之间的依赖关系。RPM包是预先在Linux机器上编译并打包的文件,安装非常快捷。但它也有一些缺点,比如安装环境必须与编译时的环境一致或者相当,包与包之间存在着相互依赖的情况,卸载包时需要先把依赖的包卸载。如果依赖的包是系统所必需的,就不能卸载这个包,否则系统会崩溃。
以安装jdk为例,先下载rpm安装包,安装后仍然要进行环境变量的修改。
Java Downloads | Oracle
安装RPM包的命令如下:
# rpm -ivh jdk-8u301-linux-x64.rpm
其中各个选项的含义如下。
-i
:表示安装。-v
:表示可视化。-h
:表示显示安装进度。
我们可以使用命令
rpm -qa
查询当前系统所有已安装的RPM包,如下所示:
# rpm -qa | grep 'jdk'
//显示结果
jdk1.8-1.8.0_301-fcs.x86_64
卸载RPM包的命令为
rpm -e filename
, 这里的filename
是通过rpm的查询功能所查询到的。
# rpm -e jdk1.8-1.8.0_301-fcs.x86_64
如果你使用的Linux系统支持yum工具,那么使用该工具比使用RPM工具更加方便。yum工具最大的优势在于可以联网去下载所需要的RPM包,然后自动安装。如果要安装的RPM包有依赖关系,yum工具会帮我们依次安装所有相关的RPM包。下面我们学习一下常用的
yum
命令。
使用yum list查找要安装的PRM包,如下所示:
# yum list |grep 'httpd'
安装RPM包的命令为
yum install [-y] [RPM包名]
,如果不加-y
选项,则会以与用户交互的方式安装。示例命令如下:
# yum install -y httpd
在这个过程中,它首先会把需要安装的RPM包列出来,如果有依赖关系,也会把所有依赖的包列出来。然后询问用户是否需要安装,输入y则安装,输入n则不安装。这里可以直接加上
-y
选项,这样就省略了询问用户是否安装的那一步。
升级RPM包的命令为
yum update [-y] [RPM包]
,示例命令如下:
# yum update httpd
卸载RPM包的命令为
yum remove [-y] [RPM包名]
,示例命令如下:
# yum remove httpd
卸载和安装一样,也可以直接加上
-y
选项,从而省略与用户交互的那一步。这里需要注意,卸载某个RPM包时一定要看清楚,不要连其他重要的RPM包也一起卸载了,以免影响正常的业务,所以使用yum remove
命令卸载包时,还是不要加-y
选项了。
在Linux下安装源码包是最常用的。在日常的管理工作中,大部分软件都是通过源码安装的。安装源码包,需要我们把源代码编译成可执行的二进制文件。
常见的源码包一般都是用C语言开发的,因为C语言是Linux上最标准的程序语言。Linux上的C语言编译器称为gcc,利用它可以把C语言编译成可执行的二进制文件。所以,如果你的机器上没有安装gcc,就无法编译源码,你可以使用命令
yum install -y gcc
来完成安装。
安装源码包通常需要以下3个步骤。
- ./configure。这是一个可执行文件。这一步可以定制功能,加上相应的选项即可,具体有什么选项可以通过命令
./configure --help
来查看。这一步会自动检测你的Linux系统与相关的套件是否有编译该源码包时所需要的库,因为一旦缺少某个库,就不能完成编译。只有检测通过后,才会生成Makefile文件。make
。使用这个命令,会根据Makefile文件中预设的参数进行编译,这一步其实就是gcc在工作了。make install
。这一步是安装步骤,用于创建相关软件的存放目录和配置文件。
下面我们通过编译安装一个Nginx源码包来帮助你更深刻地理解安装源码包的过程。
安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,则需要安装:
yum install -y gcc-c++
PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括perl兼容的正则表达式库。nginx的 http 模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库,pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库。命令:
yum install -y pcre-devel
zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对 http 包的内容进行gzip,所以需要在 Centos 上安装zlib库。
yum install -y zlib-devel
OpenSSL是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
nginx不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装OpenSSL库。yum install -y openssl-devel
tar -xzvf nginx-1.14.0.tar.gz
其实在 nginx-1.12.1 版本中你就不需要去配置相关东西,默认就可以了。当然,如果你要自己配置目录也是可以的。
使用默认配置,在当前目录下进入到nginx解压后的文件夹中
cd nginx-1.14.0
就会发现此文件夹中有一个 configure 文件(绿色的),这是一个可执行文件。输入下面命令进行配置检查:
./configure
注意:必须要写 ./ 这样表示执行当前目录下的命令。否则会去path环境变量下寻找此命令。
[root@localhost nginx-1.14.0]# make //这里使用gcc进行源码编译
[root@localhost nginx-1.14.0]# make install //安装
安装成功后会默认在/usr/local下生成一个nginx文件夹为核心文件所在,不再使用原解压安装目录
进入:
cd /usr/local/nginx/sbin/
这里有一个 nginx 可执行文件,输入命令:
./nginx
在浏览器地址栏中输入IP地址(默认端口80)即可访问nginx服务器。
注意:如果服务成功启动,但是在浏览器上还是无法访问,那么执行下面步骤:
1) 查看Linux服务是否启动(ps命令将某个进程显示出来)
[root@localhost sbin]# ps -ef | grep nginx
2) 设置80端口的防火墙访问权限:
[root@localhost sbin]# firewall-cmd --zone=public --add-port=80/tcp --permanent
[root@localhost sbin]# firewall-cmd --reload(或者:systemctl restart firewalld.service)
./nginx -s stop
./nginx -s quit
./nginx -s reload
./nginx -s quit:此方式停止步骤是待nginx进程处理任务完毕进行停止。
./nginx -s stop:此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。
1) 先停止再启动(推荐):
对nginx进行重启相当于先停止再启动,即先执行停止命令再执行启动命令。如下:
./nginx -s quit ./nginx
2) 重新加载配置文件:
当ngin x的配置文件nginx.conf修改后,要想让配置生效需要重启nginx,使用-s reload不用先停止ngin x再启动nginx即可将配置信息在nginx中生效,如下:
./nginx -s reload
1)、由于CentOS 的yum源中没有mysql,需要到mysql的官网下载yum repo配置文件。
下载命令:wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
注意:如果没有安装wget命令,那么就先安装wget命令:yum -y install wget
2)、然后进行repo的安装:rpm -ivh mysql-community-release-el7-5.noarch.rpm
执行完成后会在/etc/yum.repos.d/目录下生成两个repo文件mysql-community.repo mysql-community-source.repo
3)、安装MySQL
yum install -y mysql-community-server
Centos8.0版本安装需使用
sudo yum install mysql-server
4)、重启数据库进行访问
systemctl start mysqld.service
mysql -uroot
退出MySql:quit
5)、重置密码
默认Mysql安装完毕,没有密码,所以可以使用下面命令直接进入:
mysql -uroot
使用以下命令,设置密码:
set password for 'root'@'localhost' ='root';
重启:
systemctl restart mysqld.service
再次登录
mysql -uroot -proot
6)、设置远程访问
Mysql为了安全性,在默认情况下用户只允许在本地登录,可是在有些情况下,还是需要用户进行远程连接,因此为了使其可以远程需要进行如下操作:
设置远程访问权限(注意修改密码):
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES;
设置防火墙访问权限:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
7)、修改Mysql字符集
修改 /etc/my.cnf 在mysqld下加入
character-set-server=utf8
使用以下命令查看字符集
show variables like '%character%';
8)、linux下的mysql是区分大小写的,可以通过设置修改
修改 /etc/my.cnf 在mysqld下加入
lower_case_table_names=1
9)、停止mysql服务
systemctl stop mysqld.service
//解压,解压后得到:jdk1.8.0_301
tar -xzvf jdk-8u301-linux-x64.tar.gz
//设置环境变量(更新 /etc/profile 配置文件):
export JAVA_HOME=/home/linux/jdk1.8.0_301
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
注意事项:
- 在window环境下,环境变量值之间的分割符是分号,在Linux下的分隔符是冒号。
- 在window环境下,引用一个环境变量使用 %xxx% 的形式,在Linux下使用 $xxx 的形式。
- PATH=$JAVA_HOME/bin:$PATH:表示在path环境变量的前面追加一个值。
//运行以下命令,使环境变量生效:
source /etc/profile
//测试Java环境:
java -version
tar -xzvf apache-tomcat-8.0.52.tar.gz
[root@localhost apache-tomcat-9.0.53]# ./bin/startup.sh
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
将项目拷贝到webapps目录下即可
在浏览器地址栏中输入:http://xxx.xxx.xxx.xxx:8080/