你可能忽略的macOS下brew安装nginx细节解读,干货
最终预期安装效果
成功安装的命令检测效果和浏览器访问到的nginx首页如下图。
// 查看当前brew启动正在运行的服务集合
brew services list

最终安装启动成功的效果
浏览器访问http://127.0.0.1:8080,访问本机默认的nginx安装web服务

浏览器成功打开默认nginx首页
环境准备
Mac系统,10.x系列

Mac系统
Step1.查看是否安装nginx
首先,macOS本身是没有自带nginx,我们需要先查看是否已经安装nginx。
在终端bash命令行输入 nginx,如果提示command not found:nginx说明没有安装
// 探测是否安装nginx
nginx

没有安装nginx
Step2.搜索、安装nginx
// brew搜索nginx软件
brew search nginx
// 安装
brew install nginx

安装详情1

安装详情2

安装详情3
详解brew安装步骤
我们详细解读一下brew安装nginx的过程
1.下载安装依赖项:OpenSSL、pcre
在之前centos平台安装nginx中,我们了解到,nginx依赖openSSL,实现https以及pcre(Perl Compatible Regular Expressions)的perl 兼容的正则表达式库。在macOS系统,brew安装软件需要先下载安装依赖库文件进行编译。

下载依赖项openSSL、pcre
2.CA文件存放
翻译意思为:已使用系统中的证书引导CA文件钥匙扣。要添加其他证书,请放置.pem文件到certs目录。
解读:nginx使用https时,证openssl证书默认制作后公钥、私钥的位置,格式为pem。
查找资料此处c_rehash文件的作用:为文件创建一个符号连接,并将此符号连接的名称设为文件的hash值,让openssl在证书目录中能够找到证书。

certs证书文件夹位置
3.openssl路径和brew软件冲突处理
翻译为:openssl1.1是孤立存在的,并没有链接到local目录下,因为macOS提供了LibreSSL。如果需要,则需要在系统环境变量下到处对应路径。
解读:此处说明,为了不和macOS系统的自带SSL库LibreSSL冲突,brew此处安装的openssl1.1只是解压出来的包,并不会全局调用。意义:我们如果有不同版本软件冲突时,我们要注意不能与系统自带应用或已安装的冲突。brew在软件冲突做了很好的处理。

brew安装openssl1.1独立安装避免与系统自带的LibreSSL冲突
4.brew安装完成后提供的nginx的启动、配置提示
信息要点:
- nginx的配置文件路径/usr/local/etc/nginx/nginx.conf
- nginx的默认端口号为8080
- nginx将从以下目录加载:/usr/local/etc/nginx/servers/
- 后台服务启动nginx命令:brew services start nginx
- 如果你不想要后台进程启动,执行命令:nginx

brew安装完成提供的nginx启动配置提示
解读:这里的信息是最为关键的,全面介绍了brew安装完成nginx后,配置文件、默认端口号、文件目录、后台启动nginx启动命令以及单独启动nginx命令。
对于新手第一次使用nginx,这些信息应该是值得注意的。
step3.brew后台方式启动nginx
// brew后台启动nginx
brew services start nginx

brew后台服务启动nginx
step4.brew查看nginx启动情况
// 查看当前brew启动的服务情况
brew services list

brew查看启动服务情况
解读:提示信息中的homebrew.mxcl.nginx.plist为macOS中启动项的配置,开机加载。这一点是同windows、linux的开机启动一个道理。brew安装软件,很方便为我们提供了服务化的启动方式,以及友好的关联开机启动,非常方便。
最终效果

浏览器成功打开默认nginx首页
总结
本文macOS下brew安装nginx,其实是安装类似软件的一个缩影。我们可以从安装过程中发现,brew友好的安装、提醒,我们在安装软件时,也可以注意一下软件的提醒。因为像nginx软件开发者,他们注重到了不同平台的特性,在安装nginx后,能够自动把事先准备好的plist启动项自动增加到启动项文件夹,减少用户烦恼。
相关推荐
-
MySQL 由于 Java 日期 LocalDateTime 数据精度引发的线上问题
MySQL 由于 Java 日期 LocalDateTime 数据精度引发的线上问题2025-04-02 00:59:31 -
MySQL最常用分组聚合函数2025-04-02 00:55:56
-
NGINX: 轮询调度、加权轮询调度、平滑加权轮询调度2025-04-02 00:55:49
-
在Windows平台上安装Nginx并设置开机自动启动服务2025-04-02 00:47:04
-
PHP判断文件或者目录是否可写,兼容windows/linux系统
PHP判断文件或者目录是否可写,兼容windows/linux系统2025-04-02 00:27:54