一、安装软件的方式
源码安装 类似于Windows系统中的.exe安装。
rpm安装 基于安装包, .rpm。
yum安装 rpm的升级版。
注意:yum和单独rpm安装,这些程序安装位置都在/etc/目录下。
二、源码安装
源码安装-------源码包: 一堆源代码程序组成
例如:linux中带 tar.gz这就是源码包
rpm源码包------二进制包,源码包里面的代码经过编译之后形成的包。
特点:
开源,因为开源所有可以二次修改,可以做二次开发。
可以自由选择需要的功能。
编译安装,跟系统的适配性更高,更加稳定,卸载方便。
不足:
安装步骤很多,容易出差。
编译的时间很长。
一旦报错,新手很难解决。
2.1编译安装
第一步:把源码包放入到系统
第二步:安装编译过程需要的依赖环境
第三步:创建nginx程序运行需要的用户,用户组
第四步:编译安装nginx
1、解压源码包
2、开始配置,配置程序的安装路径,基于程序需要的相关组件
3、编译和安装make 编辑 make install 安装
第五步:后续配置,配置程序的安装路径
1、配置权限
2、做一个软连接,让系统能够识别nginx的指令
3、设置系统控制,系统能够对nginux这个软件的运行状态进行控制。
4、修改nginx的配置文件,把pid文件的位置指向到设置的位置
2.2、实例:编译安装ngnix
opt/目录下操作
第一步:把源码包放入到系统
systemctl stop firewalld 关闭防火墙
setenforce 0 关闭安全机制
将软件包拖进来
第二步:安装编译过程需要的依赖环境
yum -y install gcc pcre-devel openssl-devel zlib-devel openssl openssl-devel
第三步:创建nginx程序运行需要的用户,用户组
useradd - M -s /sbin/nologin nginx
创建一个nginx用户,不创建家目录,指定shell为程序用户 /sbin/nologin
第四步:编译安装nginx
1、解压源码包
tar -xf 源码包
解压到当前opt目录
2、开始配置,配置程序的安装路径,基于程序需要的相关组件
cd 源码包/
目的找到编译可以执行文件configure(ls)
./configure --prefix=/usr/local/nginx
--user=nginx
--group=nginx
配置程序的安装路径 装在/usr/local/目录下
3、编译和安装make 编辑 make install ' '安装
make && make install
在压缩包目录下编译安装
第五步:后续配置,配置程序的安装路径
1、配置权限
cd /usr/local/
进入程序的安装路径
chown -R nginx:nginx nginx/
递归将文件nginx的权限全部修改成nginx权限
2、做一个软连接,让系统能够识别nginx的指令
在root家目录下做绝对路径的软连接
ln -s /usr/local/nginx/sbin/nginx /usr/sbin/
nginx -t
在系统中查询nginx
3、设置系统控制,系统能够对nginux这个软件的运行状态进行控制。
vim /lib/systemd/system/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
#支持多用户模
保存退出
由于pid文件在/usr/local/ngnix目录的run目录下运行因此需要创建run
mkdir run
4、修改nginx的配置文件,把pid文件的位置指向到设置的位置
ngnix目录下进入conf文件
ls查询配置
编辑ngnix.conf文件
修改pid /usr/local/ngnix/run/ngnix.pid
保存退出
ngnix -t 检查配置文件是否正确
systemctl daemon-reload 重新读取配置文件
systemctl restart nginx 重启ngnix
配置结束进入ngnix目录下的inde.html文件,输入welcome to nginx
补充
nginx -v #查看nginx版本号
systemctl stop nginx #停止nginx服务
在web页面访问虚拟机IP地址,可以看到welcome to nginx表示配置成功。
删除ngnix
rm -rf nginx
三、rpm安装
源码安装的升级版本 rpm
rpm的安装方式解决了源码安装的繁琐,基本实现了一键安装,没有解决包与包之间的依赖关系。
-i 安装一个新的rpm包
-v 显示安装过程中的详细信息
-h 在安装过程中已"#"显示安装
rpm -ivh 安装
*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安装
yum就是最终版本 结合了编译和rpm。
特点:不仅仅是自动安装,只有声明软件,就会自动安装最新版本。
自动解决依赖关系,如果环境需要和其他软件支持,会自动一并安装。
yum的安装方式是升级的,但是安装包还是rpm格式为结尾的包。
yum安装方式有两部分组成:
1、仓库
2、客户端(服务端)
4.1、工作原理
1、yum服务器上创建yum仓库,在库存中事先已经存储了许多的rpm包,以及这些rpm包相关的元数据信息。
元数据:1、包的位置,2、包与包之间的依赖关系,3、包的版本,4、文件的列表
软件管理器可以清楚的了解软件包的信息,如何安装,升级或者删除。
2、安装、升级、卸载通过指令完成
yum install 安装 yum -y install
yum remove 卸载 yum -y remove
yum list 显示仓库中所有可以使用的包
yum info 显示当前所有可用包的信息
yum info 软件名 查看指定的软件包的信息
yum search 软件名 搜索当前仓库是否安装这个安装包
yum provides 软件名 精确搜索可用
yum undate 升级
仓库:本地仓库(一般使用光盘镜像)
在线(阿里 腾讯 百度 网易)
第三方 epel源
在一个系统当中可以有多个仓库,系统会自动选择,网速快的,第二个会自动搜索那个仓库包含我需要的软件。
本地yum源创建流程
第一步 创建仓库
第二步 挂载光盘镜像
第三步 建立元数据信息
首先 加入光盘镜像
进入虚拟机
1、右击选择设置
2、点击CD/DVD
3、点击选项 已连接
4、选择镜像点击确定
出现光盘即可
4.2、实例:本地yum源
cd /etc/yum.repos.d/
vim local.repo #local可以自定义,但是后缀.repo 不可更改
进入local.repo,创建本地yum源
[local] #与文件名一一对应
name=local #local可以自定义
baseurl=file:///mnt #指定光盘挂载目录作为软件仓库
#file:// 声明地址 /mnt 根目录下的mnt 在线可以使用http
gdpcheck=0 #不检查软件的序列号,提高下载速度,必须要加
enable=1 #开启此yum仓库,默认开始,可以不加
保存退出
df -h #查询当前设备的挂载情况
mount /dev/cdrom /mnt/ #挂载光盘cdrom可以替换成sr0
yum clean all && yum makecache #清除历史版本的缓存 && 建立元数据信息
yum -y install httpd #安装 测试
4.3、实例:在线仓库
cd /etc/yum.repos.d/
yum clean all && yum makecache #清除历史版本的缓存 && 建立元数据信息
wget http://mirrors.aliyun.com/repo/Centos-7.repo #阿里云在线仓库
yum clean all && yum makecache #清除历史版本的缓存 && 建立元数据信息
yum -y install httpd #安装 测试
4.4、实例: 第三方epel源
yum -y install epel-release #下载epel源
yum clean all && yum makecache #清除历史版本的缓存 && 建立元数据信息
五、简单的报错排查
出现报错时,新建一个连接,查看日志
tail -f /var/log/messages
通过查看messages里的信息,定位问题。