文章目录

  • ​​前言​​
  • ​​一、homebrew​​
  • ​​1、介绍​​
  • ​​2、下载安装​​
  • ​​二、安装nginx​​
  • ​​1、安装前准备​​
  • ​​a、安装pcre​​
  • ​​b、安装zlib​​
  • ​​c、安装openssl​​
  • ​​2、下载nginx​​
  • ​​3、安装​​
  • ​​4、 安装的异常:Permission denied​​

前言

  1. 最近使用Mac系统,从新预习一下nginx,所以写了这篇博客,以便以后和广大好友减少麻烦。
  2. 安装启动完会发现,在Mac下安装nginx,和Linux下安装nginx,其实没有区别。就是先安装三个依赖包,最后安装nginx即可。唯一的区别可能是三个依赖包的安装方式不同罢了。
  3. 注意下最后的bug,很简单,手动创建文件夹即可,原因是因为没有权限创建文件夹而已~

一、homebrew

1、介绍

Mac下包管理工具:homebrew

2、下载安装

安装使用常用命令:​​ 安装开始的截图,接着跟着流程执行即可

二、安装nginx

1、安装前准备

nginx 依赖于 pcre、zlib、openssl

  1. nginx的http模块使用pcre来解析正则表达式,需要在linux上安装​​pcre​​库
  2. nginx使用zlib对http包的内容进行gzip,需要在linux上安装安装​​zlib​​库
  3. 安装​​openssl​​库,让 nginx 支持 https(即在ssl协议上传输http)

缺少依赖会报错如下错误

./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre=<path> option.

a、安装pcre

  1. 执行命令 ​​brew install pcre​
  2. 命令执行如下:
(base) C02ZT6HWLVDL:nginx-1.22.1 alsc$ brew install pcre
Running `brew update --auto-update`...
==> Homebrew has enabled anonymous aggregate formula and cask analytics.
Read the analytics documentation (and how to opt-out) here:
https://docs.brew.sh/Analytics
No analytics have been recorded yet (nor will be during this `brew` run).

==> Homebrew is run entirely by unpaid volunteers. Please consider donating:
https://github.com/Homebrew/brew#donations

==> Downloading https://mirrors.aliyun.com/homebrew/homebrew-bottles/pcre-8.45.big_sur.bottle.tar.gz
######################################################################## 100.0%
==> Pouring pcre-8.45.big_sur.bottle.tar.gz
🍺 /usr/local/Cellar/pcre/8.45: 204 files, 5.8MB
==> Running `brew cleanup pcre`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).

b、安装zlib

  1. 执行命令 ​​brew install zlib​
  2. 命令执行如下:
(base) C02ZT6HWLVDL:nginx-1.22.1 alsc$ brew install zlib
==> Downloading https://mirrors.aliyun.com/homebrew/homebrew-bottles/zlib-1.2.13.big_sur.bottle.tar.gz
######################################################################## 100.0%
==> Pouring zlib-1.2.13.big_sur.bottle.tar.gz
==> Caveats
zlib is keg-only, which means it was not symlinked into /usr/local,
because macOS already provides this software and installing another version in
parallel can cause all kinds of trouble.

For compilers to find zlib you may need to set:
export LDFLAGS="-L/usr/local/opt/zlib/lib"
export CPPFLAGS="-I/usr/local/opt/zlib/include"

==> Summary
🍺 /usr/local/Cellar/zlib/1.2.13: 13 files, 424.9KB
==> Running `brew cleanup zlib`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).

c、安装openssl

  1. 执行命令 ​​brew install openssl​
  2. 命令执行如下:
(base) C02ZT6HWLVDL:nginx-1.22.1 alsc$ brew install openssl
==> Downloading https://mirrors.aliyun.com/homebrew/homebrew-bottles/ca-certificates-2022-10-11.all.bottle.tar
######################################################################## 100.0%
==> Downloading https://mirrors.aliyun.com/homebrew/homebrew-bottles/openssl%403-3.0.7.big_sur.bottle.tar.gz
######################################################################## 100.0%
==> Installing dependencies for openssl@3: ca-certificates
==> Installing openssl@3 dependency: ca-certificates
==> Pouring ca-certificates-2022-10-11.all.bottle.tar.gz
==> Regenerating CA certificate bundle from keychain, this may take a while...
🍺 /usr/local/Cellar/ca-certificates/2022-10-11: 3 files, 225.4KB
==> Installing openssl@3
==> Pouring openssl@3-3.0.7.big_sur.bottle.tar.gz
==> Caveats
A CA file has been bootstrapped using certificates from the system
keychain. To add additional certificates, place .pem files in
/usr/local/etc/openssl@3/certs

and run
/usr/local/opt/openssl@3/bin/c_rehash

openssl@3 is keg-only, which means it was not symlinked into /usr/local,
because macOS provides LibreSSL.

If you need to have openssl@3 first in your PATH, run:
echo 'export PATH="/usr/local/opt/openssl@3/bin:$PATH"' >> /Users/alsc/.bash_profile

For compilers to find openssl@3 you may need to set:
export LDFLAGS="-L/usr/local/opt/openssl@3/lib"
export CPPFLAGS="-I/usr/local/opt/openssl@3/include"

==> Summary
🍺 /usr/local/Cellar/openssl@3/3.0.7: 6,454 files, 28.4MB
==> Running `brew cleanup openssl@3`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
==> Caveats
==> openssl@3
A CA file has been bootstrapped using certificates from the system
keychain. To add additional certificates, place .pem files in
/usr/local/etc/openssl@3/certs

and run
/usr/local/opt/openssl@3/bin/c_rehash

openssl@3 is keg-only, which means it was not symlinked into /usr/local,
because macOS provides LibreSSL.

If you need to have openssl@3 first in your PATH, run:
echo 'export PATH="/usr/local/opt/openssl@3/bin:$PATH"' >> /Users/alsc/.bash_profile

For compilers to find openssl@3 you may need to set:
export LDFLAGS="-L/usr/local/opt/openssl@3/lib"
export CPPFLAGS="-I/usr/local/opt/openssl@3/include"

2、下载nginx

官网:http://nginx.org/

Mac os 安装 nginx 教程(success)_运维


Mac os 安装 nginx 教程(success)_ide_02

3、安装

  1. 我这里下载的是1.22.1的包,将你下载的 ​​nginx-1.22.1.tar.gz​​ 放在你想放的路径,
  2. 解压:​​tar -zxvf nginx-1.22.1.tar.gz​
  3. 编译:​​sudo ./configure​​​,​​sudo​​是 super user do 的简称,使用管理员执行命令,主要是为辅助超级管理员完成一些超级管理员不能登录下的操作
  4. 安装:​​sudo make && make install​
  5. 安装完成

4、 安装的异常:Permission denied

最后执行流程截图,发现异常:

Mac os 安装 nginx 教程(success)_运维_03

/Library/Developer/CommandLineTools/usr/bin/make -f objs/Makefile install
test -d '/usr/local/nginx' || mkdir -p '/usr/local/nginx'
mkdir: /usr/local/nginx: Permission denied
make[1]: *** [install] Error 1
make: *** [install] Error 2
(base) C02ZT6HWLVDL:nginx-1.22.1 alsc$ ls

意思应该是创建文件夹没有权限,导致make install错误,安装错误。
​​所以手动创建,并改权限即可

sudo mkdir -p /usr/local/nginx
sudo chmod -R 777 /usr/local/nginx
sudo make && make install

执行完安装命令,则显示如下,无报错信息,能发现 /usr/local/nginx/ 已经有了数据,则success

Mac os 安装 nginx 教程(success)_linux_04


然后:

cd /usr/local/nginx/sbin
./nginx

输入地址 ​​http://localhost:80​​​ 看到如图内容,即nginx部署成功
补充说明:每次启动会麻烦可以建立全局变量
方案一:ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/
方案二:
vi /etc/profile
export NGINX_HOME=/usr/local/nginx
export PATH=Mac os 安装 nginx 教程(success)_linux_05NGINX_HOME/sbin
source /etc/profile
配置后启动:
nginx

Mac os 安装 nginx 教程(success)_ide_06