大家好,我是路程lucky,热爱开发、设计、学习、生活、爱捣鼓的web前后端工程师,为您带来原创文章,欢迎持续关注~

今天我们聊一聊macOS下的brew安装nginx,本文重点关注的是安装的细节的解读,其中一些细节可能只注意安装结果的你错过了,本文详细解读。

nginx在之前的篇幅中有介绍,性能强大的web服务器,具有跨平台、代理转发、高性能等各种优势。在centos上安装主要用的yum,而在macOS系统上,我们主要使用brew来进行方便安装。brew为强大的macOS下的第三方安装包管理优秀解决方案。

「动手打造家庭媒体网络平台」扩展篇-centos搭建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说明没有安装

// 探测是否安装nginxnginx

没有安装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后台启动nginxbrew 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启动项自动增加到启动项文件夹,减少用户烦恼。

如果觉得对你有所收获,记得点赞哦~

坚持原创,坚持动手实践,那么持续关注我,给予创造的动力,还给你一片广袤的天空。我是路程lucky,分享和实践专业技能,为美好生活和未来而努力奋斗。

ant centos环境下 编译没有将配置文件加载_你可能忽略的macOS下brew安装nginx细节解读,干货相关推荐

  1. Linux下编译、链接、加载运行C++ OpenCV的两种方式及常见问题的解决

    Linux下编译.链接.加载运行C++ OpenCV的两种方式及常见问题的解决 在Linux下安装完OpenCV C++之后(还没有安装的读者请参考Ubuntu 18.04 安装OpenCV C++) ...

  2. vant实现下拉刷新和上拉加载_微信小程序 - 实现下拉刷新、上拉加载

    在小程序开发中使用下拉刷新和上拉加载非常多,比如常用的展示型首页,而实现这个功能有两种形式,第一种是使用 scroll-view 组件,第二种是不使用 scroll-view 组件而让整个页面刷新,那 ...

  3. android verticalviewpager 下拉刷新 上拉加载_设计规范 | 详解组件控件结构体系:加载类...

    设计师在进行APP设计时,往往会更加专注于界面的布局.界面和界面之间怎么跳转.操作反馈,却往往忽略掉一个比较重要的环节,就是APP数据加载中的设计.那么我们怎么处理好界面交互中的加载设计,保证体验无缝 ...

  4. 极速模式下java无法加载_谷歌和360急速模式 下的XMLHttpRequest 的onprogress事件失效...

    场景描述 上传excel后遍历处理每一行的数据.想在页面上展示进度条,提示目前已经处理到第几条了. 使用XMLHttpRequest2来发送请求,在程序服务器端设置HttpServletRespons ...

  5. Android 下拉刷新上拉加载 多种应用场景 超级大放送(上)

    转载请标明原文地址:http://blog.csdn.net/yalinfendou/article/details/47707017 关于Android下拉刷新上拉加载,网上的Demo太多太多了,这 ...

  6. Spring使用环境变量控制配置文件加载(转)

    项目中需要用到很多配置文件,不同环境的配置文件是不一样的,因此如果只用一个配置文件,势必会造成配置文件混乱,这里提供一种利用环境变量控制配置文件加载的方法,如下: 一.配置环境变量 如果是window ...

  7. springboot配置文件加载顺序_「SpringBoot系列」配置文件加载优先级解析

    SpringBoot提供了外部分配置功能,可以使用属性文件(properties).YAML(yml)文件.环境变量和命令行参数来进行处部参数配置,并t以特定的顺序来处理配置,以便于允许合理的覆盖值. ...

  8. 33-viper 配置文件加载

    配置文件加载: 主流的配置文件格式:toml.yaml.json.xml.ini(conf.properties) 配置的来源:文本文件.环境变量.配置中心(携程开源的apollo配置中心.nacos ...

  9. Golang toml配置文件加载方法

    一.toml 配置文件加载方法 Golang可以通过加载toml文件的方式,减少代码移植或环境变更时对代码的修改量. 有这样一份toml文件: 我们需要定义一个结构体类型(Config)来映射配置文件 ...

最新文章

  1. 浅谈几种区块链网络攻击以及防御方案之女巫攻击
  2. javascript运动系列第九篇——碰撞运动
  3. 精彩---rtl8139网卡驱动程序分析
  4. 当下网络营销市场中为何企业可通过网络营销提升自我价值?
  5. Jupyter Notebook 快速入门(上)
  6. ShowMsg函数妙用
  7. 学习笔记(07):Python网络编程并发编程-客户端与服务端代码bug修复
  8. 本想试试看,结果却拿到了京东的Offer
  9. 宏块与宏块对(附图)
  10. Cocos2d-x 3.2 学习笔记(四)学习打包Android平台APK!
  11. 操作系统课设之Linux 进程管理
  12. 谷歌更新TensorFlow目标检测API
  13. Win8 MSDN 简中/繁中/英文正式版下载(微软官方原版)
  14. 千图成像python_Python---如何实现千图成像:初级篇(从图片爬取到图片合成)
  15. DBeaver 离线安装
  16. Java第11次作业
  17. 计算机自动执行的条件是,电脑中winsat.exe进程总会自动运行的解决方法
  18. MVC项目功能之加入购物车,清空购物车
  19. 将单元格中的内容拆分成多列/行
  20. Vba Excel 自动分级

热门文章

  1. python自动控制_程序员用Python实现自动化控制键盘和鼠标
  2. mysql时间戳在某天内_mysql根据时间戳查询指定日期内数据
  3. android roboto字体下载,Android字体设置及Roboto字体使用方法
  4. python中dataframe合并列名日期到季度_python 处理dataframe中的时间字段方法
  5. flyway java_flyway的使用
  6. php url无效,PHP解析URL并失去URL中的参数
  7. STL源码剖析---list
  8. SpringMVC的使用与requestMapper的使用
  9. mybatis 插件原理
  10. 在人工智能时代下,如何让券商的数据做到“快准稳”