在上篇文章中安装 Nginx 时,因为我的系统中没有 zlib 库,因此无法直接编译 Nginx,需要忽略这个库。这个库的作用是让 Nginx 可以开启 gzip 来让 http 支持压缩功能。为了能够让我们的 Nginx 正常支持 gzip,我们需要安装 zlib 库,并且将忽略的库编译进来。具体步骤如下:
1、安装 zlib 库
安装 zlib 库,我们可以使用编译的方式,也可以使用 yum 进行安装,这里我们选择使用 yum 安装的方式。
[root@localhost ~]# yum install -y zlib-devel
2、查看 Nginx 的的编译参数
gzip 是 Nginx 默认支持的一个库,我们在上次安装时选择了忽略。如果是增加一个第三方库的话,在编译之前也需要查看上次的编译参数,因为在新编译时需要将上次的编译参数也增加进来,保证我们的编译只是在上次的基础上进行改动。而我们这里其实只需要将忽略 zlib 库的参数删除掉就可以了。
[root@localhost objs]# ./nginx -Vnginx version: nginx/1.18.0 built by gcc4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) configure arguments: --prefix=/usr/local/nginx --without-http_gzip_module
3、清除掉 objs 目录
[root@localhost nginx-1.18.0]# make cleanrm-rf Makefile objs [root@localhost nginx-1.18.0]# lsauto CHANGES CHANGES.ru conf configure contrib html LICENSE man README src
4、重新编译
把上次忽略的 zlib 的参数删除掉,就会将 gzip 编译到 Nginx 模块下。
[root@localhost nginx-1.18.0]# ./configure --prefix=/usr/local/nginx[root@localhost nginx-1.18.0]# make
5、拷贝新 Nginx 文件
拷贝新 Nginx 文件前,需要停止掉 Nginx 的服务,然后将原来的 Nginx 文件进行备份,最后将新编译好的 Nginx 文件复制到原来 Nginx 的目录下。
[root@localhost nginx-1.18.0]# cd objs/[root@localhost objs]# lsautoconf.err Makefile nginx nginx.8 ngx_auto_config.h ngx_auto_headers.h ngx_modules.c ngx_modules.o src [root@localhost objs]# ./nginx -Vnginx version: nginx/1.18.0 built by gcc4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) configure arguments: --prefix=/usr/local/nginx [root@localhost objs]# systemctl status nginx.service● nginx.service - nginx Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled) Active: inactive (dead) [root@localhost objs]# mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak[root@localhost objs]# ls /usr/local/nginx/sbin/nginx.bak [root@localhost objs]# cp ./nginx /usr/local/nginx/sbin/[root@localhost objs]# ls /usr/local/nginx/sbin/nginx nginx.bak
6、启动服务
[root@localhost objs]# systemctl start nginx.service[root@localhost objs]# systemctl status nginx.service● nginx.service - nginx Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled) Active: active (running) since 六 2020-08-1520:38:09 CST; 14s ago Process: 3956ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf (code=exited, status=0/SUCCESS) Main PID: 3957 (nginx) CGroup: /system.slice/nginx.service ├─3957 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf └─3958 nginx: worker process 8月 1520:38:09 localhost.localdomain systemd[1]: Starting nginx... 8月 1520:38:09 localhost.localdomain systemd[1]: Started nginx.