1 源码安装nginx
编译环境如gcc和 gcc-c++编译器,make
准备软件 :ginx-1.18.0.tar.gz
部署Nginx
安装nginx源码编译,需要的依赖包:
[root@xuegod63 ~]# yum -y install gcc gcc-c++ make zlib-devel pcre pcre-devel openssl-devel
软件包说明: gcc c 语言编译器。
gcc-c++ c++ 语言编译器。
make 用于 configure 和 make 编译的工具。
zlib :nginx 提供 gzip 模块,需要 zlib 库支持。
openssl :nginx 提供 ssl 功能。
pcre包作用是让nginx支持正则表达式,地址重写rewrite 开始安装:
源码编译3把斧:./configure , make ,make install
` [root@xuegod63 ~]# tar zxvf nginx-1.18.0.tar.gz
[root@xuegod63 ~]# cd nginx-1.18.0
[root@xuegod63 nginx-1.18.0]#./configure--prefix=/usr/local/nginx
[root@xuegod63 ~]#make -j 4
[root@xuegod63 ~]#make install `
详解源码安装3把斧 配置(configure)编译(make)、安装(make install)
# ./configure
a. 指定安装路径,例如 --prefix=/usr/local/nginx
b. 启用或禁用某项功能, 例如 --enable-ssl,--disable-filter
c. 和其它软件关联,例如 --with-pcre --with-http_ssl_module
d. 检查安装环境,例如是否有编译器gcc,是否满足软件的依赖需求
最终生成:Makefile
# make -j 4 #把源代码文件编译成可执行的二进制文件,按Makefile文件编译,可以使用-j 4指定4核心CPU编译,提升速度
# make install #按Makefile定义的文件路径安装
# make clean // 清除上次的make命令所产生的object 和 Makefile文件。 使用场景:当需要重新执行configure时,需要先执行make clean。如下:
[root@xuegod63 nginx-1.18.0]# make clean ( 仅仅清除之前的可执行文件及配置文件 )
rm -rf Makefile objs****
[root@xuegod63 nginx-1.18.0]# ./configure --prefix=/usr/local/nginx # 重新进行配置
方法5: 使用yum去搜索,推荐使用这个方法
[root@xuegod63 Packages]# yum search ext2fs
安装库:****
[root@xuegod63 ~]# cd /mnt/BaseOS/Packages/
[root@xuegod63 Packages]# rpm -ivh e2fsprogs-libs-1.45.4-3.el8.x86_64.rpm
Verifying... ################################# [100%]
Preparing... ################################# [100%]
****package e2fsprogs-libs-1.45.4-3.el8.x86_64 is already installed
互动:这里显示库已经安装,但是configure时又说找不到。怎么办?
解决:安装了库,却显示找不到。 这种情况: 需要安装库的开发文件
[root@xuegod63 Packages]# rpm -ivh e2fsprogs-devel-1.45.4-3.el8.x86_64.rpm
d evel = development ( 开发 )
扩展:技巧
查看rpm包安装后生成的文件:
[root@xuegod63 Packages]#rpm -qpl e2fsprogs-devel-1.41.12-11.el6.x86_64.rpm | more
注:可以看到很多.h结尾的文件,这些文件叫头文件。有了这些头文件, ./configure 通过.h头文件,才能找到对应的库文件。所以库文件和devel开发包都要安装。
[root@xuegod63 extundelete-0.2.4]# make -j 4
这个软件只能在centos 6 上安装成功,这里只是为了方便学习寻找依赖库的几种方法
总结,软件安装方法特点:
rpm+yum:方便,软件版本低。稳定性好、管理方便。性能稍差。
源码编译安装:麻烦,软件版本新,可以定制。稳定性稍差、管理稍差。性能好。
源码编译安装:主要是安装LAMP或LNMP 架构时,我们会用
更多技术干货尽在公众号【学神来啦】!