乐虎游戏|乐虎国际登录|欢迎你

Nginx安装第三方模块

日期:2020-01-30编辑作者:计算机资讯

图片 1

nginx文件非常小,但是性能非常的高效,这方面完胜apache,nginx文件小的一个原因之一是nginx自带的功能相对较少,好在nginx允许第三方模块,第三方模块使得nginx越发的强大. 在安装模块方面,nginx显得没有apache安装模块方便,当然也没有php安装扩展方便.在原生的nginx,不可以动态加载模块,所以当你安装第三方模块的时候需要覆盖nginx文件。

系统基于ubuntu server 14.04.4 amd64

前言

nginx 安装好后如果想要添加新模块,并不像 PHP 那样直接编译,然后在配置文件里直接引入那么简单,nginx 需要重新编译。下面介绍如何添加。

接下来看看如何安装nginx第三模块吧:

安装

添加新模块

以 http_sub_module 为例

  • 查看nginx编译安装时安装了哪些模块$ nginx -V

    图片 2复制上面的 configure 参数

  • 进入之前编译 nginx 时的目录

  • 配置 nginx configure 参数

./configure 之前的参数 --with-http_ sub_modulemake
  • 替换 nginx
service nginx stopcp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bakcp ./objs/nginx /usr/local/nginx/sbin/service nginx start
  • 查看是否编译成功$ nginx -V图片 3

Enjoy it !如果觉得文章对你有用,可以赞助我喝杯咖啡~

转载请注明作者和文章出处作者: 小鱼儿首发于

nginx第三方模块安装方法:

第一步 下载并解压Nginx压缩包

从Nginx官网下载Nginx,或者在Linux上执行wget http://nginx.org/download/nginx-1.10.1.tar.gz命令直接下载
解压nginx-1.10.1.tar.gz文件:

tar zxvf nginx-1.10.1.tar.gz

./configure --prefix=/你的安装目录  --add-module=/第三方模块目录

第二步 配置

cd nginx-1.10.1
./configure --prefix=/usr/local/nginx

注意:

① 如果之前没有安装C compiler(C 编译器),这一步将报如下错误信息:

xueliang@dev:~/download/nginx-1.10.1$ ./configure –prefix=/usr/local/nginx
checking for OS

  • Linux 4.2.0-27-generic x86_64
    checking for C compiler … not found

./configure: error: C compiler cc is not found

xueliang@dev:~/download/nginx-1.10.1$

可以参考这篇文章安装C compiler,然后继续下面的操作

② 如果之前没有安装PCRE,这一步将报如下错误信息:

checking for PCRE library … not found
checking for PCRE library in /usr/local/ … not found
checking for PCRE library in /usr/include/pcre/ … not found
checking for PCRE library in /usr/pkg/ … not found
checking for PCRE library in /opt/local/ … not found

./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using –without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using –with-pcre= option.

xueliang@dev:~/download/nginx-1.10.1$

可以参考这篇文章安装PCRE,然后继续下面的操作

③ 如果之前没有安装zlib,这一步将报如下错误信息:

checking for md5 in system md library … not found
checking for md5 in system md5 library … not found
checking for md5 in system OpenSSL crypto library … not found
checking for sha1 in system md library … not found
checking for sha1 in system OpenSSL crypto library … not found
checking for zlib library … not found

./configure: error: the HTTP gzip module requires the zlib library.
You can either disable the module by using –without-http_gzip_module
option, or install the zlib library into the system, or build the zlib library
statically from the source with nginx by using –with-zlib= option.

xueliang@dev:~/download/nginx-1.10.1$

可以参考这篇文章安装zlib,然后继续下面的操作

也可以跳过此步,执行默认安装,--prefix的默认值为/usr/local/nginx,Nginx官网对此有说明:Building nginx from Sources

下载模块:

第三步 编译

make

# cd /usr/local/src

第四步 完成安装

sudo make install

# wget -O file-md5-master.zip

平滑升级

当需要对正在运行的Nginx进行升级时,可以在不停止Nginx的情况下,使用新版本或者重编译的可执行程序替换旧版本的可执行程序,这里我们从nginx-1.10.1升级到nginx-1.11.1

# unzip file-md5-master.zip

第一步 备份旧版本

因为Nginx的升级,实质只是用新版本的可执行文件,替换旧版本的可执行程序,所以,对于备份,既可以只备份旧版本可执行文件,也可以打包备份整个旧版本安装目录,参考命令分别如下:

只备份旧版本可执行文件

sudo cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak

打包备份整个旧版本安装目录

sudo tar -cvf /usr/local/nginx.bak /usr/local/nginx

安装分为二种情况:

第二步 下载新版本并解压Nginx压缩包

对于新版本Nginx压缩包的下载和解压,可以参考本文关于Nginx的安装部分的第一、二步。

1、从未安装过nginx,编译时指定编译参数和添加第三方模块目录

第三步 使用旧版本配置参数,配置并编译新版本Nginx

因为只是对Nginx进行升级,并不涉及配置参数的修改,所以,我们一般使用和旧版本相同的配置(当然你也可以使用全新的配置信息),来编译新版本的Nginx,使用如下命令查看旧版本配置信息:

/usr/local/nginx/sbin/nginx -V

可以得到结果如下:

xueliang@dev:~/download/nginx-1.11.1$ /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.10.1
built by gcc 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
configure arguments: –prefix=/usr/local/nginx
xueliang@dev:~/download/nginx-1.11.1$

其中 [configure arguments: –prefix=/usr/local/nginx] 这一行即为旧版本Nginx配置信息,这里可以看出,旧版本只是指定了安装路径,使用[configure arguments:]后面的参数信息,对新版本Nginx作相同配置,然后进行编译:

./configure --prefix=/usr/local/nginx

[root@localhost ~]# cd /usr/local/src/nginx-1.6.2

第四步 编译新版本Nginx可执行程序

make

[root@localhost nginx-1.6.2]# ./configure --prefix=/usr/local/nginx --with-pcre --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --add-module=../file-md5-master

第五步 用新版本Nginx可执行程序覆盖旧版本可执行程序

在上一步的基础上,执行一下命令即可:

sudo cp objs/nginx /usr/local/nginx/sbin/nginx

执行这条命令,可能会报以下异常,提示文件被占用:

xueliang@dev:~/download/nginx-1.11.1$ sudo cp objs/nginx /usr/local/nginx/sbin/nginx
cp: cannot create regular file ‘/usr/local/nginx/sbin/nginx’: Text file busy
xueliang@dev:~/download/nginx-1.11.1$

可以使用以下命令进行强制覆盖:

sudo cp -rfp objs/nginx /usr/local/nginx/sbin/nginx

本文由乐虎游戏发布于计算机资讯,转载请注明出处:Nginx安装第三方模块

关键词:

高并发一些处理办法

使用思维导图的场景无处不在,无论是做产品还是做设计,我们都需要清晰的思路,明确自己需要做些什么,最后需...

详细>>

缘何本身要称本身为Javascript程序猿

尝试百度"PHP是最好的语言",发现指向较多的是那个关于程序员的笑话。但是如果这个梗来自于这个笑话的话,那么为...

详细>>

ThinkPHP5

本篇,我们的目标有三个: 主要: 一、TP5的目录结构和规范 project 应用部署目录 ├─application 应用目录(可设置)...

详细>>

《Thinkphp5入门体系课程》第十三课:Migration(二)

Thinkphp5视频教程 cmd操作mysql方式:   表的方法 列的方法 自定义主键名 自定义时间戳字段名 增加软删除 softDelete 字段...

详细>>