mac编译安装Nginx

2023-11-19

一、安装wget

使用homebrew安装wget

brew install wget

安装wget时报错

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

二、用wget下载nginx源码包

官网地址: http://nginx.org/en/download.html
选择最新稳定版本
在这里插入图片描述
链接为:http://nginx.org/download/nginx-1.20.2.tar.gz

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库
在这里插入图片描述
可以编译安装:
官网:http://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还是报错;
https://blog.csdn.net/weixin_30879169/article/details/95065110
是由于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;我不理解…

用编译安装试一次;

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

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 总是报错,请指点一下。

参考文档:https://blog.csdn.net/u013372487/article/details/106751033

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mac编译安装Nginx 的相关文章

  • Linux 文本文件操作

    我有一个格式的文件 a href a href a href a href 我需要选择 之后但 之前的文本 并将其打印在行尾 添加后 例如 a href http www wowhead com search Su a a a a a
  • linux下如何获取昨天和前天?

    我想在变量中获取 sysdate 1 和 sysdate 2 并回显它 我正在使用下面的查询 它将今天的日期作为输出 bin bash tm date Y d m echo tm 如何获取昨天和前天的日期 这是另一种方法 对于昨天来说 da
  • Linux 中的电源管理通知

    在基于 Linux 的系统中 我们可以使用哪些方法 最简单的方法 来获取电源状态更改的通知 例如 当计算机进入睡眠 休眠状态等时 我需要这个主要是为了在睡眠前保留某些状态 当然 在计算机唤醒后恢复该状态 您只需配置即可获得所有这些事件acp
  • 使用 Xamarin 主题的 Gtk 应用程序非一致性执行

    我有一个 mkbundled mono 应用程序 其中嵌入了 mono 我使用 platypus 创建了一个独立的包 我使用以下内容加载 Mac 主题 Xamarin Gtk Rc Parse Default gtkrc 主题是Xamari
  • 将应用程序级别用户名/用户 ID 注入 nginx/Apache 日志

    有没有办法将应用程序级别的用户名或 id 在本例中为 django 用户名或 id 注入 Apache 或 ngnix 日志中 请注意 我不是询问 HTTP 身份验证用户名 我目前正在使用一个简短的自定义中间件将此数据添加到响应标头 如下所
  • Python 的“platform.mac_ver()”报告不正确的 MacOS 版本

    我正在使用Pythonplatform module https docs python org 3 library platform html要识别 MacOS 版本 如下所示 import platform print platform
  • 为什么 opcache 没有刷新?

    我用guzzlehttp guzzle封装在拉拉维尔 8 升级到后PHP 8 I get Symfony Component ErrorHandler Error FatalError Invalid opcode 117 2 0 in f
  • 错误:NVIDIA-SMI 失败,因为无法与 NVIDIA 驱动程序通信

    NVIDIA SMI 抛出此错误 NVIDIA SMI 失败 因为无法与 NVIDIA 通信 司机 确保安装了最新的 NVIDIA 驱动程序并且 跑步 我清除了 NVIDIA 并按照提到的步骤重新安装了它here https askubun
  • 在 shell 脚本中查找和替换

    是否可以使用 shell 在文件中搜索然后替换值 当我安装服务时 我希望能够在配置文件中搜索变量 然后在该值中替换 插入我自己的设置 当然 您可以使用 sed 或 awk 来完成此操作 sed 示例 sed i s Andrew James
  • 在Python中通过sys.stdout写入unicode字符串

    暂时假设一个人无法使用print 从而享受自动编码检测的好处 所以这给我们留下了sys stdout 然而 sys stdout太蠢了不做任何合理的编码 http bugs python org issue4947 现在人们阅读 Pytho
  • Cocoa Accessibility API,我可以单击后台窗口而不激活它吗?

    我一直在寻找解决这个问题的方法 所以我想我应该寻找比我更伟大的头脑 我正在开发一个 Cocoa 应用程序 它使用 Accessibility API 来操作另一个程序 它是一个热键应用程序 我控制的应用程序通常会打开多个窗口 其中一些窗口隐
  • 如何从类似于 eclipse 的命令行创建可运行的 jar 文件

    我知道 eclipse 会生成一个可运行的 jar 文件 其中提取并包含在该 jar 文件中的所有库 jar 文件 从命令提示符手动创建 jar 文件时如何执行类似的操作 我需要将所有 lib jar 解压到类文件夹中吗 目前我正在使用 j
  • 确保 config.h 包含一次

    我有一个库项目 正在使用 Linux 中的 autotools 套件移植到该项目 我对自动工具很陌生 本周 我已经了解了其操作的基础知识 我有一个关于如何保留内容的问题config h免遭重新定义 我惊讶地发现生成的config h文件也没
  • nginx位置正则表达式,匹配多次

    如何在 nginx 位置正则表达式中多次匹配 看来 x x 语法永远不起作用 例如 location abc w 1 3 从来不工作 您必须引用包含以下内容的位置 or 人物 location abc w 1 3 否则 nginx 将其解析
  • Mac OS X 10.13 上的 RStudio 在尝试使用 fix() 时出现 X11 不可用错误

    我已经使用自制程序在我的计算机上安装了 XQuartz 然后重新启动了我的计算机 当我尝试在 RStudio 中使用 fix 命令时 出现以下错误 gt College read csv College csv header T na st
  • Mac 上的 cp --parents 选项

    在 Linux 上 我有一个可用于 cp 命令的 parents 选项 因此我可以执行以下操作 cp parents test withintest go rb test2 http www gnu org software coreuti
  • 使用 rbenv 在 MacOS 上安装 Ruby 2.6.0 失败

    我在 Mojave 上有一台 Mac 它无法安装开发所需的一些基本内容 rbenv install 2 6 0 Downloading openssl 1 1 1d tar gz gt https dqw8nmjcqpjn7 cloudfr
  • 如何从linux命令行运行.exe可执行文件? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我在 Windows 中有一个 abc exe 可执行文件 我可以使用 DOS 命令提示来执行此应用程序 并为其提供一些运行时变量 我想从
  • 套接字:监听积压并接受

    listen sock backlog 在我看来 参数backlog限制连接数量 这是我的测试代码 server initialize the sockaddr of server server sin family AF INET ser
  • 如何查明 Ubuntu 上安装了哪个版本的 GTK+?

    我需要确定 Ubuntu 上安装了哪个版本的 GTK 男人似乎不帮忙 这个建议 https stackoverflow com a 126145 会告诉您安装了哪个 2 0 的次要版本 不同的主要版本将具有不同的包名称 因为它们可以在系统上

随机推荐

  • 2023年计算机科学与信息技术国际会议(ECCSIT 2023)

    会议简介 Brief Introduction 2023年计算机科学与信息技术国际会议 ECCSIT 2023 会议时间 2023年12月15日 17日 召开地点 中国 北海 大会官网 www eccsit org 2023年计算机科学与信
  • Linux查看当前文件夹的大小

    在Linux中 可以使用du disk usage 命令来查看当前文件夹的大小 以下是一些使用du的方法 查看当前文件夹的大小 为了查看当前文件夹的总大小 可以在文件夹中运行 du sh 这里 s 表示摘要模式 只显示总计 h 表示人类可读
  • ElasticSearch - function_score 实例说明

    官方说明 function score 通过实例说明 先准备数据和索引 在ES插入三笔数据 其中language是keywork类型 like是integer类型 代表点赞量 language java like 5 language py
  • 《QDebug 2023年3月》

    一 Qt Widgets 问题交流 二 Qt Quick 问题交流 三 其他 1 Qt qmake 在 Mac 上生成 dylib 相关的问题 默认的 lib 工程 qmake 输出如图 会生成带版本号的软链接 一般我们只需要一个 lib
  • 二分法求左右边界

    二分法求左右边界搞定 鉴于本人每次做二分的题都被二分的边界搞的云里雾里的 所以这次直接一劳永逸 道理我都懂 就是之前不想整理 直接定义left和right为左闭右闭 这个很重要 当然二分也要求数组必须是有序的 比如 数组长度为10 则lef
  • 新唐NUC980使用记录(5.10.y内核):u-boot & linux & rootfs 编译与烧录测试(基于SD1位置SD卡)

    文章目录 目的 基础准备 烧录环境 开发编译环境 SD卡分区 制作和设置编译工具链 制作toolchain和rootfs 拷贝rootfs内容到SD卡 设置编译工具链 u boot编译与测试 下载 配置与编译 烧录u boot与环境变量 l
  • Java 正则表达式工具类大全

    import java util regex Matcher import java util regex Pattern author nql Description 验证工具类 date now public class Validat
  • Matlab 超前滞后相关,自相关xcorr

    Matlab提供了计算互相关和自相关的函数xcorr函数 1 使用方法 c xcorr x y c xcorr x c xcorr x y option c xcorr x option c xcorr x y maxlag
  • linux函数库之htons(), ntohl(), ntohs(),htons() 函数

    linux疑难问题排查实战 分享了作为公司专家 在项目开发过程中内存优化 堆 栈 代码段 数据段 性能优化 死机 栈越界 堆越界 死锁等疑难问题排查的案例 使用的工具 perf asan strace memleak等 工作经验 大家可以点
  • Linux中的firewall-cmd

    2023年8月4日 周五上午 目录 打开端口 关闭端口 查看某个端口是否打开 查看当前防火墙设置 firewall cmd中的服务 在防火墙中什么是服务 为什么会有服务 打开或关闭服务 查看某个服务是否打开 firewall cmd中的 z
  • Unity MRTK使用详解(Htc vive+LeapMotion)

    MRTK Unity是一个由Microsoft驱动的开源项目 提供了多种组件和功能 用于加速Unity中的跨平台MR应用程序开发 以下是其一些功能 提供跨平台输入系统和用于空间交互和UI组件 启用快速原型通过在编辑器中的模拟 让你马上看到变
  • 在vscode内运行php代码文件

    一 下载php 下载php链接 下载后解压缩文件 我新建了一个php文件夹在解压缩到这里 二 下载Xdebug 下载Xdebug链接 下载后复制粘贴到php文件夹下的ext文件夹 三 修改 在php文件夹下找到这两个文件夹 复制第一个文件夹
  • Hudi原理

    1 摘要 Apache Hudi提供了不同的表类型供根据不同的需求进行选择 提供了两种类型的表 Copy On Write COW Merge On Read MOR 2 术语介绍 在深入研究 COW 和 MOR 之前 让我们先了解一下 H
  • checking for module ‘sqlite3‘ package ‘sqlite3‘ not found

    checking for module sqlite3 package sqlite3 gt 某个版本号 not found 在编译安装其他源码包的时候遇到缺少sqlite3库的问题 这里字面上的意思是没有安装sqlite3 但是造成这个问
  • (python)常见面试题

    1 一行代码实现1 100之和 2 如何在一个函数内部修改全局变量 3 列出5个python标准库 os 提供了不少与操作系统相关联的函数 sys 通常用于命令行参数 re 正则匹配 math 数学运算 datetime 处理日期时间 4
  • Redis数据实战之“万金油”的String,为什么不好用了?

    Redis数据实战之 万金油 的String 为什么不好用了 引言 为什么 String 类型内存开销大 用什么数据结构可以节省内存 如何用集合类型保存单值的键值对 引言 以一个项目需要为例 需要开发一个图片存储系统 要求这个系统能快速地记
  • DNS使用TCP与UDP

    DNS同时占用UDP和TCP端口53是公认的 这种单个应用协议同时使用两种传输协议的情况在TCP IP栈也算是个另类 但很少有人知道DNS分别在什么情况下使用这两种协议 先简单介绍下TCP与UDP TCP是一种面向连接的协议 提供可靠的数据
  • tensorflow-ssd 实现纸张缺陷检测

    环境 win10 tensorflow1 10 python3 6 9 下载https github com balancap SSD Tensorflow到本地 1 解压并测试demo 打开Anaconda prompt 切换到SSD T
  • 我又把HTMLTestRunner改了一下,支持Python3,添加echarts统计饼图

    之前用Bootstrap把HTMLTestRunner改的美观了一点 同时改成了中文的报告 但那个是基于Python2的 见这篇博文 selenium之 输出报告 对HTMLTestRunner进行样式调整后的示例 这次呢 博主又给它改成了
  • mac编译安装Nginx

    一 安装wget 使用homebrew安装wget brew install wget 安装wget时报错 tar Error opening archive Failed to open Users xxx Library Caches