如何在mac下安装Nginx(源码安装非homebrew)

1 篇文章 0 订阅
1 篇文章 0 订阅

如何在mac下安装Nginx

装这个ngnix折磨了我一个上午时间。发现很多教程都是用homebrew安装的,但是我的macOS版本是10.12的,又懒的去升级版本。

看了几个源码安装的版本都不是太全,索性把出现的问题全部写到一起。

下载所需资源

下载zlib, 我下载的是zlib-1.2.11.tar.gz;
下载pcre, 我下载的 pcre-8.41.tar.gz;
下载nginx, 我下载的nginx-1.12.2.tar.gz;
下载openssl, 我下载的是 openssl-1.0.2t.tar.gz;

依次执行以下步骤

1. 解压上面的源码包到同一新建的文件夹下面(我的是Nginx);

2. 进入解压后的nginx-1.12.2文件夹。
$ cd Nginx/nginx-1.12.2

3. 为了防止报错,先执行
$ export KERNEL_BITS=64

4. 自己根据自己的版本更改后执行
$ ./configure --prefix=/Library/Nginx --with-http_ssl_module --with-pcre=../pcre-8.41 --with-zlib=../zlib-1.2.11 --with-openssl=../openssl-1.0.2t

5.编译 有permission denied的时候使用sudo make,持续时间可能比较就
$ make  

安装 # 有permission denied的时候使用sudo make install
$ make install 

出现以下表示安装成功

/Library/Developer/CommandLineTools/usr/bin/make -f objs/Makefile install
test -d '/Library/Nginx' || mkdir -p '/Library/Nginx'
test -d '/Library/Nginx/sbin' \
		|| mkdir -p '/Library/Nginx/sbin'
test ! -f '/Library/Nginx/sbin/nginx' \
		|| mv '/Library/Nginx/sbin/nginx' \
			'/Library/Nginx/sbin/nginx.old'
cp objs/nginx '/Library/Nginx/sbin/nginx'
test -d '/Library/Nginx/conf' \
		|| mkdir -p '/Library/Nginx/conf'
cp conf/koi-win '/Library/Nginx/conf'
cp conf/koi-utf '/Library/Nginx/conf'
cp conf/win-utf '/Library/Nginx/conf'
test -f '/Library/Nginx/conf/mime.types' \
		|| cp conf/mime.types '/Library/Nginx/conf'
cp conf/mime.types '/Library/Nginx/conf/mime.types.default'
test -f '/Library/Nginx/conf/fastcgi_params' \
		|| cp conf/fastcgi_params '/Library/Nginx/conf'
cp conf/fastcgi_params \
		'/Library/Nginx/conf/fastcgi_params.default'
test -f '/Library/Nginx/conf/fastcgi.conf' \
		|| cp conf/fastcgi.conf '/Library/Nginx/conf'
cp conf/fastcgi.conf '/Library/Nginx/conf/fastcgi.conf.default'
test -f '/Library/Nginx/conf/uwsgi_params' \
		|| cp conf/uwsgi_params '/Library/Nginx/conf'
cp conf/uwsgi_params \
		'/Library/Nginx/conf/uwsgi_params.default'
test -f '/Library/Nginx/conf/scgi_params' \
		|| cp conf/scgi_params '/Library/Nginx/conf'
cp conf/scgi_params \
		'/Library/Nginx/conf/scgi_params.default'
test -f '/Library/Nginx/conf/nginx.conf' \
		|| cp conf/nginx.conf '/Library/Nginx/conf/nginx.conf'
cp conf/nginx.conf '/Library/Nginx/conf/nginx.conf.default'
test -d '/Library/Nginx/logs' \
		|| mkdir -p '/Library/Nginx/logs'
test -d '/Library/Nginx/logs' \
		|| mkdir -p '/Library/Nginx/logs'
test -d '/Library/Nginx/html' \
		|| cp -R html '/Library/Nginx'
test -d '/Library/Nginx/logs' \
		|| mkdir -p '/Library/Nginx/logs'

编译安装完成, 测试启动、重启、停止;

cd /Library/Nginx 
启动  
sudo sbin/nginx     #浏览器访问 127.0.0.1 测试是否成功启动  
重启  
sudo sbin/nginx -s reload  
停止  
sudo sbin/nginx -s stop  

如出现以下错误

WARNING! If you wish to build 64-bit library, then you have to
         invoke './Configure darwin64-x86_64-cc' *manually*.
         You have about 5 seconds to press Ctrl-C to abort.
中间的编译信息省略...
ld: symbol(s) not found for architecture x86_64 collect2: ld 
returned 1 exit status make[2]: *** [objs/nginx] 
Error 1 make[1]: *** [build] 
Error 2 make: *** 
[all] Error 2

是因为没有执行

$ export KERNEL_BITS=64

更多其他错误,可参考

github issue

https://www.jianshu.com/p/956148d640d6

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值