mac 配置安装nginx

 Mac上安装软件很方便,AppStore上直接下载安装;但是这只对于一般日常使用,工作中需要各种软件,一般都是下载pkg安装包直接开启(整体拖拽入/Application或者删除即可卸载)。

相对于apt-get或者yum安装命令,Mac可以使用Homebrew(超好用),brew install XXX 你想的基本都有

今天在家配置nginx项目,然后 --- --- 

(1)配置

先是 Not Found  PCRE

对于不是常规安装路径的,使用--with-openssl=指定安装目录即可

(2)编译

通过后再编译 make && make install

报错了

./configure --disable-shared

 /bin/sh: ./: No such file or directory

或者 /bin/sh: ./configure: No such file or directory

想想以前都是在linux上安装直接是永远的openssl、pcre等,这里使用了brew直接安装好了(生成的安装编译后的目录)

在 ./configure --with-openssl=/usr/local/opt/openssl (此为编译安装后的目录)

然后下载源码,configure时候,指向源码包路径即可

./configure --with-openssl=/Users/chocolate/workspace/workInstall/openssl_1.1  --with-pcre=/Users/chocolate/workspace/workInstall/pcre_8.4/

 

 

一定注意:--with-openssl --with-pcre 等需要指向远吗包路径!

 

至于设置nginx为什么要去自己重现编译这些,我想应该是直接编译到nginx的安装目录吧。

(3)macOS 10.x 限制

编译没问题后,好大一会还是报错了

关键信息:

nginx error: 'OSAtomicAdd64' is deprecated: first deprecated in macOS 10.12

查阅后发现 https://trac.nginx.org/nginx/ticket/584 

Workaround:
Remove the -Werror or the -Wdeprecated-declarations options from the compilation flags

就在当前目录下找到 objs/Makefile 文件

看到第一行开始就是

CC =	cc
CFLAGS =  -pipe  -O -Wall -Wextra -Wpointer-arith -Wno-unused-parameter -Werror -g 
CPP =	cc -E
LINK =	$(CC) -rdynamic

Removing the -Werror makes it compile successfully!

相关推荐