IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> FastDFS安装以及nginx代理查看文件 -> 正文阅读

[系统运维]FastDFS安装以及nginx代理查看文件

FastDFS安装

1安装FastDFS依赖包

https://github.com/happyfish100/libfastcommon

  1. 解压缩libfastcommon-master.zip

  2. 进入到libfastcommon-master的目录中

  3. 执行./make.sh

  4. sudo apt-get install make

  5. 执行sudo ./make.sh install

2安装FastDFS

https://github.com/happyfish100/fastdfs

  1. 解压缩fastdfs-master.zip
  2. 进入到 fastdfs-master目录中
  3. 执行 ./make.sh
  4. 执行 sudo ./make.sh install

3配置跟踪服务器tracker

sudo cp /etc/fdfs/tracker.conf /etc/fdfs/tracker.conf.bak

在/home/itcast/目录中创建目录 fastdfs/tracker

mkdir -p /home/itcast/fastdfs/tracker

编辑/etc/fdfs/tracker.conf配置文件

sudo vim /etc/fdfs/tracker.conf 

修改 base_path=/home/itcast/fastdfs/tracker

4配置存储服务器storage

sudo cp /etc/fdfs/storage.conf /etc/fdfs/storage.conf.bak

在/home/itcast/fastdfs/ 目录中创建目录 storage

mkdir –p /home/itcast/fastdfs/storage

编辑/etc/fdfs/storage.conf配置文件 sudo vim /etc/fdfs/storage.conf 修改内容:

base_path=/home/itcast/fastdfs/storage
store_path0=/home/itcast/fastdfs/storage
tracker_server=自己ubuntu虚拟机的ip地址:22122

5启动tracker和storage

sudo fdfs_trackerd /etc/fdfs/tracker.conf
sudo fdfs_storaged /etc/fdfs/storage.conf

6测试是否安装成功

 sudo cp /etc/fdfs/client.conf /etc/fdfs/client.conf.bak

编辑/etc/fdfs/client.conf配置文件

sudo vim /etc/fdfs/client.conf

修改内容:

#添加
maxConns=10
#修改
base_path=/home/itcast/fastdfs/tracker
tracker_server=自己ubuntu虚拟机的ip地址:22122

查看进程是否存在:

ps -aux | grep storage
ps -aux | grep tracker
ps -aux | grep fdfs

上传文件测试(fastDHT)

sudo fdfs_upload_file /etc/fdfs/client.conf  要上传的图片文件 

如果返回类似group1/M00/00/00/rBIK6VcaP0aARXXvAAHrUgHEviQ394.jpg 的文件id则说明 文件上传成功

7安装fastdfs-nginx-module

https://github.com/happyfish100/fastdfs-nginx-module

http://nginx.org/

1.解压缩 nginx-1.8.1.tar.gz

  1. 解压缩 fastdfs-nginx-module-master.zip

  2. 进入nginx-1.8.1目录中

    cd /opt/FastDFS/nginx-1.21.1/
    
  3. 执行

    前提有库:

    sudo apt-get install libpcre3 libpcre3-dev
    
    sudo ./configure --prefix=/opt/FastDFS/nginx-1.21.1/ --add-module=/opt/FastDFS/fastdfs-nginx-module/src
    
    sudo make
    
    sudo make install
    
    #安装若有报错,可参考
    sudo vim /opt/FastDFS/nginx-1.21.1/objs/Makefile 
    
    #vim 输入命令查找 install 关键字,回车键定位
    /install
    
    注释掉以下几行
      #cp conf/koi-win '$(DESTDIR)/opt/FastDFS/nginx-1.21.1//conf'
      #cp conf/koi-utf '$(DESTDIR)/opt/FastDFS/nginx-1.21.1//conf'
      #cp conf/win-utf '$(DESTDIR)/opt/FastDFS/nginx-1.21.1//conf'
    
    
    sudo cp /opt/FastDFS/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
    
    sudo vim /etc/fdfs/mod_fastdfs.conf
    

    修改内容:

    connect_timeout=10 
    tracker_server=自己ubuntu虚拟机的ip地址:22122 
    url_have_group_name=true 
    store_path0=/home/itcast/fastdfs/storage
    
    sudo cp /opt/FastDFS/fastdfs/conf/http.conf /etc/fdfs/
    
    sudo cp /opt/FastDFS/fastdfs/conf/mime.types /etc/fdfs/
    
     sudo vim /opt/FastDFS/nginx-1.21.1/conf/nginx.conf
    

    添加

    server {
        listen 8888;
        server_name localhost;
        location ~/group[0-9]/ {
        	ngx_fastdfs_module;
        }
        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
        	root html;
        }
    }
    
    

    启动

    sudo /opt/FastDFS/nginx-1.21.1/sbin/nginx
    

    8使用go客户端上传文件测试

    https://github.com/tedcy/fdfs_client

    导包:

    import "github.com/tedcy/fdfs_client"
    

    查看 demo:client_test.go ,确认,我们使用的方法:

    client, err := NewClientWithConfig("fdfs.conf")
    	参数: /etc/fdfs/client.conf
    
    client.UploadByBuffer([]byte("hello world"), "go"); 
    	参1: []byte 的图片数据。
    	参2: 去除 “.” 文件后缀名。
    

    报错:

    no connPool can be use
    

    重新建/etc/fdfs/client.conf 文件,内容拷贝过去

    测试

    package main
    
    import (
    	"github.com/tedcy/fdfs_client"
    	"fmt"
    )
    
    func main()  {
    	// 初始化客户端 --- 配置文件
    	clt, err := fdfs_client.NewClientWithConfig("/etc/fdfs/client.conf")
    	if err != nil {
    		fmt.Println("初始化客户端错误, err:", err)
    		return
    	}
    
    	// 上传文件 -- 尝试文件名上传! 传入到 storage
    	resp, err := clt.UploadByFilename("头像1.jpg")
    
    	fmt.Println(resp, err)
    }
    
    -- 运行成功后 去 ~/fastdfs/storage/data/00/00/ 中查看!   ls | grep  xxx
    

    上传头像到fastdfs 中, 按字节流。(ihome项目)

    获取图片文件, 静态文件对象
    file, _ := ctx.FormFile("avatar")
    clt, _ := fdfs_client.NewClientWithConfig("/etc/fdfs/client.conf")
    
    // 打开文件,读取文件内容
    f, _ := file.Open()			// 只读打开.
    
    buf := make([]byte, file.Size)	// 按文件实际大小,创建切片.
    
    f.Read(buf)		// 读取文件内容, 保存至buf缓冲区.
    
    // go语言根据文件名获取文件后缀
    fileExt := path.Ext(file.Filename)		// 传文件名, 获取文件后缀---- 带有"."
    
    // 按字节流上传图片内容
    remoteId, _ := clt.UploadByBuffer(buf, fileExt[1:])
    
    

    查看上传:

    http://192.168.6.108:8888/group1/M00/00/00/xxxxxxxxxxxxxxx.jpg

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-30 12:34:54  更:2021-08-30 12:36:37 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 11:53:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码