本次我们以安装tengine的源码包为例演示
在操作前,我们应该先确认服务器上已经具备了相关的编译软件,我们可以执行一遍下载相关软件,准备好编译环境。
[root@localhost /]# yum install -y gcc make zlib-devel pcre pcre-devel openssl-devel
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
软件包 gcc-4.8.5-44.el7.x86_64 已安装并且是最新版本
软件包 1:make-3.82-24.el7.x86_64 已安装并且是最新版本
软件包 zlib-devel-1.2.7-21.el7_9.x86_64 已安装并且是最新版本
软件包 pcre-8.32-17.el7.x86_64 已安装并且是最新版本
软件包 pcre-devel-8.32-17.el7.x86_64 已安装并且是最新版本
软件包 1:openssl-devel-1.0.2k-26.el7_9.x86_64 已安装并且是最新版本
无须任何处理
1.我们先现在tengine,我们选择登录官网下在后缀为tar.gz的包,使用wget工具下载
[root@localhost /]# wget https://tengine.taobao.org/download/tengine-2.3.0.tar.gz
#复制上面的下载连接到Linux里,是wget下载
--2024-04-22 14:37:04-- https://tengine.taobao.org/download/tengine-2.3.0.tar.gz
正在解析主机 tengine.taobao.org (tengine.taobao.org)... 59.82.60.20, 2408:4001:f00::3f5
正在连接 tengine.taobao.org (tengine.taobao.org)|59.82.60.20|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:2389514 (2.3M) [application/octet-stream]
正在保存至: “tengine-2.3.0.tar.gz”100%[=======================================================================================================================================================================>] 2,389,514 5.70MB/s 用时 0.4s
2024-04-22 14:37:05 (5.70 MB/s) - 已保存 “tengine-2.3.0.tar.gz” [2389514/2389514])
2.解压源码包,注意源码包都是压缩包,所以需要我们先解压再安装
[root@localhost /]# tar zxf tengine-2.3.0.tar.gz
[root@localhost /]# ls
bin boot data dev etc home lib lib64 machine-id media mnt opt proc root run sbin srv sys tengine-2.3.0 tengine-2.3.0.tar.gz tmp usr var
文件夹tengine-2.3.0就是tengine-2.3.0.tar.gz解压后的文件夹,我们进入文件下看看
[root@localhost /]# cd /tengine-2.3.0/
[root@localhost tengine-2.3.0]# ls
AUTHORS.te auto CHANGES CHANGES.cn CHANGES.ru CHANGES.te conf configure contrib docs html LICENSE man modules packages README.markdown src tests THANKS.te
3.配置编译文件,编译软件我们可以自定义安装目录和模块等,我们使用./configure 配置,我们本次自定义软件用户和属组,还有安装目录。
--user=tengine 指定用户tengine
--group=tengine 指定用户组tengine
--prefix=/data 定制安装目录/data
注:编译安装常规都需要给软件创建一个单独的用户,以保障业务安全,软件被控制后使攻击者无法轻易获取超管权限
[root@localhost tengine-2.3.0]# ./configure --user=tengine --group=tengine --prefix=/data
checking for OS
+ Linux 3.10.0-693.el7.x86_64 x86_64
checking for C compiler ... found
+ using GNU C compiler
.....
4.编译。我们使用make命令。注:如编译环境软件不具备,此处会报错
[root@localhost tengine-2.3.0]# make
make -f objs/Makefile
make[1]: 进入目录“/tengine-2.3.0”
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I src/proc -I objs \
-o objs/src/core/nginx.o \
src/core/nginx.c
cc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I src/proc -I objs \
-o objs/src/core/ngx_log.o \
src/core/ngx_log.c
......
5.安装,我们使用make install命令
[root@localhost tengine-2.3.0]# make install
make -f objs/Makefile install
make[1]: 进入目录“/tengine-2.3.0”
test -d '/data' || mkdir -p '/data'
test -d '/data/sbin' \
|| mkdir -p '/data/sbin'
.....
6.启动tengine
[root@localhost sbin]# /data/sbin/nginx
7.验证,我使用的是VM虚拟机,在本机浏览器打开虚机地址,如出现下列界面,代表安装成功