macOS 上从源码安装 Nginx

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

1. 安装依赖

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

复制代码

bash复制代码

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

2. 下载 Nginx 源码

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

复制代码

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 版本的官方文档以获取最准确的安装和配置指导。

相关推荐
xixiaoyunya5 小时前
Docker 容器化部署实战:从零搭建一套完整的 Nginx + Node.js + MySQL + Redis 项目环境
nginx·docker·node.js
SendTomo14 小时前
【技术交流】从0到1构建一个汉字学习平台:汉字吧(hanzi8.com)的技术架构猜想
redis·mysql·nginx·php·个人开发
滨哥GPT1 天前
Codex新增文件上传后为什么小文件正常,大文件总失败?Multipart、Body Limit与Nginx限制排查
nginx·ai编程·文件上传·codex·multipart
come112341 天前
Nginx `location` 配置说明(后端开发版)
运维·nginx
PHP实战开发录2 天前
PHP文件上传成功为什么页面却找不到
开发语言·nginx·php·开发
「、皓子~2 天前
海狸IM 2.1 私有化部署从零到一:中间件、微服务与 Nginx 全流程
nginx·flutter·微服务·中间件·开源软件·im·海狸im
徐小黑ACG3 天前
nginx配置文件
linux·服务器·nginx
考虑考虑3 天前
nginx打印请求日志
运维·后端·nginx
Rain的Java大神之路4 天前
JavaWeb开发如何解决跨域问题
java·前端·后端·nginx·web安全·面试·运维开发
Lsetea4 天前
Nginx报SSL_CTX_use_PrivateKey failed:证书与私钥不匹配怎么排查
nginx·https·ssl证书·openssl·私钥