编译安装

RPM安装:

   二进制格式:

   源程序----编译----二进制格式

     编译的原因:有些特性是编译选定的,如果编译未选定此特性,将无法使用。

     rpm包的版本会落后于源码包,甚至落后很多。

手动编译安装需要:

 编译环境 、开发环境、开发库、开发工具

 make:项目管理工具

   makefile:定义了make(gcc,g++)按何种次序去编译这些源程序文件中的源程序

automake --makefile.in 注:这是一个半成品,还不能编译这个项目

autoconf --configure,这个脚本是配置项目如何编译的。给用户提供一个接口,开启哪些特性,禁用哪些特性


configure对可选特性设定后,再结合makefile.in,生成一个makefile,然后通过make命令对makefile中的指令对源程序进行编译,编译好以


后就可以把二进制程序放在特定的路径下安装。

   怎样安装?

 make install(就是为了把编译好的文件放在指定的路径下 【配置文件、库文件 帮助文件】)


编译安装的三步骤:

前提:准备开发环境(编译环境)

红帽5 安装“Development Tools”和“Developments Libraries”

拿到源程序后先tar解压缩,然后cd到目录里面去

#tar xf tengine-1.4.2.tar.gz

#cd tegnine-1.4.2

./configure

   --prefix=/path/to/somewhere  注:软件安装的位置

   --sysconfdir=/path/to/conffile_path 注:指定配置文件的路径

例如:./configure --prefix=/usr/local/tengine --conf-path=/etc/tengine/tengine.conf

#make  注:编译

#make install 注:安装

# /usr/local/tengine/sbin/nginx 注:启动nginx程序

此时/usr/local/tengine/sbin不在环境变量里,所有必须全路径才可以启用。

 #vim /etc/profile

PATH=$PATH:/user/local/tengine/sbin 注:在export之前一行添加,然后让系统重读这个脚本

export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC


#source /etc/profile 让系统重读此文件,需要重启机器才可以有效。或者不重读,重新登陆一下机器也可以生效

注意:

我们安装软件包,如果安装在非默认路径下要修改path环境变量

1、修改PATH环境变量,以能够识别此程序的二进制文件路径

  方法一:修改/etc/profile文件

  方法二:在/etc/profile.d/目录建立一个以.sh为名称后缀的文件,在里面定义export PATH=$PATH:/path/to/somewhere

2、默认情况下,系统搜索库文件的路径/lib, /usr/lib,要增添额外搜寻路径

   在/etc/ld.so.conf.d/ 中创建 .conf为后缀名的文件,而后把要增添的路径直接写至此文件中(下次重启能找到库了)

  #ldconfig (执行此命令可以重新搜寻库文件)

           -v:显示重新搜寻库的过程

3、头文件(二次开发的软件提供输出库功能的,它都有头文件),任何一个二进制程序要想调用别人的库,要提前声明并包含到当前系统中


来。就需要include包含库文件所提供的功能的

    头文件里有函数、参数、以及参数类型等相关属性

 头文件需要输出给系统,默认:/usr/include

  自定义:增添头文件搜寻路径,使用链接

把/usr/local/tengine/include/ 链接到/usr/include/下有两种方法

第一:ln -s /usr/local/tengine/include/*  /usr/include/  注:不该变文件名,把include下所有文件链接到/include这个目录下

第二:ln -s /usr/local/tengine/include    /usr/include/tengine  注:把include目录链接到include/下的一个目录,并命名tengine

4、手动编译的man文件不在标准路径的时候。

  man文件路径:安装在--prefix指定的目录下的man目录。 标准:/usr/share/man

 方法一:man -M /PATH/TO/MAN_DIR COMMAND

 方法二:在/etc/man.config中添加一条“MANPATH //usr/local/tengine/man”


netstat:显示网络状况的命令

   -r:显示路由表

   -n:以数字方式显示

   -t:显示tcp的连接

   -u:显示udp连接

   -l:显示监听状态的连接

   -p:显示监听指定的套接字的进程的进程号及进程名


关闭端口 # kill 16744



你可能感兴趣的:(编译安装)