目录
一. 安装RPM包
RPM是Red Hat Package Manager的缩写,由Red Hat公司开发。它是以一种数据库记录的方式将我们所需要的套件安装到Linux主机的一套管理程序。也就是说,你的Linux系统中存在着一个关于RPM的数据库,它记录了安装的包以及包与包之间的依赖关系。RPM包是预先在Linux机器上编译并打包的文件,安装非常快捷。但它也有一些缺点,比如安装环境必须与编译时的环境一致或者相当,包与包之间存在着相互依赖的情况,卸载包时需要先把依赖的包卸载。如果依赖的包是系统所必需的,就不能卸载这个包,否则系统会崩溃。
以安装jdk为例,先下载rpm安装包,安装后仍然要进行环境变量的修改。
1.1 安装PRM包
安装RPM包的命令如下:
# rpm -ivh jdk-8u301-linux-x64.rpm
其中各个选项的含义如下。
-i
:表示安装。-v
:表示可视化。-h
:表示显示安装进度。
1.2 查询一个包是否已安装
我们可以使用命令
rpm -qa
查询当前系统所有已安装的RPM包,如下所示:
# rpm -qa | grep 'jdk'
//显示结果
jdk1.8-1.8.0_301-fcs.x86_64
1.3 卸载RPM包
卸载RPM包的命令为
rpm -e filename
, 这里的filename
是通过rpm的查询功能所查询到的。
# rpm -e jdk1.8-1.8.0_301-fcs.x86_64
二. yum工具
如果你使用的Linux系统支持yum工具,那么使用该工具比使用RPM工具更加方便。yum工具最大的优势在于可以联网去下载所需要的RPM包,然后自动安装。如果要安装的RPM包有依赖关系,yum工具会帮我们依次安装所有相关的RPM包。下面我们学习一下常用的
yum
命令。
2.1 搜索RPM包
使用yum list查找要安装的PRM包,如下所示:
# yum list |grep 'httpd'
2.2 安装RPM包
安装RPM包的命令为
yum install [-y] [RPM包名]
,如果不加-y
选项,则会以与用户交互的方式安装。示例命令如下:
# yum install -y httpd
在这个过程中,它首先会把需要安装的RPM包列出来,如果有依赖关系,也会把所有依赖的包列出来。然后询问用户是否需要安装,输入y则安装,输入n则不安装。这里可以直接加上
-y
选项,这样就省略了询问用户是否安装的那一步。
2.3 升级RPM包
升级RPM包的命令为
yum update [-y] [RPM包]
,示例命令如下:
# yum update httpd
2.4 卸载RPM包
卸载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源码包来帮助你更深刻地理解安装源码包的过程。
- gcc安装
安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,则需要安装:
yum install -y gcc-c++
- PCRE pcre-devel安装
PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括perl兼容的正则表达式库。nginx的 http 模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库,pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库。命令:
yum install -y pcre-devel
- zlib安装
zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对 http 包的内容进行gzip,所以需要在 Centos 上安装zlib库。
yum install -y zlib-devel
- OpenSSL安装
OpenSSL是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
nginx不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装OpenSSL库。yum install -y openssl-devel
- 下载nginx: nginx-1.14.0.tar.gz, 解压
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命令强制杀掉进程。
- 重启nginx
1) 先停止再启动(推荐):
对nginx进行重启相当于先停止再启动,即先执行停止命令再执行启动命令。如下:
./nginx -s quit ./nginx
2) 重新加载配置文件:
当ngin x的配置文件nginx.conf修改后,要想让配置生效需要重启nginx,使用-s reload不用先停止ngin x再启动nginx即可将配置信息在nginx中生效,如下:
./nginx -s reload
四. JavaWeb常用软件安装
4.1 MySQL安装
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
4.2 JDK安装
//解压,解压后得到: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
4.3 Tomcat安装
- 解压
tar -xzvf apache-tomcat-8.0.52.tar.gz
- 启动tomcat
[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/
- 查看日志