一、Linux系统安装软件的方式
源码安装,类似于windows系统的.exe安装
rpm安装,基于安装包:.rpm,源码安装的升级版
yum安装,rpm的升级版
act(ubantu使用)
yum安装和rpm安装默认安装路径都在 /etc。
二、源码安装实例
2.1 源码安装介绍
源码安装:安装使用源码包,是由一堆源代码程序组成的。最常见的格式:.tar.gz
rpm源码包:二进制包,源码包里的代码进过编译之后形成的包。
优点:
开源。因为开源所以可以二次修改,进行二次开发。
编译安装,跟系统的适配性更高,更加稳定。
卸载方便。把安装目录删除即可。
缺点:
安装的步骤很多,容易出错。
编译的时间很长
一旦报错,新手很难解决。
2.2 源码安装步骤
准备:关闭防火墙及安全机制,准备接收文件
1、systemctl stop firewalld //关闭防火墙
2、setenforce 0 //关闭安全机制
3、rz -E //接收文件
第一步:把源码包放入到系统之中。
使用xshell终端的可以直接从本机拖进虚拟机
第二步:安装编译过程中需要的依赖环境。
yum -y install gcc pcre-devel openssl-devel zlib-devel openssl openssl-devel
第三步:创建Nginx程序运行需要的用户和组
useradd -M -s /sbin/nologin nginx
第四步:编译安装
解压源码包
tar -xf nginx.tar.gz
开始配置,配置程序的安装路径,安装基于程序需要的安装组件
1./configure --prefix=/usr/local/nginx \ // 配置安装路径
2--user=nginx \ //配置用户
3--group=nginx //配置组
编译和安装
make && make install //第一个make:编译;第二个make install:安装
第五步:后续配置,设置权限和系统管理配置
配置权限
1cd /usr/local
2chown -R nginx.nginx nginx //对/usr/local目录下nginx目录更改所属
做一个软连接,让系统能够识别nginx的指令
ln -s /usr/local/nginx/sbin/nginx /usr/bin
设置系统控制,系统能够对nginx这个软件的运行状态进行控制。
vim /lib/systemd/system/nginx.service
// 对 nginx.service 内容进行修改如下
- [Unit]
- Description=nginx - high performance web server
- Documentation=http://nginx.org/en/docs/
- After=network-online.target remote-fs.target nss-lookup.target
- #表示支持dns解析以及该软件依赖于网络。
- Wants=network-online.target
- #先启动网络服务,才能启动nginx
- [Service]
- Type=forking
- PIDFile=/usr/local/nginx/run/nginx.pid
- #注意文件位置,如果不对 启动不了
- ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
- #注意启动文件位置
- ExecReload=/bin/kill -s HUP $MAINPID
- ExecStop=/bin/kill -s TERM $MAINPID
- [Install]
- WantedBy=multi-user.target
- #支持多用户模式
修改nginx的配置文件,把pid文件的位置指向到设置的位置
- cd /usr/local/nginx
- mkdir run
- cd /usr/local/nginx/conf
- vim nginx.conf //编辑要修改的配置文件
修改 nginx.conf 文件的内容中 pid 指向的位置
pid /usr/local/nginx/run/nginx.pid;
修改完后
- chown -R nginx.nginx /usr/local/nginx/run //递归修改run目录所属
- nginx -t //检测nginx状态,提示OK则正常
- systemctl daemon-reload //重新加载systemd守护进程
- systemctl restart nginx //重启nginx服务
- nginx -v //查看nginx版本号
- systemctl stop nginx //停止nginx服务
在web页面访问虚拟机IP地址,可以看到“welcome to nginx”
三、rpm安装
rpm是源码安装的升级版本,解决了源码安装的繁琐,基本实现了一键安装,但没有解决包与包之间的依赖关系(依然需要预先安装依赖环境)。
rpm -i :安装一个新的rpm包
rpm -v :显示安装过程中的详细信息
rpm -h :在安装过程中以“#”显示安装
rpm -ivh :安装rpm常用的命令
rpm -q :+软件名,查询系统是否已安装该软件
对出现的依赖报错内容的解释:
httpd-2.4.6-88.el7.centos.x86_64
httpd:软件名称 Apache web软件
2.4.6:软件的版本
88:更新迭代的次数,88次
el7:el7.centos 即centos7
x86_64:支持64位x86架构的cpu
四、yum安装
4.1 yum的功能
功能最强,编译+rpm
yum不仅仅是自动安装,只要声明软件,yum会自动安装最新版本。
yum能自动解决依赖关系。如果有环境需要,和其他软件支持,yum会自动一并安装。
yum安装方式是升级的,但是安装包还是.rpm格式。
4.2 yum的组成
yum由两部分组成。
仓库
本地仓库:一般是用光盘镜像。
在线仓库:从远端下载。包括阿里、腾讯、百度、网易等等。
第三方库:epel源
客户端 {服务端}。可以从远程下载,也可以从本地下载。
4.3 yum工作原理
yum服务器上创建yum仓库,在仓库中事先已经存储了许多的rpm包,以及这些rpm包相关的元数据信息。
元数据:metadata,元:嫡。元数据就是包的位置,以及包与包之间的依赖关系。
软件管理器可以清楚地了解软件包的信息,如何安装、升级或者删除。
安装、升级、卸载通过指令完成
4.4 yum指令
yum install :安装
- yum -y install nginx-1.22.0
- // -y 安装时无需确认,默认安装最新版
- // 在软件名后接版本号,可指定下载版本后
yum remove :卸载
yum list :显示当前仓库中所有可以使用的包。
yum info :显示当前仓库所有可用包的信息。yum info 软件名 ,查看指定的软件包的信息
yum search 软件名 :搜索当前仓库是否有这个安装包。
yum provides 软件名 :精确搜索可用包
yum update :升级
4.5 mount命令
mount 设备(目录) 挂载点(空目录) ——格式
挂载:把光盘镜像或者硬盘和本地的目录进行一对一的挂载映射。
挂载的规则:
一个挂载点同一时间只能挂载一个设备。
挂载点通常是一个已经存在的空目录。
一个设备一般不要同时挂载多个目录。
4.6 创建本地yum源
在一个系统当中可以有多个仓库,系统会自动选择,网速快的,并自动搜索那个仓库包含我需要的软件。
第一步:创建仓库
- cd /etc/yum.repos.d
- #进入yum源仓库目录
- vim local.repo
- #编辑本地yun源配置信息,loacl为自命名,可改
编辑配置文cd件 local.repo
- [local]
- #和文件名一一对应
- name=local
- #描述信息,local可以自己定义
- baseurl=file:///mnt
- #file:// 指定光盘挂载目录为软件仓库 /mnt为设置的目录
- gpgcheck=0
- #不检查软件的序列号,提高下载速度
- enable=1
- #开启此yum源仓库,默认就是开启,可以不加
第二步:挂载光盘镜像(提前在虚拟机设置中把cdrom镜像选中)
- mount /dev/cdrom /mnt/
- mount /dev/sr0 /mnt/
- #两个指令都行,选其一即可
第三步:清除历史版本的缓存 && 建立元数据信息
yum clean all && yum makecache
安装Apache为例:
yum -y install httpd
因为之前已经配置过web服务nginx,与httpd(Apache web服务)端口冲突,都是80端口。所以先关闭nginx服务,再启动Apache。
- systemctl stop nginx
- systemctl restart httpd
然后通过本机浏览器访问虚拟机IP地址,可获得Apache服务页面。
4.7 使用在线yum源
第一步:在线获取库,使用阿里云镜像库为例
- cd /etc/yum.repos.d
- wget http://mirrors.aliyun.com/repo/Centos-7.repo
第二步:清除历史版本的缓存 && 建立元数据信息
yum clean all && yum makecache
以安装Apache为例。
yum -y install httpd
4.8 第三方在线仓库
使用epel源,以安装nginx为例
yum -y install epel-release
#获取epel源
yum clean all && yum makecache
#清除历史版本的缓存 && 建立元数据信息
yum -y install nginx
#安装nginx为例
1.yum -y install epel-release
2.#获取epel源
3.yum clean all && yum makecache
4.#清除历史版本的缓存 && 建立元数据信息
5.yum -y install nginx
6.#安装nginx为例
4.9 报错处理
出现报错时,新建一个连接,查看日志
1 | tail -f /var/log/messages
通过查看messages里的信息,定位问题。