docker的fastDFS容器升级内置nginx版本

基础环境

操作系统

linux centOS 7.X

fastDFS镜像

镜像版本:delron/fastdfs:latest

fastDFS-Storage容器

fastDFS,docker版本分为两个容器,一个是tracker容器,一个是storage容器。

fastDFS内置的nginx是在storage容器

升级storage容器内的nginx

进入storage容器

docker exec -it 62d7bf770ff5 /bin/bash

查看当前nginx进程

[root@jeecg-boot-redis nginx]# ps aux | grep nginx
root      2685  0.0  0.0  28052  1784 ?        S    Nov19   0:00 nginx: master process /usr/local/nginx/sbin/nginx
nobody    2686  0.0  0.0  28628  2136 ?        S    Nov19   0:00 nginx: worker process
root      2721  0.0  0.0   9044   660 pts/2    S+   02:44   0:00 grep --color=auto nginx

下载编译1.21.4版本的nginx

下载并解压

依次执行命令:

wget http://nginx.org/download/nginx-1.21.4.tar.gz
mv nginx-1.21.4.tar.gz /usr/local
cd /usr/local
tar xf nginx-1.21.4.tar.gz
获取旧版本nginx编译的内容
[root@jeecg-boot-redis nginx]# sbin/nginx -V
nginx version: nginx/1.12.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) 
configure arguments: --prefix=/usr/local/nginx --add-module=/tmp/nginx/fastdfs-nginx-module-master/src

在解压后的新的nginx文件里执行旧版本的configure arguments:里面的内容
./configure --prefix=/usr/local/nginx --add-module=/tmp/nginx/fastdfs-nginx-module-master/src
执行make命令

make
ps:不需要make install命令!!!

新版本替换旧版本

首先备份旧的nginx可执行程序文件
[root@jeecg-boot-redis /]# cd /usr/local/nginx/sbin/
[root@jeecg-boot-redis sbin]# ls
nginx  nginx.bak
[root@jeecg-boot-redis sbin]# cp nginx{,.bak}
cp: overwrite 'nginx.bak'? y
[root@jeecg-boot-redis sbin]# ls
nginx  nginx.bak
[root@jeecg-boot-redis sbin]# 

找到新版本的nginx的可执行程序文件
[root@jeecg-boot-redis sbin]# cd /usr/local/nginx-1.21.4/
[root@jeecg-boot-redis nginx-1.21.4]# ls
CHANGES  CHANGES.ru  LICENSE  Makefile  README  auto  conf  configure  contrib  html  man  objs  src
[root@jeecg-boot-redis nginx-1.21.4]# cd objs/
[root@jeecg-boot-redis objs]# ls
Makefile  addon  autoconf.err  nginx  nginx.8  ngx_auto_config.h  ngx_auto_headers.h  ngx_modules.c  ngx_modules.o  src
[root@jeecg-boot-redis objs]# 


上图红框框起来的就是nginx可执行程序文件

用新版本的nginx可执行程序文件覆盖旧版本的nginx可执行程序文件

[root@jeecg-boot-redis objs]# cp -f nginx /usr/local/nginx/sbin/nginx
cp: overwrite ‘/usr/local/nginx/sbin/nginx’? y
将旧的nginx服务下线

1、查看旧的服务进程

[root@jeecg-boot-redis objs]# ps aux | grep nginx
root      2685  0.0  0.0  28052  1784 ?        S    Nov19   0:00 nginx: master process /usr/local/nginx/sbin/nginx
nobody    2686  0.0  0.0  28628  2136 ?        S    Nov19   0:00 nginx: worker process
root      2733  0.0  0.0   9044   664 pts/2    S+   03:04   0:00 grep --color=auto nginx
[root@jeecg-boot-redis objs]# 

找到nginx父进程的pid号,发送USR2信号
依次执行命令:
kill -USR2 2685
kill -WINCH 2685
kill -QUIT 2685

查看当前nginx版本
[root@jeecg-boot-redis objs]# cd /usr/local/nginx
[root@jeecg-boot-redis nginx]# ls
client_body_temp  conf  fastcgi_temp  html  logs  proxy_temp  sbin  scgi_temp  uwsgi_temp
[root@jeecg-boot-redis nginx]# 
[root@jeecg-boot-redis nginx]# sbin/nginx -V
nginx version: nginx/1.21.4
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) 
configure arguments: --prefix=/usr/local/nginx --add-module=/tmp/nginx/fastdfs-nginx-module-master/src
[root@jeecg-boot-redis nginx]# 

升级完成。

此次操作,是升级nginx版本来处理旧版本有漏洞的情况。如有更好的办法能解决旧版本的漏洞(在下是运维业余选手),欢迎一起分享一下。

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值