栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

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

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

docker的fastDFS容器升级内置nginx版本
    • 基础环境
      • 操作系统
      • fastDFS镜像
      • fastDFS-Storage容器
    • 升级storage容器内的nginx
      • 进入storage容器
      • 查看当前nginx进程
      • 下载编译1.21.4版本的nginx
        • 下载并解压
        • 获取旧版本nginx编译的内容
        • 在解压后的新的nginx文件里执行旧版本的configure arguments:里面的内容
        • 执行make命令
      • 新版本替换旧版本
        • 首先备份旧的nginx可执行程序文件
        • 找到新版本的nginx的可执行程序文件
        • 用新版本的nginx可执行程序文件覆盖旧版本的nginx可执行程序文件
        • 将旧的nginx服务下线
        • 查看当前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版本来处理旧版本有漏洞的情况。如有更好的办法能解决旧版本的漏洞(在下是运维业余选手),欢迎一起分享一下。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/641730.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号