mac编译安装Nginx

140 阅读2分钟

一、安装wget

使用homebrew安装wget

brew install wget

安装wget时报错

tar: Error opening archive: Failed to open '/Users/xxx/Library/Caches/... 在这里插入图片描述 发现是install libunistring的时候失败报错; 单独安装此依赖; 在这里插入图片描述 安装成功,再继续安装wget;后续出现同样的报错,还是此方法解决。

二、用wget下载nginx源码包

官网地址: nginx.org/en/download… 选择最新稳定版本 在这里插入图片描述 链接为:nginx.org/download/ng…

wget http://nginx.org/download/nginx-1.20.2.tar.gz

在这里插入图片描述 下载成功。

三、解压下载好的源码包

ls命令查看已经下载好的源码包; 在这里插入图片描述

tar -xzvf nginx-1.20.2.tar.gz

-x提取,-z解压gz类型文件,-v显示细节,-f处理的是文件 在这里插入图片描述 解压成功。

四、配置和解决依赖

进入nginx目录

cd nginx-1.20.2/
ls

在这里插入图片描述 configure可执行文件; 使用autoconf工具安装程序; 命令:

./configure
./configure --help | head -n 10

查看所有配置项; 在这里插入图片描述

可以先都默认; 执行命令:

./configure

在这里插入图片描述 检查需要哪些依赖;

安装gcc

如果没有装gcc,需要安装gcc;

brew install build-essential

安装PCRE库

报错缺少PCRE库 在这里插入图片描述 可以编译安装: 官网:www.pcre.org/ 1.下载安装包; 2.解压下载的pcre工具,跳转到对应目录; 3.执行命令./configure --prefix=/opt/pcre 会进行相关检查; 4.检查完毕后,执行make && make install命令,如无报错,则安装完毕;

也可以brew安装:

brew install pcre

在这里插入图片描述 安装完毕;

再次执行./configure;

还是报错 在这里插入图片描述 应该是找不到路径; 首先通过brew找到pcre的路径;

brew info pcre

在这里插入图片描述 /opt/homebrew/Cellar/pcre/8.45

./configure --with-pcre=/opt/homebrew/Cellar/pcre/8.45

安装zlib

如果报错没有zlib,需要安装zliblg-dev;

在这里插入图片描述 执行成功。

五、编译和安装

make && sudo make install

报错了 在这里插入图片描述

把以上库的解压目录也移动到和 nginx 同目录; 我的nginx在家目录下;

mv pcre ~

切换到nginx目录

cd nginx-1.20.2/

make还是报错; blog.csdn.net/weixin_3087… 是由于nginx高版本的需要使用pcre原文件路径, 使用nginx配置的时候 ./configure --with-pcre=~ 在这里插入图片描述

./configure --with-pcre=/opt/homebrew/Cellar/pcre/8.45 在这里插入图片描述 /Users/xxx/Downloads/Xcode.app/Contents/Developer/usr/bin/make -f objs/Makefile install cd /opt/homebrew/Cellar/pcre/8.45
&& if [ -f Makefile ]; then /Users/xxx/Downloads/Xcode.app/Contents/Developer/usr/bin/make distclean; fi
&& CC="cc" CFLAGS="-O2 -pipe "
./configure --disable-shared /bin/sh: ./configure: No such file or directory make[1]: *** [/opt/homebrew/Cellar/pcre/8.45/Makefile] Error 127 make: *** [install] Error 2

两个路径都失败了,然后去查了一下,现在pcre在哪个路径; 在这里插入图片描述 发现提示not installed;我不理解......

用编译安装试一次;

github.com/PCRE2Projec…

wget https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.40/pcre2-10.40.tar.gz

在这里插入图片描述

tar -xzvf pcre2-10.40.tar.gz

切换到对应目录下;

cd pcre2-10.40/

进行安装前检查;

./configure

没有报错,执行编译安装;

make && make install 

检查安装是否完成;

make -k check

安装的时候又报错了; 在这里插入图片描述

到目前只差最后编译安装这一步了,但是不知道为什么总是失败,希望 上面的内容能帮助到大家,不知道有没有好心人知道为什么make && make install 总是报错,请指点一下。