安装nginx时报错解决(configure error: the HTTP gzip module requires the zlib library)
安装nginx时报错解决
下载地址
nginx源码包下载地址:
https://nginx.org/en/download.html
安装环境
- Ubuntu 20.04 LTS
- nginx-1.23.4
安装步骤
#解压缩包
tar -zxvf nginx-1.23.4.tar.gz
#进入包目录
cd nginx-1.23.4
#生成makefile
./configure
就在./configure这一步出现了依赖库相关的报错,以下是解决过程的记录
报错解决
由于使用的是源码包编译安装,所以其依赖库不会像使用apt install
一样自动下载和安装依赖,所以难免会有安装报错,此时只需要按照提示手动安装其依赖库即可。
所以为了图省事,其实可以直接使用命令sudo apt install nginx
安装!
1. ./configure报错1:
解决: sudo apt install libpcre3 libpcre3-dev
缺少PCRE库,使用命令 安装该库,当不知道库名时可TAB
键补全,当有多个版本不知道选那个的情况下,安装最新的版本总没错,或者干脆全部安装。
如果系统里面已经安装了这个库,只是找不到路径,那么使用--with-pcre=<path>
指定一下
2. ./configure报错2
解决:sudo apt install libzip5 libzip5-dev
ubuntu的包源中没有找了所谓zlib
库,但是推测是一个网络传输必备的压缩库,尝试安装zip库libzip5
替代, 果然问题得解,这一步之后./configure成功。
因为libzip5的依赖里面,包含了所谓zlib库
执行./configur
的结果:
nginx path prefix: "/usr/local/nginx"
nginx binary file: "/usr/local/nginx/sbin/nginx"
nginx modules path: "/usr/local/nginx/modules"
nginx configuration prefix: "/usr/local/nginx/conf"
nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
nginx pid file: "/usr/local/nginx/logs/nginx.pid"
nginx error log file: "/usr/local/nginx/logs/error.log"
nginx http access log file: "/usr/local/nginx/logs/access.log"
nginx http client request body temporary files: "client_body_temp"
nginx http proxy temporary files: "proxy_temp"
nginx http fastcgi temporary files: "fastcgi_temp"
nginx http uwsgi temporary files: "uwsgi_temp"
nginx http scgi temporary files: "scgi_temp"
以上安装路径都是默认的,当然也可以指定,这里面的configuration prefix
路径要特别注意一下,因为之后要修改的nginx配置文件都在这里了。
最后使用make & sudo make install
即可完成安装
安装完成测试
ubuntu:~/nginx-1.23.4$ /usr/local/nginx/sbin/nginx -v
nginx version: nginx/1.23.4
常用命令
(1) 启动:
nginx
(2) 测试Nginx配置是否正确:
nginx -t
(3) 优雅重启:
nginx -s reload
(4) 查看nginx的进程号:
ps -ef |grep nginx
(5)nginx服务停止
nginx -s stop
kill -9 pid 杀死进程