Linux基础---08软件的安装

安装方式 优缺点
编译安装 自由定制,但较为繁琐
rmp安装 安装简单,但需要自己解决依赖,不支持定制
yum安装 自动解决rmp依赖,但不支持定制(用的更多)

下面就具体介绍三大安装方式:

一.编译安装

用Linux系统演示一下在浏览器上访问Nginx过程,以便大家能比较清晰地看到整个编译安装的过程。

1. 下载解压软件包:

1)下载命令:

bash 复制代码
curl -o nginx.tar.gz   http://nginx.org/download/nginx-1.20.1.tar.gz

2)解压命令:

bash 复制代码
tar -zxf nginx.tar.gz

2.编译安装

1)配置编译参数

  • 先进入到解压后的文件夹里(后几步也都在此文件夹里输入命令):
bash 复制代码
cd nginx-1.20.1
  • 再配置编译参数,目的是生成Makefileobjs文件:
bash 复制代码
./configure --prefix=/usr/local/nginx --without-pcre --without-http_rewrite_module --without-http_gzip_module

./ : 利用相对路径来执行configure文件

prefix=/usr/local/nginx :指定软件的安转目录

without :去掉某个功能

执行此指令之后,会自动检查各种依赖环境是否满足软件运行的条件,检查通过就会生成Makefileobjs 文件。

2)编译--make

编译非常简单,直接输入make即可。但需要注意的是当前执行make指令的目录是刚刚我们配置编译参数的文件里,也就是有Makefile的文件。因为执行make指令,其目的是要Makefile。输入以下命令,检查是否编译完成:

bash 复制代码
./objs/nginx -v

返回版本号,即可编译完成。

3)安装--make install

安装也非常简单,输入make install即可。顺便也贴一个能更直观查看目录结构的工具---tree

bash 复制代码
yum install tree -y

安装后,查看目录效果如下:

4)运行

  • 通过tree工具,我们可以清除的看到nginx在sbin目录下。因此运行命令很简单,直接输入目录地址即可运行(没有安装tree工具也能运行)。
bash 复制代码
/usr/local/nginx/sbin/nginx
  • 输入后没有返回值是正常的。现在可以通过浏览器访问我们的nginx了,但是访问之前需要关闭防火墙。输入以下两条命令关闭:
bash 复制代码
systemctl stop firewalld
bash 复制代码
systemctl disable firewalld
  • 最后我们在浏览器上直接输入我们的ip地址即可访问成功:

若关闭之后网络依旧访问失败,那就需要手动关闭物理机的防火墙:

5)打包

打包就是为了让别人可以直接使用我们编译好的文件,只需要运行即可使用。根本就是先压缩编译好的文件再使用scp工具传输到另外一台Linux上。

二.rpm安装

  • 安装rpm包:rpm -i+xxx.rpm
  • 安装rpm包并显示进度条:rpm -ivh+xxx.rpm
  • 卸载:rpm -e+xxx.rpm
  • 升级:rpm -Uvh +xxx.rpm
  • 查看已安装的软件:rpm -qa|grep httpd

三.yum安装

  • yum安装扩展yum仓库:
bash 复制代码
yum install epel-release -y
  • yum安装nginx:
bash 复制代码
yum install nginx -y
  • yum移除nginx:
bash 复制代码
yum remove nginx -y
  • 查看仓库rpm数据:
bash 复制代码
yum repolist

四.yum仓库(镜像站)

查看yum仓库的路径:

bash 复制代码
ls /etc/yum.repos.d/

坚持日更,不断学习...

相关推荐
软件技术员7 分钟前
Let‘s Encrypt SSL证书:acmessl.cn申请免费3个月证书
服务器·网络协议·ssl
哎呦喂-ll19 分钟前
Linux进阶:环境变量
linux
耗同学一米八20 分钟前
2024 年河北省职业院校技能大赛网络建设与运维赛项样题四
运维·网络
Rverdoser20 分钟前
Linux环境开启MongoDB的安全认证
linux·安全·mongodb
PigeonGuan31 分钟前
【jupyter】linux服务器怎么使用jupyter
linux·ide·jupyter
一条晒干的咸魚1 小时前
【Web前端】创建我的第一个 Web 表单
服务器·前端·javascript·json·对象·表单
东华果汁哥1 小时前
【linux 免密登录】快速设置kafka01、kafka02、kafka03 三台机器免密登录
linux·运维·服务器
咖喱鱼蛋1 小时前
Ubuntu安装Electron环境
linux·ubuntu·electron
ac.char1 小时前
在 Ubuntu 系统上安装 npm 环境以及 nvm(Node Version Manager)
linux·ubuntu·npm