关于nginx重新编译
nginx安装成功后,发现有一些其他模块没有编译进去,或者想额外添加一些模块,这时候就要重新编译nginx。
首先,查看之前编译的一些参数,比如:
|
1
2
3
4
5
|
[root@lmode nginx]# /usr/local/nginx/nginx -Vnginx version: nginx/1.4.7built by gcc 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC) TLS SNI support enabledconfigure arguments: --prefix=/usr/local/nginx --user=www --group=www --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-pcre=/usr/local/src/lnmp/pcre-8.33 --with-zlib=/usr/local/src/lnmp/zlib-1.2.8 --with-openssl=/usr/local/src/lnmp/openssl-1.0.1e |
比如我现在要新增–with-http_ssl_module 、–with-http_gzip_static_module 这些模块参数,那么我只要把这些参数添加进去然后重新编译即可,需要注意的是原先编译过的参数也要加进来。过程如下:
进入nginx源码包
|
1
|
[root@lmode nginx]# cd /usr/local/src/nginx-1.4.7 |
将要编译的参数重新添加到后面
|
1
|
[root@lmode nginx-1.4.7]# ./configure --prefix=/usr/local/nginx --user=www --group=www --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-pcre=/usr/local/src/lnmp/pcre-8.33 --with-zlib=/usr/local/src/lnmp/zlib-1.2.8 --with-openssl=/usr/local/src/lnmp/openssl-1.0.1e --with-http_gzip_static_module --with-http_ssl_module |
注意:这里只能make 千万别make install,否则就覆盖安装了
|
1
|
[root@lmode nginx-1.4.7]# make |
make完成后,在源码目录下会有一个objs目录,objs目录下就多了个nginx,这个就是新版本的程序了。
|
1
2
3
|
[root@lmode nginx-1.4.7]# lsauto CHANGES CHANGES.ru conf configure contrib html LICENSE Makefile man objs README src |
然后将objs目录下的nginx替换之前已经安装过的nginx。
先备份旧的nginx程序
|
1
|
[root@lmode nginx-1.4.7]#cp /usr/local/nginx/nginx /usr/local/nginx/nginx.bak |
把新的nginx程序覆盖旧的
|
1
|
[root@lmode nginx-1.4.7]#cp ./objs/nginx /usr/local/nginx/sbin/nginx |
如果提示“cp:cannot create regular file `/usr/local/nginx/sbin/nginx': Text file busy”
建议使用如下语句cp
|
1
|
#cp -rfp objs/nginx /usr/local/nginx/sbin/nginx |
测试新的nginx程序是否正确
|
1
2
3
|
[root@lmode nginx-1.4.7]# /usr/local/nginx/nginx -tnginx: the configuration file /usr/local/nginx/nginx.conf syntax is oknginx: configuration file /usr/local/nginx/nginx.conf test is successful |
最后重启nginx
|
1
|
[root@lmode nginx-1.4.7]# /usr/local/nginx/nginx -s reload |
这样,就安装成功了。下面介绍下安装第三方模块的方法。
安装第三方模块
nginx安装第三方模块的方法和上面差不多,只是要额外添加一个–add-module参数:
|
1
|
./configure --prefix=/你的安装目录 --add-module=/第三方模块目录 |
下面以安装pagespeed模块位实例
|
1
2
3
4
5
6
7
|
# ./configure --prefix=--prefix=/usr/local/nginx --user=www --group=www --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-pcre=/usr/local/src/lnmp/pcre-8.33 --with-zlib=/usr/local/src/lnmp/zlib-1.2.8 --with-openssl=/usr/local/src/lnmp/openssl-1.0.1e --with-http_gzip_static_module --with-http_ssl_module --add-module=../ngx_pagespeed-master# make# cp ./objs/nginx /usr/local/nginx/nginx# /usr/local/nginx/nginx -s reload |
总结
安装nginx安装第三方模块实际上是使用–add-module重新安装一次nginx,不要make install而是直接把编译目录下objs/nginx文件直接覆盖老的nginx文件.如果你需要安装多个nginx第三方模块,你只需要多指定几个相应的–add-module即可。
[warning]备注:重新编译的时候,记得一定要把以前编译过的模块一同加到configure参数里。
关于nginx重新编译的更多相关文章
- Nginx 的编译安装和URL地址重写
本文转自:http://www.178linux.com/14119#rd?sukey=ecafc0a7cc4a741b573a095a3eb78af6b4c9116b74d0bbc9844d8fc5 ...
- CentOS6.5 Nginx优化编译配置[续]
继续上文CentOS6.5 Nginx优化编译配置本文记录有关Nginx系统环境的一些细节设置,有关Nginx性能调整除了配置文件吻合服务器硬件之前就是关闭不必要的服务.磁盘操作.文件描述符.内核调整 ...
- nginx应用编译安装
nginx应用编译安装: 安装编译所需依赖包: # apt-get install make gcc g++ libcurl3-openssl-dev libfreetype6-dev libmcry ...
- nginx的编译安装以及启动脚本编写
Nginx的编译安装和启动脚本的编写 Nginxd的功能强大,可以实现代理.负载均衡等企业常用的功能.下面介绍一下nginx的编译安装方法: 1. 下载 官方下载地址:http://nginx.org ...
- 初识Nginx及编译安装Nginx
初识Nginx及编译安装Nginx 环境说明: 系统版本 CentOS 6.9 x86_64 软件版本 nginx-1.12.2 1.什么是Nginx? 如果你听说或使用过Apache软件 ...
- (转载)学校搭建使用nginx同时编译rtmp-module进行直播的技术文档
原文地址:学校搭建使用 nginx 同时编译 rtmp-module 进行直播的技术文档 转载自我的大佬同学 MetalkgLZH.学校有几次需要全校观看网络直播的情况,但是学校的带宽不允许所有的班一 ...
- 【01】Nginx:编译安装/动态添加模块
写在前面的话 说起 Nginx,别说运维,就是很多开发人员也很熟悉,毕竟如今已经 2019 年了,Apache 更多的要么成为了历史,要么成为了历史残留. 我们在提及 Nginx 的时候,一直在强调他 ...
- nginx重新编译不停服
找到安装nginx的源码根目录,如果没有就下载新的安装包 .tar.gz 查看ngixn版本极其编译参数 /usr/local/nginx/sbin/nginx -V 进入nginx源码目录 cd n ...
- nginx重新编译安装upload模块
由于php处理上传会出现超时,并且显示上传进度官方php不支持nginx+php,所以决定让nginx自己处理上传,我本地环境是mac上已经安装过nginx1.8.0,安装方式为brew,所以需要重新 ...
- 已经编译安装的nginx/tenginx编译增加新模块
只适用于自行编译安装的nginx配置 业务变更带来的Nginx增加模块需求 由于业务从php转为go开发,需要用到Http2的协议.这种协议在Nginx上需要http_v2_module这个模块的支持 ...
随机推荐
- 视音频数据处理入门:AAC音频码流解析
===================================================== 视音频数据处理入门系列文章: 视音频数据处理入门:RGB.YUV像素数据处理 视音频数据处理 ...
- 未能加载文件或程序集"CheckRegister"或它的某一个依赖项.参数错误. (异常来
报“未能加载文件或程序集“CheckRegister”或它的某一个依赖项.参数错误”的解决方法 问题如下所示: 未能加载文件或程序集“CheckRegister”或它的某一个依赖项.参数错误. (异常 ...
- python3.6 使用pyinstaller 打包web程序的方法
官方文档连接 (https://pyinstaller.readthedocs.io/en/stable/ ) 第一步,下载pywin32 首先下载pywin32,下面是下载链接,下载自己的系统版本对 ...
- 8个超实用的jQuery插件应用
自jQuery诞生以来,jQuery社区都在不断地.自发地为jQuery创建许许多多功能不一的插件应用,很多jQuery插件非常实用,对我们的前端开发帮助相当大,不仅可以更完美的完成指定功能,而且节省 ...
- HDOJ 1393 Weird Clock(明确题意就简单了)
Problem Description A weird clock marked from 0 to 59 has only a minute hand. It won't move until a ...
- Pwnium CTF2014 – MatterOfCombination writeup
这道题是虽然只有75分,但是做出来的队伍却很少,我们队伍也没有做出来,这次是看到了0xAWES0ME 的解题思路后才有了这篇文章.原文地址可以点击看这里,英文的. 题目就是一张图片: 在网上可以找到这 ...
- struts建立工程helloworld
Java web环境:Tomcat + Jdk +eclipse java EE 创建一个能运行的java web工程,记得勾选上web.xml 下载struts库,目前最新2.5-2.16 all. ...
- Android短信监听实现,及Android4.4之后短信机制变更
前阵子公司有一个项目,简单的监听短信应用,功能只有如下两个: 1.监听短信并获取短信内容上传服务器: 2.从服务器获取短信内容,发送出去 按照传统的思路,监听短信我们有两种方式:第一种是使用广播 ...
- [PHP] 01 - Hypertext Preprocessor
超级文本预处理语言:http://php.net/ 集成的服务器组件,它已经包含了 PHP.Apache.Mysql 等服务 PHP 7 https://www.tutorialspoint. com ...
- 使用kill -9 进程ID杀死jps中进程