• nginx编译安装on mac


    一、编译安装模块

    如果是原有包中就有的模块,编译时,
    ./configure --with-xxx 就可以,
    如果是第三方模块,可使用 --add-module,
    如果有多个模块的话,只需要多次使用-add-module指令即可.

    二、下载源码包image_fliter和echo模块

    nginx源码下载
    http://nginx.org/en/download.html
    
    echo模块下载
    https://github.com/openresty/echo-nginx-module/tags
    
    解压
    gzip -d xxx.tar.gz
    tar -zvxf xxx.tar  xxx
    

    三.编译

    1.安装依赖:

    brew install pcre
    brew install gd #image filter依赖gd
    brew link --force openssl #避免编译openssl时报错

    2.cd nginx源码目录

    ./configure xxx
    --prefix 设置编译目录
    

    3.查看原有nginx编译参数

    nginx -V
    

    4.添加编译module

    ./configure  
    --with-http_image_filter_module 
    --with-debug 
    --add-module=/Users/fanfan/web/software/echo-nginx-module-0.61 
    原有编译参数,
    
    (注意修改版本目录)
    
    ./configure 
    --prefix=/usr/local/Cellar/nginx/1.12.2 
    --with-http_ssl_module  
    --with-pcre 
    --sbin-path=/usr/local/Cellar/nginx/1.12.2/bin/nginx 
    --with-cc-opt='-I/usr/local/opt/pcre/include -I/usr/local/opt/openssl@1.1/include' 
    --with-ld-opt='-L/usr/local/opt/pcre/lib -L/usr/local/opt/openssl@1.1/lib' 
    --conf-path=/usr/local/etc/nginx/nginx.conf 
    --pid-path=/usr/local/var/run/nginx.pid 
    --lock-path=/usr/local/var/run/nginx.lock 
    --http-client-body-temp-path=/usr/local/var/run/nginx/client_body_temp 
    --http-proxy-temp-path=/usr/local/var/run/nginx/proxy_temp 
    --http-fastcgi-temp-path=/usr/local/var/run/nginx/fastcgi_temp 
    --http-uwsgi-temp-path=/usr/local/var/run/nginx/uwsgi_temp 
    --http-scgi-temp-path=/usr/local/var/run/nginx/scgi_temp 
    --http-log-path=/usr/local/var/log/nginx/access.log 
    --error-log-path=/usr/local/var/log/nginx/error.log 
    --with-http_gzip_static_module --with-http_v2_module 
    --with-http_image_filter_module 
    --with-debug 
    --add-module=/Users/fanfan/web/software/echo-nginx-module-0.61
    
    ------------------------------------------------------------------------------
    
    ./configure --prefix=/usr/local/nginx-1.4.1 --with-http_stub_status_module 
    --with-http_realip_module --with-http_image_filter_module --with-debug
    

    5.make

    四.安装

    1.如果之前未安装nginx

    make install

    2.如果之前通过brew安装过nginx

    /usr/local/bin/nginx   /usr/local/Cellar/nginx/xxx/bin/nginx
    /usr/local/opt/nginx   /usr/local/Cellar/nginx/xxx
    修改软连接,直接指向新的nginx
    

    3.替换编译文件的方式

    这种方式,只是替换了bin文件,目录还是原来的
    
    #备份原来的binary
    cp /usr/local/opt/nginx/bin/nginx /usr/local/opt/nginx/bin/nginx.bak
    #先cd到nginx源码目录
    sudo cp objs/nginx /usr/local/opt/nginx/bin/nginx
    rm /usr/local/bin/nginx
    ln -s /usr/local/opt/nginx/bin/nginx /usr/local/bin/nginx

    4.建立版本目录方式

    $ cp -r /usr/local/Cellar/nginx/1.8.0 /usr/local/Cellar/nginx/1.9.10
    #先cd到nginx源码目录
    $ sudo cp objs/nginx /usr/local/Cellar/nginx/1.9.10/bin
    #更新/usr/local/opt/nginx
    $ rm /usr/local/opt/nginx
    $ ln -s /usr/local/Cellar/nginx/xxx /usr/local/opt/nginx
    #更新/usr/local/bin/nginx
    $ rm /usr/local/bin/nginx
    $ ln -s /usr/local/opt/nginx/bin/nginx /usr/local/bin/nginx

    5.编辑/Library/LaunchDaemons/homebrew.mxcl.nginx.plist

    好像也不用编辑
    launchctl load -F /Library/LaunchDaemons/homebrew.mxcl.nginx.plist

    五.验证nginx

    nginx -V / nginx -v
    
    yld: Library not loaded: /usr/local/opt/jpeg/lib/libjpeg.8.dylib
    
    nginx版本依赖 jpeg 8d的版本,而brew install jpeg 的时候,安装的是新版9b
    可转换成上一版本即可
    brew switch jpeg 8d
    
    或者 因为其他版本安装出现此问题,可重新安装,rebuild source,
    这样使用的就是最新版本的依赖
    brew cleanup //更新cellar
    brew reinstall php71 --build-from-source
    
    https://stackoverflow.com/questions/32703296/dyld-library-not-loaded-usr-local-lib-libjpeg-8-dylib-homebrew-php
    

    六.重启nginx

    nginx -t //验证配置文件是否正确
    有可能会有权限问题,启动时,以root用户启动即可
    sudo brew services restart nginx

    七.参考链接

    https://blog.chionlab.moe/2016/02/02/compile-nginx-on-osx/
    https://blog.haohtml.com/archives/12349
  • 相关阅读:
    TODO supply a title
    three.js ---- 3d页面开发入门
    ProgressBar.Style ---- Marquee
    C#中的Task.Delay()延迟与异步执行返回结果
    位运算-实现加减乘除
    2020年专项附加扣除信息,个税纳税记录查询
    C#动态执行JS和VBS脚本
    windows下bat批处理实现守护进程(有日志)
    C#创建快捷方式的两种方法
    C#中创建程序的快捷方式
  • 原文地址:https://www.cnblogs.com/fanfan259/p/8244536.html
Copyright © 2020-2023  润新知