一、几个概念 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、检查运行环境
–prefix:指定nginx的安装路径; –conf-path:指定主配置文件的位置; –with-pcre:指定pcre源码包的位置; –with-zlib:指定zlib源码包的位置; 注意:pcre和zlib都是源码包的位置,而不是安装的路径,如下图所示:
2、编译程序(调用gcc)
3、安装程序
4、启动nginx服务
使用浏览器访问测试:
5、安装后的配置 1)让二进制程序直接运行,而无须输入路径 在目录/etc/profile.d/中创建nginx.sh文件,内容如下:
重新登录终端后,测试效果:
2)导出手册页(模拟) 因为nginx没有man手册,我们只能假设nginx的man手册的路径为/usr/local/nginx/man,如果想使用man命令直接调用手册的话,可以进行以下操作: 在/etc/man.config文件中加入一行,如下图所示:
3)导出库文件(模拟) 在/etc/ld.so.conf.d/目录中创建nginx.conf文件
触发系统重新搜索所有的库文件并生成缓存:
4)导出头文件(模拟) 假设nginx的头文件在/usr/local/nginx/include目录中; 系统找头文件的路径:/usr/include 导出方式是创建链接文件: ln -sv /usr/local/nginx/include /usr/include/nginx