美文网首页
Mac非brew方式安装nginx教程

Mac非brew方式安装nginx教程

作者: 南湘嘉荣 | 来源:发表于2022-09-02 11:45 被阅读0次

    本文基于版本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
    

    如图表示启动成功。


    image.png

    b.停止nginx

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

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

    在全局配置文件/etc/profile中配置系统环境变量。

    1.编辑/etc/profile

    sudo vim /etc/profile
    

    2.在文件末尾添加以下内容,将nginx的安装路径加入到系统环境变量

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

    3.使配置文件生效

    source /etc/profile
    

    4.重新打开客户端,输入以下命令验证是否配置成功

    nginx -V
    

    相关文章

      网友评论

          本文标题:Mac非brew方式安装nginx教程

          本文链接:https://www.haomeiwen.com/subject/ocfynrtx.html