Docker部署Nginx+FastDFS插件

news/2024/5/19 18:13:52/文章来源:https://blog.csdn.net/weixin_45310323/article/details/133223447

文章目录

    • 一、部署FastDFS
    • 二、部署Nginx(带FastDFS插件)
    • 三、FastDFS上传文件Nginx访问验证

一、部署FastDFS

1、准备工作

docker pull qinziteng/fastdfs:5.05
Pwd="/data/software/fastdfs"
mkdir ${Pwd}/{storage,tracker} -p

2、创建TEST容器,将fastdfs目录COPY到本地,方便后续维护管理!

docker run -id --name fastdfs qinziteng/fastdfs:5.05
docker cp fastdfs:/home/fastdfs/conf /etc/fdfs
docker rm -f fastdfs

3、运行FastDFS容器
注意:TRACKER_SERVER变量请替换成当前服务器IP:22122!!!

docker run -id --name fastdfs \-v ${Pwd}/storage:/home/fastdfs/storage \-v ${Pwd}/tracker:/home/fastdfs/tracker \-v /etc/localtime:/etc/localtime \-v /etc/fdfs:/home/fastdfs/conf \--restart=always \--net host \-e TRACKER_SERVER="16.32.15.115:22122" \qinziteng/fastdfs:5.05

二、部署Nginx(带FastDFS插件)

1、准备工作

docker pull qinziteng/nginx-fastdfs:v1
mkdir /usr/local/nginx/conf.d -p
mkdir var/log/nginx -p

2、创建nginx配置文件

cat > /usr/local/nginx/conf.d/nginx_fastdfs.conf << EOF
server {listen       80;server_name 127.0.0.1;location ^~ /group1/M00/ {alias /home/fastdfs/storage;ngx_fastdfs_module;charset 'utf-8';}location / {root /usr/share/nginx/html;index index.html;  }
}
EOF

3、运行Nginx容器

  • Nginx容器基于FastDFS之上,所以一定要先部署FastDFS
  • TRACKER_SERVER变量请和上面保持一致,就是Nginx要连接那个FastDFS
docker run -itd --name nginx \-v ${Pwd}/storage:/home/fastdfs/storage \-v /etc/fdfs:/etc/fdfs \-v /var/log/nginx:/var/log/nginx \-v /etc/localtime:/etc/localtime \-v /usr/local/nginx:/usr/local/nginx \--restart=always \-e TRACKER_SERVER="16.32.15.115:22122"  \-p 80:80 qinziteng/nginx-fastdfs:v1

三、FastDFS上传文件Nginx访问验证

1、进入FastDFS容器,上传文件

docker exec -it fastdfs /bin/bash
echo "已经 $(date +%F,%T)了,还不休息????" > six.txt
fdfs_upload_file /home/fastdfs/conf/client.conf six.txtgroup1/M00/00/00/ECAPc2UPGw6AfPG6AAAAN9ApjR8324.txt

在这里插入图片描述

把这个复制出来,加到访问nginx路径后面!

2、Nginx访问验证
浏览器访问:http://IP/group1/M00/00/00/ECAPc2UPGw6AfPG6AAAAN9ApjR8324.txt
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_175054.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RK3568平台开发系列讲解(工具命令篇)ADB的安装

🚀返回专栏总目录 文章目录 一、ADB介绍二、Windows 下安装 adb 工具沉淀、分享、成长,让自己和他人都能有所收获!😄 一、ADB介绍 adb 全称 Android Debug Bridge,直译过来就是 Android 调试桥,它是一个通用的命令行工具。adb 做为 Android 设备与 PC 端连接的一个桥梁…

linux c++调用c

参考 【Linux下gcc编译的四个过程】_Deacde_ZY的博客-CSDN博客 C与C如何互相调用_c文件引用c头文件_卍一十二画卍的博客-CSDN博客 Linux动态链接库的创建与使用_linux创建动态库_满天星羽的博客-CSDN博客 c调用c 1.1 例子1&#xff1a; test1.c #include <stdio.h>…

Python|OpenCV-访问并修改图片像素值,鉴别彩色和灰色图像(6)

前言 本文是该专栏的第6篇,后面将持续分享OpenCV计算机视觉的干货知识,记得关注。 在使用OpenCV对图像进行操作的时候,通常需要熟练掌握一些Numpy知识点。因为有的时候需要用到Numpy和OpenCV结合去实现图像的操作,所以说想要写出较好的OpenCV代码的最好方法,就需要有Nump…

【线性代数】为什么 AA* = |A|E

A A ∗ 矩阵相乘&#xff0c;刚好是行列式展开的定义 AA*矩阵相乘&#xff0c;刚好是行列式展开的定义 AA∗矩阵相乘&#xff0c;刚好是行列式展开的定义 矩阵提取一个因子 ∣ A ∣ &#xff0c;所有元素需要除 ∣ A ∣ 矩阵提取一个因子 |A|&#xff0c;所有元素需要除 |A| 矩…

idea集成tomcat(Smart Tomcate插件安装)

当我们在 tomcat 上部署好一个 webapp 后&#xff0c;如果我们要修改代码&#xff0c;就需要重新进行打包和部署&#xff0c;但往往在工作中是需要频繁修改代码&#xff0c;然后再查看成果的&#xff0c;就需要反复的进行打包和部署的过程&#xff0c;这是很麻烦的 通过 Smart …

腾讯云16核服务器配置大全_CVM和轻量服务器汇总

腾讯云16核CPU服务器有哪些配置可以选择&#xff1f;可以选择标准型S6、标准型SA3、计算型C6或标准型S5等&#xff0c;目前标准型S5云服务器有优惠活动&#xff0c;性价比高&#xff0c;计算型C6云服务器16核性能更高&#xff0c;轻量16核32G28M带宽优惠价3468元15个月&#xf…

基于微信小程序的图书借阅管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言用户微信小程序端的主要功能有&#xff1a;管理员的主要功能有&#xff1a;具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌…

浏览器基本原理

1、浏览器内部组成 我们看到浏览器主要包括&#xff1a; 1个浏览器主进程&#xff1a; 主要负责界面显示&#xff0c;用户交互&#xff0c;子进程管理多个渲染进程&#xff1a;一般浏览器会为每个Tab标签窗口创建一个渲染进程&#xff0c;主要负责将html&#xff0c;css&#…

Rust vs C++ 深度比较

Rust由于其强大的安全性受到大量关注&#xff0c;被认为C在系统编程领域最强大的挑战者。本文从语言、框架等方面比较了两者的优缺点。原文: Rust vs C: An in-depth language comparison Rust和C的比较是开发人员最近的热门话题&#xff0c;两者之间有许多相似之处&#xff0c…

Fedora Linux 39 Beta 预估 10 月底发布正式版

Fedora 39 Beta 镜像于今天发布&#xff0c;用户可以根据自己的使用偏好&#xff0c;下载 KDE Plasma&#xff0c;Xfce 和 Cinnamon 等不同桌面环境版本&#xff0c;正式版预估将于 10 月底发布 Fedora 39 Beta 版本主要更新了 DNF 软件包管理器&#xff0c;并优化了 Anaconda …

vue/react/node项目通过eslint检查语法规范

首先 我们打开终端 全局安装依赖 npm install -g eslint然后 以管理员身份运行项目终端 输入 eslint --init然后 这里 在初始化时会问我们想如何使用它? 分别对应 仅检查语法 检查语法并发现问题 检查语法、发现问题并强制执行代码样式 这里建议第二种 第三种肯定是不行的 …

分类预测 | MATLAB实现WOA-CNN-BiGRU-Attention数据分类预测(SE注意力机制)

分类预测 | MATLAB实现WOA-CNN-BiGRU-Attention数据分类预测&#xff08;SE注意力机制&#xff09; 目录 分类预测 | MATLAB实现WOA-CNN-BiGRU-Attention数据分类预测&#xff08;SE注意力机制&#xff09;分类效果基本描述模型描述程序设计参考资料 分类效果 基本描述 1.MATLA…

毫米波V2I网络的链路层仿真研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

程序运行时增加语音提示

目录 前言 一、认识SAPI 二、使用方法 三、测试效果​编辑 总结 前言 在测试过程中为了更高效的提示操作者&#xff0c;在程序执行时增加语音提醒会方便很多&#xff0c;利用微软的SAPI可以很方便的在程序有问题时提示操作者。 一、认识SAPI SpVoice类是支持语音合成(TTS)的核…

多线程进阶学习笔记

文章目录 多线程进阶学习前言1、线程的状态1.1 线程状态相关介绍1.2 状态切换演示示例一示例二示例三 2、线程池2.1 线程池的实现2.2 JDK中的线程池2.2.1 Executors2.2.2 ThreadPoolExecutor2.2.3 线程池的工作原理2.2.4 任务拒绝策略 3、volatile关键字3.1 可见性问题3.2 JMM3…

NLP BigModel

NLP 基础 建议看 [CS224N 2023]打基础 【NLP入门】1. n元语法模型 / 循环神经网络 【NLP入门】3. Word2Vec / GloVe Language Model&#xff1a;语言模型的马尔可夫假设&#xff08;每个词出现的概率仅依赖前面出现的词&#xff09;①根据前文预测下一个词是 w n w_n wn​的条…

Qt创建线程(使用moveToThread方法创建子线程)

1.moveTothread方法: &#xff08;1&#xff09;要使用moveToThread方法必须继承与QObject类 &#xff08;2&#xff09;创建任务对象时不能指定父对象 例子&#xff1a; MyWork* work new MyWork(this); // error MyWork* work new MyWork; // ok &#xff08;3&#…

【LeetCode-中等题】513. 找树左下角的值

文章目录 题目方法一&#xff1a;前序递归方法二&#xff1a;层序遍历 题目 方法一&#xff1a;前序递归 在递归遍历到叶子结点时&#xff0c;对比此时的节点深度&#xff0c;若当前节点深度大于当前最大深度&#xff0c;就更新value值&#xff0c;最后记录下的value即为最下最…

Windows系统开启webdav挂载功能,访问webdav网络文件

修改注册表 新建1.reg文件 &#xff0c;输入下面的代码 Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters] "AcceptOfficeAndTahoeServers"dword:00000001 "BasicAuthLevel"dword:0000…

【Verilog 教程】4.4Verilog 语句块

关键词&#xff1a;顺序块&#xff0c;并行块&#xff0c;嵌套块&#xff0c;命名块&#xff0c;disable Verilog 语句块提供了将两条或更多条语句组成语法结构上相当于一条一句的机制。主要包括两种类型&#xff1a;顺序块和并行块。 顺序块 顺序块用关键字 begin 和 end 来表…