Mac os 安装 nginx 教程(success)
原创
©著作权归作者所有:来自51CTO博客作者wx63aeae08e8c47的原创作品,请联系作者获取转载授权,否则将追究法律责任
文章目录
- a、安装pcre
- b、安装zlib
- c、安装openssl
- 2、下载nginx
- 3、安装
- 4、 安装的异常:Permission denied
前言
- 最近使用Mac系统,从新预习一下nginx,所以写了这篇博客,以便以后和广大好友减少麻烦。
- 安装启动完会发现,在Mac下安装nginx,和Linux下安装nginx,其实没有区别。就是先安装三个依赖包,最后安装nginx即可。唯一的区别可能是三个依赖包的安装方式不同罢了。
- 注意下最后的bug,很简单,手动创建文件夹即可,原因是因为没有权限创建文件夹而已~
一、homebrew
1、介绍
Mac下包管理工具:homebrew
2、下载安装
安装使用常用命令: 安装开始的截图,接着跟着流程执行即可
二、安装nginx
1、安装前准备
nginx 依赖于 pcre、zlib、openssl
- nginx的http模块使用pcre来解析正则表达式,需要在linux上安装
pcre
库 - nginx使用zlib对http包的内容进行gzip,需要在linux上安装安装
zlib
库 - 安装
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
- 执行命令
brew install pcre
- 命令执行如下:
(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
- 执行命令
brew install zlib
- 命令执行如下:
(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
- 执行命令
brew install openssl
- 命令执行如下:
(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/
3、安装
- 我这里下载的是1.22.1的包,将你下载的
nginx-1.22.1.tar.gz
放在你想放的路径, - 解压:
tar -zxvf nginx-1.22.1.tar.gz
- 编译:
sudo ./configure
,sudo
是 super user do 的简称,使用管理员执行命令,主要是为辅助超级管理员完成一些超级管理员不能登录下的操作 - 安装:
sudo make && make install
- 安装完成
4、 安装的异常:Permission denied
最后执行流程截图,发现异常:
/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
然后:
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=NGINX_HOME/sbin
source /etc/profile
配置后启动:
nginx