Mac非brew方式安装nginx教程

转载:Mac非brew方式安装nginx教程

本文基于版本pcre-8.4.4和nginx-1.18.0安装。

一、安装pcre

1.到官网下载安装包pcre-8.4.4.tar.gz 注意不是pcre2,是pcre!

2.在/usr/local目录创建abc目录,用于存放下载的安装包

3.上传安装包pcre-8.4.4.tar.gz到目录/usr/local/abc

4.解压pcre-8.4.4.tar.gz

5.在/usr/local/include目录创建pcre目录,作为pcre的安装路径

6.配置pcre cd到目录/usr/local/abc/pcre-8.4.4,将目录/usr/local/include/pcre设置为安装目录。网上有些教程直接将其安装在/usr/local/,这样如果安装失败不好删除pcre,还是安装在独立的目录是比较好

sudo ./configure --prefix=/usr/local/include/pcre

7.编译安装

sudo make

sudo make install

安装成功后,就可以在/usr/local/include/pcre看到有文件了。

二、安装nginx

1.下载安装包nginx-1.18.0.tar.gz 到官网下载页面点击红框里的安装包即可。

下载页面.png

2.将nginx-1.18.0.tar.gz安装包上传到目录/usr/local/abc

3.解压安装包nginx-1.18.0.tar.gz

4.在/usr/local目录创建nginx目录,作为nginx的安装路径

5.配置nginx cd到目录/usr/local/abc/pcre-1.18.0,将目录/usr/local/nginx设置为安装目录

sudo sudo ./configure --with-pcre=/usr/local/abc/pcre-8.44  --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-cc-opt="-Wno-deprecated-declarations" --with-openssl=/private/etc/ssl/

注意

1.这里的参数 --with-pcre 要设置为pcre的源码文件目录,而不是pcre的实际安装目录,不然就会报错

make[1]: *** [/usr/local/include/pcre//Makefile] Error 127

2.上面我们给nginx配置的openssl是Mac自带的,所以会报错

[/usr/local/openssl//.openssl/include/openssl/ssl.h] Error 127

因此我们还需要安装自定义的openssl。

三、安装openssl

我们使用源码来安装openssl。

1.GitHub官网下载源码

2.解压源码,并上传到目录/usr/local/abc

3.在/usr/local目录创建openssl目录,作为openssl的安装路径

4.配置openssl cd到目录/usr/local/abc/openssl-master,将目录/usr/local/openssl设置为安装目录

sudo ./config --prefix=/usr/local/openssl

5.编译并安装

sudo make

sudo make install
四、继续配置nginx

1.配置 nginx

sudo ./configure --with-pcre=/usr/local/abc/pcre-8.44  --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-cc-opt="-Wno-deprecated-declarations" --with-openssl=/usr/local/openssl/

注意

但是还是报错

[/usr/local/openssl//.openssl/include/openssl/ssl.h] Error 127

根据报错信息我们知道,出错是因为Nginx在编译时并不能在/usr/local/openssl/.openssl/ 这个目录找到对应的文件,其实我们打开/usr/local/openssl/这个目录可以发现这个目录下是没有.openssl目录的,因此我们修改Nginx编译时对openssl的路径选择就可以解决这个问题了.

a.打开nginx源文件下的/usr/local/abc/nginx-1.18.0/auto/lib/openssl/conf文件,将:

CORE_INCS="$CORE_INCS $OPENSSL/.openssl/include"
CORE_DEPS="$CORE_DEPS $OPENSSL/.openssl/include/openssl/ssl.h"
CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libssl.a"
CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libcrypto.a"
CORE_LIBS="$CORE_LIBS $NGX_LIBDL"

改成:

CORE_INCS="$CORE_INCS $OPENSSL/include"
CORE_DEPS="$CORE_DEPS $OPENSSL/include/openssl/ssl.h"
CORE_LIBS="$CORE_LIBS $OPENSSL/lib/libssl.a"
CORE_LIBS="$CORE_LIBS $OPENSSL/lib/libcrypto.a"
CORE_LIBS="$CORE_LIBS $NGX_LIBDL"

这样继续配置nginx,不出意外就可以配置成功了。

5.编译、安装 nginx

sudo. make

sudo make install

6.启动 nginx cd到/usr/local/nginx/sbin,输入命令启动nginx

sudo ./nginx

启动成功后,在浏览器输入localhost,就可以访问nginx。

五、关于nginx的一些常用命令

a.查看nginx是否启动成功

ps -ef|grep nginx

如图表示启动成功。

b.停止nginx

cd到nginx的安装目录/usr/local/nginx下的sbin目录,输入如下命令。

nginx -s stop
六、配置环境变量

使用文本编辑器(如nanovim)打开shell配置文件,这可能是.bash_profile.zshrc,或者.bashrc,取决于你使用的shell。例如,如果你使用的是zshrc,可以使用以下命令:

vim ~/.zshrc

在末尾添加:

export PATH=$PATH:/usr/local/nginx/sbin

保存并关闭。

在终端使用以下命令使变更立即生效:

source ~/.zshrc

然后在终端输入:

nginx -v

发现已经生效。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值