参考:
nginx第三方模块安装方法
./configure --prefix=/你的安装目录 --add-module=/第三方模块目录
比如echo模块。
没安装前,使用测试。
location /test {
echo "test here";
}
https://blog.csdn.net/qq_38591756/article/details/82829902
安装gcc等过程暂记录。仅仅记录下面
都存放与/usr/local/ 目录下面。
├── openssl-1.1.0e.tar.gz
├── pcre-8.37.tar.gz
└── zlib-1.2.11.tar.gz
├──nginx-1.18.0.tar.gz
下载位置
链接:https://pan.baidu.com/s/1a0dvP5A4AIneT31kHhj5Kw
提取码:0k27
安装
openssl-1.1.0e.tar.gz
tar -zxvf openssl-1.1.0e.tar.gz
cd openssl-1.1.0e/
./config
make && make install
openssl-1.1.0e.tar.gz
tar -zxvf pcre-8.37.tar.gz
cd pcre-8.37/
./configure
make && make install
zlib-1.2.11.tar.gz
tar -zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11/
./configure
make && make install
nginx-1.18.0.tar.gz
tar -zxvf nginx-1.18.0.tar.gz
cd nginx-1.18.0.tar.gz/
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_gzip_static_module --with-pcre=../pcre-8.37 --with-zlib=../zlib-1.2.11 --with-openssl=../openssl-1.1.0e
make && make install
至此,nginx安装完成。
进入/usr/local/nginx/sbin文件夹,执行
./nginx -v
配置开机启动
配置nginx开机启动,切换到/lib/systemd/system目录,创建nginx.service文件:
cd /lib/systemd/system
vim nginx.service
文件文件内容如下:
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx reload
ExecStop=/usr/local/nginx/sbin/nginx quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
保存并退出,使用下面命令设置开机启动:
systemctl enable nginx.service
systemctl start nginx.service #启动,也可以使用sbin/nginx启动
systemctl stop nginx.service #结束nginx
systemctl restart nginx.service #重启,可使用sbin/nginx -s reload
配置文件
/usr/local/nginx/conf/nginx.conf文件是nginx默认的配置文件,对其修改即可。
安装第三方模块
Nginx的第三方模块
第三模块是对nginx 的功能扩展,第三方模块需要在编译安装nginx 的时候使用参数–add-module=PATH指定路径添加(第三方模块路径),有的模块是由公司的开发人员针对业务需求定制开发的,有的模块是开源爱好者开发好之后上传到github进行开源的模块,nginx支持
第三方模块,需要重新编译源码才能支持
查看安装了那些模块(-V 注意是大V。小v只显示版本)
/usr/local/nginx/sbin/nginx -V
nginx第三方模块安装方法
./configure --prefix=/你的安装目录 --add-module=/第三方模块目录
比如echo模块。
没安装前,使用测试。
location /test {
echo "test here";
}
在nginx安装目录中创建文件夹third_module。
下载echo模块到nginx安装目录中的third_module。
wget https://github.com/openresty/echo-nginx-module/archive/v0.61.tar.gz
解压
sudo tar -zxvf v0.61.tar.gz
退回nginx主目录:cd … (即/usr/local/nginx/)
查看编译安装的模块:
sbin/nginx -V
进入到 nginx安装包中
,执行添加了新的安装包的内容
添加新的模块echo-nginx-module-0.61
这里是引用
执行编译命令
sudo ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_gzip_static_module --with-pcre=../pcre-8.37 --with-zlib=../zlib-1.2.11 --with-openssl=../openssl-1.1.0e --add-module=/opt/othersoft/nginx1.18/nginx-1.18.0/third_module/echo-nginx-module-0.61
在nginx安装目录,执行安装命令 make
make
注意不是make install,这个命令是覆盖安装
查看是否安装成功
总结,安装nginx安装第三方模块实际上是使用–add-module重新安装一次nginx,不要make install而是直接把编译目录下objs/nginx文件直接覆盖老的nginx文件.如果你需要安装多个nginx第三方模块,你只需要多指定几个相应的–add-module即可.
[warning]备注:重新编译的时候,记得一定要把以前编译过的模块一同加到configure参数里面.[/warning]
第三方模块地址更新了:https://www.nginx.com/resources/wiki/modules/
备份原有nginx,重新拷贝nginx
执行了make命令之后,会在安装目录下生成objs文件夹,下面是最新的nignx运行包。
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx20180913
cp /usr/local/nginx-1.18.0/objs/nginx /usr/local/nginx/sbin/
sudo cp -f ./objs/nginx /usr/local/nginx/sbin/nginx
查看查看重新编译安装的模块:
重启nginx即可。