macOS 上从源码安装 Nginx

在 macOS 上从源码安装 Nginx 并带上 --with-ipv6 参数进行编译,你可以按照以下步骤操作:

1. 安装依赖

首先,安装 Nginx 编译所需的依赖项。对于 macOS,你可能需要使用 Homebrew 来安装这些依赖项:

复制代码

bash复制代码

|---|----------------------------------|
| | brew install pcre zlib openssl |

2. 下载 Nginx 源码

访问 Nginx 官方网站下载 Nginx 的源码包,或者使用命令行工具如 curl 或 wget 下载:

复制代码

bash复制代码

|---|--------------------------------------------------------------------------|
| | wget http://nginx.org/download/nginx-x.x.x.tar.gz # 请替换 x.x.x 为你想要的版本号 |

3. 解压源码包并进入目录

解压下载的源码包,并进入解压后的目录:

复制代码

bash复制代码

|---|-----------------------------------------------------|
| | tar -xzf nginx-x.x.x.tar.gz # 请替换 x.x.x 为你下载的版本号 |
| | cd nginx-x.x.x # 进入解压后的目录 |

4. 配置和编译

使用 ./configure 脚本配置 Nginx 的编译选项,并加上 --with-ipv6 参数来支持 IPv6:

复制代码

bash复制代码

|---|----------------------------------------------|
| | ./configure --prefix=/usr/local/nginx \ |
| | --sbin-path=/usr/local/nginx/nginx \ |
| | --conf-path=/usr/local/nginx/nginx.conf \ |
| | --pid-path=/usr/local/nginx/nginx.pid \ |
| | --with-http_ssl_module \ |
| | --with-ipv6 |

这里的 --prefix 参数指定了 Nginx 的安装目录,其他参数则分别指定了 Nginx 可执行文件、配置文件和 PID 文件的路径。--with-http_ssl_module 参数用于启用 SSL 支持,而 --with-ipv6 参数则用于启用 IPv6 支持。

5. 编译和安装

使用 make 命令编译源码,然后使用 sudo make install 命令安装 Nginx:

复制代码

bash复制代码

|---|---------------------|
| | make |
| | sudo make install |

6. 配置 Nginx

安装完成后,你需要配置 Nginx 以支持 IPv6。编辑 Nginx 的配置文件 /usr/local/nginx/nginx.conf,找到 server 块,并确保 listen 指令包含 IPv6 地址:

复制代码

nginx复制代码

|---|------------------------------------------|
| | server { |
| | listen [::]:80; # 监听所有 IPv6 地址的 80 端口 |
| | ... |
| | } |

7. 启动 Nginx

最后,你可以启动 Nginx 服务:

复制代码

bash复制代码

|---|--------------------------|
| | /usr/local/nginx/nginx |

8. 验证安装和配置

使用 curl 或其他工具来验证 Nginx 是否正在运行并正确配置了 IPv6 支持:

复制代码

bash复制代码

|---|---------------------|
| | curl -6 localhost |

如果一切正常,你应该能够看到 Nginx 的默认欢迎页面。

请注意,这些步骤可能会因为 Nginx 版本的不同而略有差异。务必参考你所使用的 Nginx 版本的官方文档以获取最准确的安装和配置指导。

相关推荐
枫叶轻语2 分钟前
【Nginx 从入门到实战 07】root 与 alias:资源路径到底怎样对应?
nginx·全栈
acd120093 小时前
Nginx 反向代理的缓冲区坑:后端响应大时接口偶发 502
java·运维·nginx
Thanks_ks4 小时前
常见 HTTP 状态码的坑:301/302、401/403、500/502 之间差的那一个词
计算机网络·nginx·http·面试·状态码·后端开发·浏览器缓存
Lsetea1 天前
Certbot webroot申请SSL证书总是404:Nginx挑战目录与路径映射检查
运维·nginx·https·ssl证书·certbot
莫晓燚1 天前
双机部署若依 (RuoYi‑Vue) 传统环境部署---实战
linux·运维·数据库·redis·mysql·nginx·ruoyi
山乐191311 天前
麒麟系统,安装Nginx并配置https证书
运维·nginx·https
一直在努力学习的菜鸟1 天前
阿里云SSL证书到期更换指南(Nginx + Typecho)
nginx
雾时之林1 天前
Nginx反向代理与proxy_cache缓存搭建CDN服务器
服务器·nginx·缓存
Linux_cy1 天前
nginx 502 排查手册:九种原因分类、定位命令与检查顺序
linux·运维·服务器·网络·数据库·nginx·ssh
开源必胜2 天前
Socket、异步非阻塞 I/O 与 NGINX、Netty 模型
网络·tcp/ip·nginx