程序包编译安装

一、几个概念

    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
下一篇 2015-05-11

相关推荐

  • 操作系统图形界面发展史(1981-2009)

    注意,本文这罗列了从1981年以来有重大意义的操作系统的图形界面。 首先,先介绍两个网站: http://www.guidebookgallery.org/ 如果你比较关注图形化UI的设计, 可以上这个网站上看看。 http://toastytech.com/guis/index.html 这是一个操作系统图形界面收集的网站,上面几科包括…

    Linux干货 2016-05-17
  • 震惊!!iptables还能这样用!

    基本语法:iptables [-t 表] [操作命令] [链][规则匹配器][-j 目标动作] 系统的INPUT和OUTPUT默认策略为DROP; # iptables -P INPUT DROP # iptables -P OUTPUT DROP 1、限制本地主机的web服务器在周一不允许访问;新请求的速率不能超过100个每秒;web服务器包含了admin…

    系统运维 2017-04-18
  • SQL Server 2012 故障转移群集最佳实践

    一、Windows server  2012 系统主域的安装配置 功能介绍:  SQL Server 故障转移群集在网络上显示为一台计算机上的单个 SQL Server 实例。在群集内部,一次只有一个节点拥有群集资源组,满足针对该故障转移群集实例的所有客户端请求。在出现故障(硬件故障、操作系统故障、应用程序或服务故障)或进行计划升级时,组…

    Linux干货 2015-10-27
  • 路由器解析路由表

    1.定义——>选择最佳路径;他只完成发送到下一个路径上就结束,任务到达就撤了(就像快递员一样,当他将物件发往到下一个目的地,那他的任务就结束了)2.分类:主机路由、网络路由、默认路由3.每个路由记录由四项主要组成部分目标地址:主机IP、网络ID号、未知地址(0.0.0.0)子网掩码接口interface:从哪个口发往目标地址 网…

    2017-09-05
  • Redhat kickstart 无人值守安装

                       Redhat kickstart 无人值守安装 一、PXE       PXE工作于Client/Server的网络模式,支持可以通…

    系统运维 2016-09-21
  • Linux网络管理之网络配置管理和子网划分

    配置网卡信息 获取网卡的信息 dmesg | grep -i eth 获取网卡芯片信息 lspci | grep -i eth 查询IP信息 ifconfig显示IP信息    -a:显示包括未激活状态的网卡信息 重启网卡服务(每次配置完ip需要手动重启此服务) CentOS6: servcie network restart CentO…

    Linux干货 2016-09-07

评论列表(1条)

  • stanley
    stanley 2015-05-11 14:16

    干净,清爽,赞