程序包编译安装

一、几个概念

    1、开放源码

        程序代码,人类可能读懂的程序语言,但是计算机不能识别和执行;

    2、编译程序

        将程序代码翻译成计算机可以识别的语言;

    3、二进程程序 

        经过编译程序翻译后得到的可以被执行的程序文件。

二、编译源程序的步骤

    1、configure

        检测程序,并生成makefile文件,其检测的内容如下:

            是否有适合的编译程序;

            是否有本软件所需的函数库或其他需要的相关软件;

            操作系统平台是否支持些软件;

            内核的头定义文件是否存在。

        configure脚本的使用:

            1)获取帮助

                ./configure –help

            2)较通用的一些选项

            安装路径相关

                –prefix =/path/to/somewhere:指定安装路径

                –sysconfdir=/path/to/somewhere:指定配置文件安装路径

            指定启用/禁用的特征

                –enable -FEATURE:例如 –enable -fpm

                –disable -FEATURE:例如 –disable -sochet

            指定所依赖的功能 :程序或文件

                –with -FUNCTION [=/path/to/somewhere]

                –without -FUNCTION

    2、make

        根据makefile文件中所记录的内容,来对源码进行编译。

    3、make install 

        安装软件。

三、编译安装Nginx

    前提:在进行编译安装前必须安装gcc编译器。

    1、检查运行环境

1.png

        –prefix:指定nginx的安装路径;

        –conf-path:指定主配置文件的位置;

        –with-pcre:指定pcre源码包的位置;

        –with-zlib:指定zlib源码包的位置;

        注意:pcre和zlib都是源码包的位置,而不是安装的路径,如下图所示:

1.1.png

    2、编译程序(调用gcc)

2.png

    3、安装程序 

3.png

    4、启动nginx服务

4.png

        使用浏览器访问测试:

5.png

    5、安装后的配置

        1)让二进制程序直接运行,而无须输入路径

            在目录/etc/profile.d/中创建nginx.sh文件,内容如下:

6.png

            重新登录终端后,测试效果:

7.png8.png

        2)导出手册页(模拟)

            因为nginx没有man手册,我们只能假设nginx的man手册的路径为/usr/local/nginx/man,如果想使用man命令直接调用手册的话,可以进行以下操作:

            在/etc/man.config文件中加入一行,如下图所示:

9.png10.png

        3)导出库文件(模拟)

            在/etc/ld.so.conf.d/目录中创建nginx.conf文件

11.png            触发系统重新搜索所有的库文件并生成缓存:

12.png

        4)导出头文件(模拟)

            假设nginx的头文件在/usr/local/nginx/include目录中;

            系统找头文件的路径:/usr/include

            导出方式是创建链接文件:

                ln -sv /usr/local/nginx/include /usr/include/nginx

原创文章,作者:petmaster,如若转载,请注明出处:http://www.178linux.com/3975

(0)
petmasterpetmaster
上一篇 2015-05-11 14:11
下一篇 2015-05-11 14:18

相关推荐

  • 如何成为一名软件架构师

    Daniel Mohl是一名专业的软件工程师/架构师,他的兴趣包括理解各种复杂的编程语言、企业应用架构以及如何搭建业务与技术,他通晓F#、C#、CoffeeScript、JavaScript、Erlang、ASP.NET、MVC、WPF、WCF、Sliverlight、SQL Server等技术。有着多年的软件开发经验。 他经常会被一些有潜力和有前途的程序员…

    Linux干货 2016-03-22
  • 关于touch/>/>>创建同名文件的总结

    一、简介 1、touch     即创建文件或修改文件时间     语法:touch [options] file-list 2、>     创建文件,可直接把内容生成到指定文件,会覆盖源文件中的内容;也可以直接生成一个空白文件。     语法:> file…

    2017-02-18
  • 马哥教育网络21期+第五周练习博客

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; [root@localhost ~]#  grep '[^[:space:]]\+' /boot/grub2/grub.cfg 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符…

    Linux干货 2016-08-08
  • rpm和yum

     1、rpm的安装 rpm {-i|–install} [install-options] PACKAGE_FILE… -v: verbose -h: 以#显示程序包管理执行进度 rpm -ivh PACKAGE_FILE … [install-options] …

    Linux干货 2016-08-21
  • vim小结

    1. 简介 Vim(Vi[Improved])编辑器是功能强大的跨平台文本文件编辑工具,继承自Unix系统的Vi编辑器,支持Linux/Mac OS X/Windows系统,利用它可以建立、修改文本文件。进入Vim编辑程序,可以在终端输入下面的命令: $vim [filename] 其中filename是要编辑器的文件的路径名。如果文件不存在,它将…

    Linux干货 2016-08-12
  • B-树和B+树的应用:数据搜索和数据库索引

    B-树 1 .B-树定义 B-树是一种平衡的多路查找树,它在文件系统中很有用。 定义:一棵m 阶的B-树,或者为空树,或为满足下列特性的m 叉树:⑴树中每个结点至多有m 棵子树;⑵若根结点不是叶子结点,则至少有两棵子树; ⑶除根结点之外的所有非终端结点至少有[m/2] 棵子树;⑷所有的非终端结点中包含以下信息数据:    &nb…

    Linux干货 2015-07-30

评论列表(1条)

  • stanley
    stanley 2015-05-11 14:16

    干净,清爽,赞