宝塔面板,lnmp一键包,oneinstack,都是我们常用的生产环境,但如果你用到Nginx fastcgi_cache模块,那么宝塔是自带的,lnmp安装也非常简单,只有oneinstack需要编译安装,对于小白来说这个编译安装稍微麻烦点,这篇文章就来谈谈如何在oneinstack中安装Nginx fastcgi_cache模块!!
1、简介
oneinstack官网:https://oneinstack.com/
lnmp官网:https://lnmp.org/
2、安装
1)安装oneinstack,分为自动安装和交互安装,关于安装官网给出了非常详细的介绍,本文就不在赘述!
- 自动安装:https://oneinstack.com/auto/
- 交互安装:https://oneinstack.com/install/
2)lnmp安装官网介绍的也非常详细:https://lnmp.org/install.html
3、oneinstack编译Nginx fastcgi_cache模块
1)默认是不带这个模块的,但是还是可以使用命令来查看一下。
nginx -V 2>&1 | grep -o ngx_cache_purge
执行命令后,如果没有任何回显,则表示没有这个模块,如下:
root@racknerd-9960d1:~# nginx -V 2>&1 | grep -o ngx_cache_purge root@racknerd-9960d1:~#
2)进入src目录开始下载ngx_cache_purge等,具体命令如下:
cd /root/oneinstack/src wget http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz tar xzf ngx_cache_purge-2.3.tar.gz
3)还需要解压几个包,以下几个安装包都是Oneinstack自带的,不同版本的需要调整。
tar xzf nginx-1.20.1.tar.gz tar xzf pcre-8.45.tar.gz tar xzf openssl-1.1.1k.tar.gz cd /root/oneinstack/src/nginx-1.20.1
具体如何查询这些版本呢,在进入/root/oneinstack/src
这个目录后执行ls
命令即可看到。
4)使用nginx -V 查看参数,复制红框标注的地方,保存到你的记事本备用,然后在最后面加上--add-module=../ngx_cache_purge-2.3
5)具体的添加代码如下:
./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-http_ssl_module --with-http_gzip_static_module --with-http_realip_module --with-http_flv_module --with-http_mp4_module --with-openssl=../openssl-1.1.1k --with-pcre=../pcre-8.45 --with-pcre-jit --with-ld-opt=-ljemalloc --add-module=../ngx_cache_purge-2.3
6)编译,使用make命令
make
编译成功如图:
7)备份和替换nginx,使用如下命令:
mv /usr/local/nginx/sbin/nginx{,_`date +%F`} cp objs/nginx /usr/local/nginx/sbin
8)使用nginx -V 2>&1 | grep -o ngx_cache_purge
命令查看模块,或者使用nginx -V
也可以看到。
4、lnmp编译Nginx fastcgi_cache模块
1)和oneinstack一样可以先检查下是否默认安装了该模块,具体命令参考上面!
2)编辑lnmp安装包目录下的 lnmp.conf 文件,在Nginx_Modules_Options=' ' 的单引号中加上 –add-module=/root/ngx_cache_purge-2.3 保存,升级nginx即可,其他模块同理。具体如下:
◊先下载模块:
cd ~ #比如在root目录下载该模块 wget http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz tar xzf ngx_cache_purge-2.3.tar.gz
◊紧接着修改lnmp.conf文件,路径/root/lnmp1.8
Download_Mirror='https://soft.vpser.net' Nginx_Modules_Options='--add-module=/root/ngx_cache_purge-2.3' #这里填入模块 PHP_Modules_Options='' ##MySQL/MariaDB database directory## MySQL_Data_Dir='/usr/local/mysql/var' MariaDB_Data_Dir='/usr/local/mariadb/var' ##Default website home directory## Default_Website_Dir='/home/wwwroot/default' Enable_Nginx_Openssl='y' Enable_PHP_Fileinfo='n' Enable_Nginx_Lua='n' Enable_Swap='y'
3)升级nginx,具体如下:
官网给出的升级命令:https://lnmp.org/faq/lnmp1-2-upgrade.html
./upgrade.sh nginx Current Nginx Version:1.20.1 You can get version number from http://nginx.org/en/download.html Please enter nginx version you want, (example: 1.18.0): 1.20.1 +---------------------------------------------------------+ | You will upgrade nginx version to 1.20.1 +---------------------------------------------------------+ Press any key to start...or Press Ctrl+c to cancel
注意:以上操作均必须在lnmp安装包压缩包解压后的目录里运行,如lnmp1.7版本解压后的目录就是lnmp1.8或lnmp1.8-full
4)升级成功如下,检查模块依然是用上文的方法!
5)如升级失败,需恢复将 /usr/local/nginx/sbin/nginx.日期 的文件重命名为nginx ,然后再启动nginx即可。可以使用命令恢复如下:
cp /usr/local/nginx/sbin/nginx.20211107121851 /usr/local/nginx/sbin/nginx
注意:备份的niginx是按照时间命名,请注意修改!!此外,Nginx升级为平滑升级,升级过程不影响nginx的运行。
5、最后
本文介绍了oneinstack和lnmp如何编译Nginx fastcgi_cache模块,如果对这个模块有需要的童鞋,可以参考,至于宝塔,因为默认安装了该模块,所以就不多做介绍了。