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
nginx编译安装on mac的更多相关文章
- nginx编译安装
Nginx编译安装 1.nginx官网:http://wiki.nginx.org/Install下载:http://nginx.org/en/download.html 2.编译安装# wget h ...
- LNMP平台搭建之一:nginx编译安装
参考博客:https://www.cnblogs.com/zhang-shijie/p/5294162.html jack.zhang 一.环境说明 系统环境:centos6.5 [root@lo ...
- Nginx编译安装lua-nginx-module
lua-nginx-module 模块可以将Lua的强大功能嵌入NGINX服务器. 下载Nginx源码 如果已安装Nginx,需要查看当前安装版本的编译参数: $ /usr/local/nginx/s ...
- Nginx编译安装:
第三方模块 在nginx.org -------- wiki 找 --add-module= 添加 Nginx编译安装: 安装开发环境 ]# yum groupinstall " ...
- [nginx]编译安装及安全优化
nginx配置-最后整理版 nginx_upstream_check_module nginx-module-vts nginx打补丁 nginx编译安装 - 下载 cd /usr/local/src ...
- Linux下nginx编译安装教程和编译参数详解
这篇文章主要介绍了Linux下nginx编译安装教程和编译参数详解,需要的朋友可以参考下 一.必要软件准备1.安装pcre 为了支持rewrite功能,我们需要安装pcre 复制代码代码如下: # y ...
- 20190418 CentOS7实用技能综合:系统安装 + WinScp客户端连接 + 防火墙端口号iptables + Nginx编译安装 + MySQL编译安装 + Redis编译安装 + MongoDB编译安装 + ActiveMQ/RocketMQ/RabbitMQ编译安装 + ...各类常用生产环境软件的编译安装
系统安装 + WinScp客户端连接 + 防火墙端口号iptables + Nginx编译安装 + MySQL编译安装 + Redis编译安装 + MongoDB编译安装 + ActiveMQ/Roc ...
- Nginx编译安装第三方模块http_substitutions_filter_module2222
Nginx编译安装第三方模块http_substitutions_filter_module Rming -- 阅读 安装 Http 编译 module filter nginx 模块 >> ...
- Nginx编译安装第三方模块http_substitutions_filter_module
Nginx编译安装第三方模块http_substitutions_filter_module 分类:服务器技术 作者:rming 时间:-- . >>ngx_http_substitu ...
随机推荐
- mysql5.6.13通用二进制格式安装并使用amoeba实现对mysql5.6数据库读写分离
proxy 192.168.8.39 master 192.168.8.40 slave 192.168.8.20 一.安装mysql-5.6.13服务器 安装包: mysql-5.6.13-linu ...
- InetAddress问题
InetAddress的方法 当输入InetAddress.getByAddress(new byte[]{127.0.0.1})的时候不会报错, 但是ip的各段值是0-255,当new byte[] ...
- 修改tomcat的server.xml配置web项目
<!-- VideoWeb:自己编写的web项目名 path:表示当输入访问项目.. 如果path="" URL=localhost:8080就可以访问项目了 如果path= ...
- Android Menu用法全面讲解
说明:本文只介绍Android3.0及以上的Menu知识点. 菜单的分类 菜单是Android应用中非常重要且常见的组成部分,主要可以分为三类:选项菜单.上下文菜单/上下文操作模式以及弹出菜单.它们的 ...
- 转:Session,Token相关区别
参考地址:https://www.cnblogs.com/xiaozhang2014/p/7750200.html 1. 为什么要有session的出现?答:是由于网络中http协议造成的,因为htt ...
- C++ code:位操作实例(bit operation example)
某任务需要在A.B.C.D.E这五个人中物色人员去完成,但派人受限于下列条件: (1)若A去,则B跟去 (2)D,E两人中必有人去 (3)B,C两人中必有人去,但只去一人 (4)C,D两人要么都去,要 ...
- html table标签
table标签 table的基本样式 table表格的美化 table表格行合并和列合并 table的基本样式: https://blog.csdn.net/lilongsy/article/deta ...
- bootstrap 列表--水平定义列表
水平定义列表就像内联列表一样,Bootstrap可以给<dl>添加类名“.dl-horizontal”给定义列表实现水平显示效果. @media (min-width: 768px) { ...
- Chakra调试笔记 TypedArray
一.TypedArray类型 TypedArray是漏洞中常见到的结构,手册用法有四 1.new TypedArray(length); //byteLength=length * sizeof(Ty ...
- 【C++ Primer | 15】C++类内存分布
C++类内存分布 书上类继承相关章节到这里就结束了,这里不妨说下C++内存分布结构,我们来看看编译器是怎么处理类成员内存分布的,特别是在继承.虚函数存在的情况下. 下面可以定义一个类,像下面这样: c ...