zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    Java程序:从命令行接收多个数字,求和并输出结果
    大道至简读后感
    大道至简第一章读后感Java伪代码
    Creating a SharePoint BCS .NET Connectivity Assembly to Crawl RSS Data in Visual Studio 2010
    声明式验证超时问题
    Error message when you try to modify or to delete an alternate access mapping in Windows SharePoint Services 3.0: "An update conflict has occurred, and you must re-try this action"
    Upgrading or Redeploying SharePoint 2010 Workflows
    Upgrade custom workflow in SharePoint
    SharePoint 2013中Office Web Apps的一次排错
    How to upgrade workflow assembly in MOSS 2007
  • 原文地址:https://www.cnblogs.com/fanfan259/p/8244536.html
Copyright © 2011-2022 走看看