三续、四、Liunx 软件管理机制

3.7 文件权限命令

3.7.1 Linux系统相对安全的原因

<span style="background-color:#333333"><span style="color:#b8bfc6">总有人问,Linux系统为什么比windows系统相对安全呢?我们可以总结如下:
​
1. 使用Linux系统的人数少,尤其在国内,很少有人关注Linux。
2. 因为Linux开源,任何的系统漏洞都会被民间高手,或者是官方人员很快的发现。从漏洞的发现到补丁的放出,时间相当短,没有时间给病毒或者黑客作乱的机会。
3. 然后就是linux的权限管理,linux的权限管理很严格。病毒或者黑客想修改系统文件或者系统日志,除非有管理员密码。所以就算中了病毒,病毒的危害也非常的小,重要的系统文件都不会被破坏。所以发现了病毒稍做处理就搞定了。
4. 还有就是linux系统的程序管理。linux安装程序,基本都是利用程序管理软件,比如ubuntu、debian下的软件中心、centos,fedora和红帽的yum。linux系统安装程序基本上都是用软件管理程序,从程序开发者官网上或者是相应的发行版社区直接下载安装。不会有被恶意篡改的软件被安装到使用者的电脑上。
5. 参考我的博客:https://blog.csdn.net/Michael__One/article/details/85006165</span></span>

3.7.2 文件权限的种类

文件权限代表字符数字表示对文件的含义对目录的含义
读(read)r4可以查看文件的内容可以列出目录的内容
写(write)w2可以修改文件的内容可以在目录内创建、删除文件
执行(execute)x1可以执行文件可以进入目录

3.7.3 文件属性解析

<span style="background-color:#333333"><span style="color:#b8bfc6">[root@qianfeng01 ~]<span style="color:#da924a">#  ls -l </span>
<span style="color:#7575e4">-rw-r--r--</span>  <span style="color:#64ab8f">1</span>     root  root   <span style="color:#64ab8f">302</span>    <span style="color:#64ab8f">8</span>月27 <span style="color:#64ab8f">9</span>:24  namelist  
【 <span style="color:#64ab8f">1</span> 】    【2】   【3】  【4】   【5】    【6】        【7】
​
解析:
   第一列:由10个字符组成。第一个字符表示文件类型,第2~10个字符表示权限
         权限由9个字符构成: 前三个字符表示owner拥有的权限
                          中间三个字符表示group下的所有成员拥有的权限
                          后三个字符表示other的权限
   第二列:文件的硬链接数
   第三列:owner的名称
   第四列:group的名称
   第五列:文件大小
   第六列:该文件的最后一次访问时间    
   第七列:该文件名 </span></span>

3.7.4 文件权限的针对者

从文件属性的第一列的解析来看,文件的权限是针对于三种不同用户来设定的

  • 拥有者,即文件的owner

  • 用户组,即文件的所属组

  • 其他人,即除了上述两种情况的其他情况,称为others

3.7.5 文件的权限的修改(chmod指令)

<span style="background-color:#333333"><span style="color:#b8bfc6">语法1:chmod [ugoa][+-=][rwx] [filename]    该指令只能是root和owner自己使用
     解析:
        u: 表示owner,即第2~4个字符
        g: 表示group,即第5~7个字符
        o: 表示other,即第8~10个字符
        a: 表示all, 即所有人
        +: 表示在原有的权限上添加新权限
        -: 表示在原有的权限上撤销权限
        =: 覆盖原有的权限,授予新权限 
语法2:chmod [421] [filename]
      解析:第二个参数中的三个数字分别表示owner,group,other的权限
           即每个数字表示某一个身份的权限之和。
​
​
​
​
​
案例1:赋予文件file1所属组写权限
      chmod g+w file1
案例2:取消所有者,用户组,其他人三个部分对file1的写权限
      chmod ugo-w file1
案例3:设定目录dir1为所有用户具有全部权限
      chmod 777 dir1 
      
案例4:chmod 763 file1
        7表示拥有者的权限是可读可写可执行  
        6表示所属组的权限是可读可写
        3表示其他人的权限是可写可执行</span></span>

扩展:

<span style="background-color:#333333"><span style="color:#b8bfc6">文件和目录创建后有默认权限:
​
    root身份创建的:
      文件:644
      目录:755
    普通用户创建的:
      文件:664
      目录:775
​
赋值权限问题:
    针对于文件而言:权限可以任意chmod,但是在应用时,会涉及到权限够不够的问题
            如果文件有执行权限,则必须给读权限。
            合理性问题:如果文件有写权限,应该给读权限
    针对于目录而言:权限可以任意chmod,但是在应用时,会涉及到权限够不够的问题
            如果有r权限,应该赋予x权限
            如果有w权限,应该赋予x权限</span></span>

3.7.6 文件所属组的修改(chgrp指令)

<span style="background-color:#333333"><span style="color:#b8bfc6">格式:chgrp [-R] [newGroup] filename          该指令只能是root用户使用
功能描述:改变文件或目录的所属组
​
案例1:  改变文件file1的所属组为adm
            chgrp  dam  file1
案例2:修改目录dir1及其子目录和文件的用户组为michael
            chgrp -R michael dir1</span></span>

3.7.7 文件拥有者的修改(chown指令)

<span style="background-color:#333333"><span style="color:#b8bfc6">格式1:chown [-R] [newOwner] filename       该指令只能是root用户使用
参数: -R 表示递归修改拥有者
​
案例1:改变文件file1的所有者为nobody
    chown  nobody  file1
案例2:修改目录dir1及其子目录和文件的拥有者为michael.
    chown -R michael: dir1
           
格式2:chown  newOwner:newGroup filename   #可以有chgrp的功能
案例3:将install.log的拥有者与群组改为root 
    chown root:root install.log
案例4:修改目录dir1的用户组为root
    chown .root dir1</span></span>

3.8 sudo指令的应用

3.8.1 sudo简介

有的时候,在操作和管理Linux时,我们需要切换成root身份才能进行,比如修改权限等。su可以用于切换成root账号,但是需要使用root账号的密码(管理员把自己的密码给普通用户 不合适吧)。

sudo,则是root给普通用户的一个特殊指令,普通用户不用再特意切换成root身份,就可以使用root才能使用的一些指令。仅仅需要普通用户自己的密码即可(通过配置,甚至可以不用密码)

当然,普通用户拥有sudo的使用权,必须是管理员root事先通过审核,才能开放给普通用户的。(即,除非是信任用户,否则一般用户默认是不能操作sudo的)

3.8.2 sudo的配置

sudo的配置,其实就是修改/etc/sudoers文件里的信息

参考下图:

通过上图,可以看到,sudoers文件的权限即使是root,也是只有一个读权限。

3.8.2.1 修改该文件的方式

<span style="background-color:#333333"><span style="color:#b8bfc6">方式1:root用户直接vi /etc/sudoers  然后强制保存
方式2:直接输入牛掰哄哄的visudo</span></span>

3.8.2.2 具体修改:我选择了牛掰哄哄的visudo

<span style="background-color:#333333"><span style="color:#b8bfc6">[root@qianfeng01 ~]<span style="color:#da924a"># visudo</span>
​
进入后,找到第100行和110行。
​
<span style="color:#7575e4">-</span> 在100行的 root <span style="color:#8d8df0">ALL</span><span style="color:#b8bfc6">=</span>(ALL) ALL下面填写                 <span style="color:#7575e4">---</span>配置这个,就可以使用sudo了。       
  scott  <span style="color:#8d8df0">ALL</span><span style="color:#b8bfc6">=</span>(ALL)   ALL
<span style="color:#7575e4">-</span> 在110行的 <span style="color:#da924a">#%whell  ALL=(ALL)  NOPASSWD:ALL下面填写   --配置这个,就可以不用再输入密码了</span>
  scott  <span style="color:#8d8df0">ALL</span><span style="color:#b8bfc6">=</span>(ALL) NOPASSWD:ALL
  
  
<span style="color:#7575e4">-</span>解析:   scott  <span style="color:#8d8df0">ALL</span><span style="color:#b8bfc6">=</span>(ALL) ALL
    第一列:使用sudo的账号
    第二列:客户端计算机主机名
    第三列:可切换的身份
    第四列:可使用的指令,注意使用具体指令时需要使用绝对路径,多个指令用逗号分开</span></span>

参考下图:

四、软件管理机制

4.1 Linux软件管理介绍

有一个很好的软件生态圈支持,才是一个优秀、值得广泛使用的操作系统平台。比如PC端的window操作系统、mac操作系统,手机端的IOS系统,Android系统等。在这些操作系统上安装软件,方便的不能再方便了。都有类似的一键安装,方便用户进行操作。

<span style="background-color:#333333"><span style="color:#b8bfc6">当然,windows上的软件,五花八门,没有统一的妥善管理,漏洞就多。而手机端的操作系统,都有自己的应用商店来统一管理软件,通过审核的才会放入应用商店,相对来说,比较安全</span></span>

当然,大名鼎鼎的Linux操作系统,也有自己的软件生态,也有自己的软件管理方式。

目前在Linux操作系统上,软件管理方式最常见的有两种,分别是:

<span style="background-color:#333333"><span style="color:#b8bfc6">- RPM
​
  这个机制最早是由Red Hat这家公司开发出来的,后来实在很好用,因此很多distributions就使用这个机制来作为软件安装的管理方式。包括Fedora、CentOS、SuSE等知名的开发商。
​
- DPKG
​
  这个机制最早是由Debian Linux社群所开发出来, 通过dpkg的机制,Debian提供的软件就能够简单的安装起来,同时还能提供安装后的软件信息,非常不错。只要是衍生自Debian的其他Lunix distributions大多使用了dpkg这个机制来管理软件的,包括B2D,ubuntu等。</span></span>

注意了,注意了,注意了

不论rpm,还是dpkg,这些机制在安装软件时,或多或少都会碰到软体依赖的问题,比如软件A的安装依赖于软件B和C,而B的安装依赖于软件D和E,这些依赖信息,软件开发商都已经在每一个软件中提供了一个文档并记录在内,安装时,会进行检查平台上是否存在依赖的软件环境。如果存在,可以安装成功,如果不存在,那么就会进行友好提示,并终止安装。那该如何解决这样的依赖问题呢?

<span style="background-color:#333333"><span style="color:#b8bfc6">- 第一种方式:我们人工的一步一步的检测和安装所依赖的软件,直到依赖环境都存在。
- 第二种方式:就是使用一种自动管理机制,先获取依赖关系做成列表,查看平台是否已经存在所需要的环境,如果不存在,自动管理机制通过依赖关系,来获取所需要的软件,进行顺序安装,从而解决这样的问题。</span></span>

针对于自动管理机制的思想,目前Linux系统开发商都有提供了这样的【在线升级】机制,并提供了相应的软件仓库,只要有网络,你就可以安装开发商提供的任何软件。dpkg管理机制提供了APT在线升级机制,RPM则依开发商的不同,有Red hat系统的yum,SuSE系统的Yast Online Update(YOU)等

distributions代表软件管理机制使用指令在线升级机制(指令)
Red Had/FedoraRPMrpm,rpmbuildYUM(yum)
Debian /UbuntuDPKGdpkgAPT(apt-get)

4.2 二进制安装

这样的软件包是已经将软件源码在不同的平台上进行事先编译,经过压缩打包的文件。 每一个安装包都有自己的平台。换一个不同的平台环境,失效。比较常用,优点:简单方便。 缺点:缺乏灵活性

二进制软件包提供了很多类型的打包方式,最常见的就是我们RPM格式的包,还有以“*.tar.gz、*.tgz、*.bz2“等形式的二进制软件包,最后还有一个就是提供安装程序进行安装的二进制软件包。下面演示jdk的安装

安装案例:JDK的安装

步骤1)上传jdk的二进制安装包 jdk-8u221-linux-x64.tar.gz,比如上传到/root/下

步骤2)解压jdk安装包

<span style="background-color:#333333"><span style="color:#b8bfc6">[root@qianfeng01 ~]<span style="color:#da924a"># tar -zxvf ./jdk-8u221-linux-x64.tar.gz -C /usr/local</span>
​</span></span>

步骤3)切换到/usr/local下并更名

<span style="background-color:#333333"><span style="color:#b8bfc6">[root@qianfeng01 ~]<span style="color:#da924a"># cd /usr/local</span>
[root@qianfeng01 local]<span style="color:#da924a"># mv jdk1.8.0_221/  jdk</span></span></span>

步骤4)配置环境变量

环境变量的配置有三个位置可选,分别是以下三个位置

<span style="background-color:#333333"><span style="color:#b8bfc6">/etc/profile        :系统级别的环境变量配置文件    所有用户都可以使用
~/.bash_profile     :用户级别的环境变量配置文件    只对于一个用户好使
~/.bashrc           :用户级别的环境变量配置文件    只对于一个用户好使</span></span>

注意:真实环境中,我们应该选择用户级别的环境变量,这样的好处是,即使配错了,我们可以使用root账号来帮助修改。如果是系统级别的,配错了的话,root账号也不好使了,得另想办法,麻烦死了。

但是在学习期间,避免麻烦,直接配置系统级别的环境变量即可。

<span style="background-color:#333333"><span style="color:#b8bfc6">[root@qianfeng01 ~]<span style="color:#da924a">#vim /etc/profile</span>
........省略...................
<span style="color:#da924a"># JDK environment</span>
<span style="color:#8d8df0">JAVA_HOME</span><span style="color:#b8bfc6">=</span>/usr/local/jdk
<span style="color:#8d8df0">PATH</span><span style="color:#b8bfc6">=</span><span style="color:#8d8df0">$JAVA_HOME</span>/bin:<span style="color:#8d8df0">$JAVA_HOME</span>/jre/bin:<span style="color:#8d8df0">$PATH</span>
​
​
小贴士:原有的PATH值拼在新值的后面</span></span>

步骤5)让环境变量生效(刷新环境变量)

<span style="background-color:#333333"><span style="color:#b8bfc6">[root@qianfeng01 ~]<span style="color:#da924a"># source /etc/profile</span></span></span>

步骤6)验证是否生效

<span style="background-color:#333333"><span style="color:#b8bfc6">[root@qianfeng01 ~]# java -version
[root@qianfeng01 ~]# javac</span></span>

扩展:二进制软件包的安装还有执行程序式的安装,只需要运行安装指令后,跟着提示进行下一步下一步的操作即可。类似于windows平台上的软件安装界面。

4.3 rpm机制安装

4.3.1 rpm安装原理

<span style="background-color:#333333"><span style="color:#b8bfc6">1. 下载好的rpm软件包里包含了软件程序,依赖关系文件,版本信息文件
2. 当启动安装操作时,会先根据依赖关系文件查找该平台上是否已经安装好了依赖的软件
3. 如果依赖的软件没有提前安装,则终止该软件的安装
4. 如果依赖的软件已经提前安装,则继续安装,直到成功。</span></span>

参考下图:

注意:应用程序在使用rpm方式安装时,而该程序的核心文件会默认放置在下面的目录中

目录说明
/etc一些配置文档存储的目录,例如 /etc/ssh
/usr/bin一些可执行文件的目录
/usr/lib一些程式使用的动态函数库
/usr/share/doc一些基本的程序使用手册和说明文档
/usr/share/man一些 man page 文档
/var/lib/rpm程序相关的资讯信息,即资料库

注意:这里说明一下资料库,以后如果对软件升级,版本的比较信息就来源于这里,还有,我们可能会经常查询系统已经安装的程序,也是从这里进行查询的。

4.3.2 rpm指令的常用选项

1)查询选项

<span style="background-color:#333333"><span style="color:#b8bfc6">]<span style="color:#da924a"># rpm -qa                                      <==查询系统内已安裝程序</span>
]<span style="color:#da924a"># rpm -q【licdR】 【已安装的程序名】               <==查询系统内某个已安裝程序的信息 </span>
​
选项参数:
<span style="color:#7575e4">-q</span> :用于查询指定的程序是否已经安装 
<span style="color:#7575e4">-qa</span> :列出所有已经安装在Linux系统下的程序名称
<span style="color:#7575e4">-qi</span> :列出该程序的详细信息 ,如版本号,发行时间,安装时间等
<span style="color:#7575e4">-ql</span> :列出该程序所有的文档与目录
<span style="color:#7575e4">-qc</span> :列出该程序的所有配置文件 (通常是指在 /etc/ 底下的文件)
<span style="color:#7575e4">-qd</span> :列出该程序的所有說明文档 (指与 man 有关的文件)
<span style="color:#7575e4">-qR</span> :列出与该程序有关的依赖软件所含的文件 (Required 的意思)
<span style="color:#7575e4">-qf</span> :找出指定文件属于哪一个已经安装的程序
​
案例测试:用python来测试
[root@qianfeng01 ~]<span style="color:#da924a"># rpm -qa  python</span></span></span>

2)安装和卸载选项

<span style="background-color:#333333"><span style="color:#b8bfc6">基本语法:rpm  [-ivh]   软件包名
​
-i  :安装的含义
-v  :安装过程中显示详情
-h  :以进度条的形式显示安装进度
-e  :卸载参数
​
--nodeps :安装或卸载软件时,有依赖关系时,可以进行强制安装或卸载。有一定的危险性,安装后可以能造成软件无法正常使用!</span></span>

4.3.3 案例演示:rpm安装mysql

步骤1)上传mysql相关的软件包,比如上传到/root下

<span style="background-color:#333333"><span style="color:#b8bfc6">mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar</span></span>

步骤2)拆包

<span style="background-color:#333333"><span style="color:#b8bfc6">[root@qianfeng01 ~]<span style="color:#da924a"># tar -xvf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar</span>
[root@qianfeng01 ~]<span style="color:#da924a"># ll</span>
​
mysql-community-client-5.7.28-1.el7.x86_64.rpm
mysql-community-common-5.7.28-1.el7.x86_64.rpm
mysql-community-devel-5.7.28-1.el7.x86_64.rpm
mysql-community-embedded-5.7.28-1.el7.x86_64.rpm
mysql-community-embedded-compat-5.7.28-1.el7.x86_64.rpm
mysql-community-embedded-devel-5.7.28-1.el7.x86_64.rpm
mysql-community-libs-5.7.28-1.el7.x86_64.rpm
mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm
mysql-community-server-5.7.28-1.el7.x86_64.rpm
mysql-community-test-5.7.28-1.el7.x86_64.rpm
​
小贴士: 其实我们是想安装mysql-community-server-5.7.28-1.el7.x86_64.rpm</span></span>

步骤3)安装mysql

<span style="background-color:#333333"><span style="color:#b8bfc6"><span style="color:#64ab8f">1</span>. 先检查是否安装了mariadb, 如果已经安装,就卸载掉
[root@qianfeng01 ~]<span style="color:#da924a"># rpm -qa | grep mariadb</span>
mariadb-libs-5.5.64-1.el7.x86_64
[root@qianfeng01 ~]<span style="color:#da924a"># rpm -e mariadb-libs-5.5.64-1.el7.x86_64 --nodeps</span>
<span style="color:#64ab8f">2</span>. 安装mysql-common
[root@qianfeng01 ~]<span style="color:#da924a"># rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm</span>
<span style="color:#64ab8f">3</span>. 安装mysql-lib
[root@qianfeng01 ~]<span style="color:#da924a"># rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm</span>
<span style="color:#64ab8f">4</span>. 安装mysql-client
[root@qianfeng01 ~]<span style="color:#da924a"># rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm</span>
<span style="color:#64ab8f">5</span>. 安装mysql-server
[root@qianfeng01 ~]<span style="color:#da924a"># rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm</span>
​
<span style="color:#7575e4">--------------------------</span>到此为止,rpm安装完毕 <span style="color:#7575e4">-----------------------</span>
​
    mysql在linux中的服务项叫mysqld
​
<span style="color:#64ab8f">6</span>. 启动mysql的服务项mysqld
[root@qianfeng01 ~]<span style="color:#da924a"># systemctl start mysqld</span>
[root@qianfeng01 ~]<span style="color:#da924a"># systemctl status mysqld   并查看</span>
​
<span style="color:#64ab8f">7</span>. 查看mysql提供的默认密码,并复制,   注意,如果服务项启动失败,则不会产生mysqld.log文件
[root@qianfeng01 ~]<span style="color:#da924a"># cat /var/log/mysqld.log | grep password</span>
​
<span style="color:#64ab8f">8</span>. 登录mysql,并修改密码
[root@qianfeng01 ~]<span style="color:#da924a"># mysql -uroot -p'9Pe%mQVcs-#<'    回车即可</span>
.... 进入后,修改密码
mysql> alter user root@<span style="color:#d26b6b">'localhost'</span> identified by <span style="color:#d26b6b">'@Mmforu45'</span>;
​
​
<span style="color:#64ab8f">9</span>. 如果想要远程连接该机器上的mysql server, 那么mysql server需要进行远程授权
mysql> grant all privileges on *.* to root@<span style="color:#d26b6b">'%'</span> identified by <span style="color:#d26b6b">'@Mmforu45'</span>;
​
然后可以在windows启动navicat 远程连接linux上的mysql了。</span></span>

4.4 yum在线安装机制

4.4.1 yum安装原理介绍

在使用rpm机制的时候,我们最闹心的地方,可能就是软件依赖问题了。而YUM机制恰恰帮助我们解决了这一问题。YUM,是Yellow dog Updater, Modified 的简称。YUM会通过分析rpm软件包内的预设参数,制定软件依赖的解决方法,然后自动处理软件依赖的问题。这样,在安装、升级或者是卸载时,用户就不必头疼这个依赖问题了。 图示YUM在线升级得原理和过程:

YUM服务器:

YUM客户端

安装流程

<span style="background-color:#333333"><span style="color:#b8bfc6">yum服务器:   存储了大量的现成的软件,并且维护着这些软件之间的依赖关系列表
安装流程:    机器在执行yum安装指令准备安装软件A时,会先向yum服务器发送请求,获取软件A的依赖关系列表,下载到本地,与本地的资料库做比较,如果本地的资料库缺少依赖关系中的某些软件,就会从yum服务器上获取所缺的依赖软件以及软件A,然后按照依赖顺序,开始安装。  </span></span>
<span style="background-color:#333333"><span style="color:#b8bfc6">yum服务器的地址存储在/etc/yum.repo.d/CentOS-Base.repo文件中</span></span>

小贴士:yum在线安装底层应用的还是RPM机制安装,只不过帮助管理依赖软件的安装而已

yum指令常用的参数:

4.4.2 YUM常用的查询功能

<span style="background-color:#333333"><span style="color:#b8bfc6">]#  yum list all                    <==列出yum源仓库里面的所有可用的安装包
]#  yum list installed              <==列出所有已经安装的安装包
]#  yum list available              <==列出没有安装的安装包 ####安装软件
]#  yum info [appName]              <==查看软件的信息
]#  yum search [keywords]           <==根据关键字查找到相关安装包软件的信息
]#  yum whatprovides [fileName]     <==查找包含指定文件的相关安装包</span></span>

4.4.3 YUM的安装/卸载功能

<span style="background-color:#333333"><span style="color:#b8bfc6">语法:yum [install | update| reinstall | remove ] [软件名称]
​
]#  yum install appname             <==安装指定的软件
]#  yum reinstall appname           <==重新安装指定的软件
]#  yum update  [appname]           <==升级指定软件,不指定软件时,升级整个系统的软件
]#  yum remove appname              <==卸装指定的软件</span></span>

4.4.4 案例演示:

<span style="background-color:#333333"><span style="color:#b8bfc6">以前安装过的:
yum -y install vim
yum -y install bzip2
yum -y install net-tools
​
现在:本地时间可能不准,那么就需要和网络上的时间进行同步,那么可以使用ntpdate -u ntp1.aliyun.com进行同步。但是ntpdate指令不存在,需要安装。
​
yum -y install ntp  
​
说明: ntp这款软件依赖于ntpdate和autogen,  yum都会帮助提前下载并安装。</span></span>

4.5 源码安装

由于linux操作系统开放源代码,因而在其上安装的软件大部分也都是开源软件,例如apache、tomcat、php等软件。开源软件基本都提供源码下载,源码安装的方式;

4.5.1 源码安装的优缺点

1)优点

<span style="background-color:#333333"><span style="color:#b8bfc6">1.用户可以自己定制软件功能,安装需要的模块,不需要的功能可以不用安装。
2.用户还可以自己选择安装路径,方便管理。
3.卸载软件也很方便,只需删除对应的安装目录即可。
4.能最大程度和服务器平台融合,效率稍微比其他方式高。
5.没有windows所谓的注册表之说。</span></span>

2)缺点

<span style="background-color:#333333"><span style="color:#b8bfc6">1.安装较为繁琐,需要自己配置
2.安装较为耗时,需要自己编译源码
3.安装较为容易出错,出错也难以解决</span></span>

4.5.2 案例演示:安装Nginx

1) 下载源码包,并解压到你喜欢的位置

<span style="background-color:#333333"><span style="color:#b8bfc6">[root@qianfeng01 ~]<span style="color:#da924a"># tar -zxvf nginx-1.8.0.tar.gz  -C /usr/local</span></span></span>

2)进入该软件的家里

<span style="background-color:#333333"><span style="color:#b8bfc6">[root@qianfeng01 ~]<span style="color:#da924a"># cd /usr/local/nginx-1.8.0</span></span></span>

3)执行配置信息

注意:需要c语言环境提前安装好

<span style="background-color:#333333"><span style="color:#b8bfc6">[root@qianfeng01 ~]<span style="color:#da924a"># yum -y install gcc-c++</span>
[root@qianfeng01 ~]<span style="color:#da924a"># yum install -y pcre pcre-devel</span>
[root@qianfeng01 ~]<span style="color:#da924a"># yum install -y zlib zlib-devel</span>
[root@qianfeng01 ~]<span style="color:#da924a"># yum install -y openssl openssl-devel</span></span></span>

安装好环境后,在配置nginx的属性信息

<span style="background-color:#333333"><span style="color:#b8bfc6">[root@qianfeng01 nginx-1.8.0]<span style="color:#da924a"># ./configure \</span>
    <span style="color:#7575e4">--prefix</span><span style="color:#b8bfc6">=</span>/usr/local/nginx-1.8.0 \
    <span style="color:#7575e4">--pid-path</span><span style="color:#b8bfc6">=</span>/usr/local/nginx-1.8.0/tmp/nginx.pid </span></span>

4)在家里执行编译指令

<span style="background-color:#333333"><span style="color:#b8bfc6">[root@qianfeng01 nginx-1.8.0]<span style="color:#da924a"># make</span></span></span>

5)在家里执行安装指令

<span style="background-color:#333333"><span style="color:#b8bfc6">[root@qianfeng01 nginx-1.8.0]<span style="color:#da924a"># make install</span></span></span>

如果出现了bin或者sbin目录,则表示安装成功。

6)清空缓存

<span style="background-color:#333333"><span style="color:#b8bfc6">[root@qianfeng01 nginx-1.8.0]# make clean</span></span>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值