Linux搭建图片服务器

简介: Linux搭建图片服务器

1 安装目的

为了商城可以动态的上传图片,目的是为了解决高并发,不用集群tomcat,造成混乱,用一个分布式文件系统即可FastDFS

2 下载地址

tracker和storage使用相同的安装包,下载地址:http://sourceforge.net/projects/FastDFS/https://github.com/happyfish100/FastDFS(推荐)

本文章下载:FastDFS_v5.05.tar.gz

3 FastDFS安装环境

详见:Linux安装vsftpd组件

FastDFS是C语言开发,建议在linux上运行,本教程使用Centos6.4作为安装环境。


安装FastDFS需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc:yum install gcc-c++


3.1 安装libevent

FastDFS依赖libevent库,需要安装:


yum -y install libevent


3.2 安装libfastcommon

libfastcommon是FastDFS官方提供的,libfastcommon包含了FastDFS运行所需要的一些基础库。


将libfastcommonV1.0.7.tar.gz拷贝至/usr/local/下


cd /usr/local


tar -zxvf libfastcommonV1.0.7.tar.gz


cd libfastcommon-1.0.7


./make.sh


./make.sh install


注意:libfastcommon安装好后会自动将库文件拷贝至/usr/lib64下,由于FastDFS程序引用usr/lib目录所以需要将/usr/lib64下的库文件拷贝至/usr/lib下。


要拷贝的文件如下:


20200402103751159.png


3.3 tracker编译安装

将FastDFS_v5.05.tar.gz拷贝至/usr/local/下


tar -zxvf FastDFS_v5.05.tar.gz


cd FastDFS


./make.sh


./make.sh install


安装成功将安装目录下的conf下的文件拷贝到/etc/fdfs/下。


20200402103805809.png


4 配置

安装成功后进入/etc/fdfs目录:


20200402103820944.png


拷贝一份新的tracker配置文件:


cp tracker.conf.sample tracker.conf


修改tracker.conf


vi tracker.conf


base_path=/home/yuqing/FastDFS  


改为:


base_path=/home/FastDFS


5 启动

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart


启动的日志显示先停止5619进程(实际环境不是5619)再启动,如下图:


20200402103846844.png


注意:如果没有显示上图要注意是否正常停止原有进程。


5.1 设置开机自动启动。

[root@tracker FastDFS]# vim /etc/rc.d/rc.local

将运行命令行添加进文件:/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart


5.2 FastDFS--storage安装

在192.168.101.3上安装storage。


5.3 安装libevent

同tracker安装


5.4 安装libfastcommon

同tracker安装。


5.5 storage编译安装

同tracker编译安装。


5.6 配置

安装成功后进入/etc/fdfs目录:


20200402104003931.png


拷贝一份新的storage配置文件:


cp storage.conf.sample storage.conf


修改storage.conf


vi storage.conf


group_name=group1


base_path=/home/yuqing/FastDFS改为:base_path=/home/FastDFS


store_path0=/home/yuqing/FastDFS改为:store_path0=/home/FastDFS/fdfs_storage


#如果有多个挂载磁盘则定义多个store_path,如下


#store_path1=.....


#store_path2=......

tracker_server=192.168.101.3:22122   #配置tracker服务器:IP


#如果有多个则配置多个tracker


tracker_server=192.168.101.4:22122


5.7 启动

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart


启动的日志显示先停止8931进程(实际环境不是8931)再启动,如下图:


2020040210403776.png


注意:如果没有显示上图要注意是否正常停止原有进程。


5.8 设置开机自动启动。

[root@storage1 FastDFS]# vim /etc/rc.d/rc.local

将运行命令行添加进文件:/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart


6 上传图片测试

6.1 通过fdfs_test程序

FastDFS安装成功可通过/usr/bin/fdfs_test测试上传、下载等操作。


修改/etc/fdfs/client.conf


base_path=/home/fastdfs


tracker_server=192.168.101.3:22122


使用格式:


/usr/bin/fdfs_test 客户端配置文件地址  upload  上传文件


比如将/home下的图片上传到FastDFS中:


/usr/bin/fdfs_test /etc/fdfs/client.conf upload /home/tomcat.png


http://192.168.101.3/group1/M00/00/00/wKhlBVVY2M-AM_9DAAAT7-0xdqM485_big.png就是文件的下载路径。


对应storage服务器上的


/home/fastdfs/fdfs_storage/data/00/00/wKhlBVVY2M-AM_9DAAAT7-0xdqM485_big.png文件。


由于现在还没有和nginx整合无法使用http下载。


6.2 通过java Client API

完整的测试方法参考测试源代码。

public class FastdfsClientTest {
  //客户端配置文件
  public String conf_filename = "F:\\workspace_indigo\\fastdfsClient\\src\\cn\\itcast\\fastdfs\\cliennt\\fdfs_client.conf"; 
    //本地文件,要上传的文件
  public String local_filename = "F:\\develop\\upload\\linshiyaopinxinxi_20140423193847.xlsx";
//上传文件
    @Test 
    public void testUpload() { 
      for(int i=0;i<100;i++){
        try { 
            ClientGlobal.init(conf_filename); 
            TrackerClient tracker = new TrackerClient(); 
            TrackerServer trackerServer = tracker.getConnection(); 
            StorageServer storageServer = null; 
            StorageClient storageClient = new StorageClient(trackerServer, 
                    storageServer); 
            NameValuePair nvp [] = new NameValuePair[]{ 
                    new NameValuePair("item_id", "100010"), 
                    new NameValuePair("width", "80"),
                    new NameValuePair("height", "90")
            }; 
            String fileIds[] = storageClient.upload_file(local_filename, null, 
                    nvp); 
            System.out.println(fileIds.length); 
            System.out.println("组名:" + fileIds[0]); 
            System.out.println("路径: " + fileIds[1]); 
        } catch (FileNotFoundException e) { 
            e.printStackTrace(); 
        } catch (IOException e) { 
            e.printStackTrace(); 
        } catch (Exception e) {
      e.printStackTrace();
    } 
      }
    }
}

7 运行效果

详见:nginx的安装及使用

之后后面补上连接即可

相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
目录
相关文章
|
4天前
|
Java Linux
java读取linux服务器下某文档的内容
java读取linux服务器下某文档的内容
16 3
java读取linux服务器下某文档的内容
|
15天前
|
Ubuntu Linux
Linux服务器的自动启动可以在哪里进行配置?
Linux服务器的自动启动可以在哪里进行配置?
71 3
|
2月前
|
Linux
Linux 服务器下载百度网盘文件
本教程指导如何使用 `bypy` 库从百度网盘下载文件。首先通过 `pip install bypy` 安装库,接着运行 `bypy info` 获取登录链接并完成授权,最后将文件置于指定目录并通过 `bypy downdir /Ziya-13b-v1` 命令下载至本地。
40 1
Linux 服务器下载百度网盘文件
|
23天前
|
存储 数据挖掘 Linux
服务器数据恢复—Linux操作系统网站服务器数据恢复案例
服务器数据恢复环境: 一台linux操作系统服务器上跑了几十个网站,服务器上只有一块SATA硬盘。 服务器故障: 服务器突然宕机,尝试再次启动失败。将硬盘拆下检测,发现存在坏扇区
|
1月前
|
存储 安全 Linux
离线Linux服务器环境搭建
【9月更文挑战第3天】在离线环境下搭建Linux服务器需按以下步骤进行:首先确定服务器用途及需求,准备安装介质与所需软件包;接着安装Linux系统并配置网络;然后设置系统基础参数,如主机名与时区;安装必要软件并配置服务;最后进行安全设置,包括关闭非必要服务、配置防火墙、强化用户认证及定期备份数据。整个过程需确保软件包的完整性和兼容性。
文件上传 图片上传 客户端图片上传到服务器
文件上传 图片上传 客户端图片上传到服务器
|
1月前
|
存储 监控 Linux
监控Linux服务器
详细介绍了如何监控Linux服务器,包括监控CPU、内存、磁盘存储和带宽的使用情况,以及使用各种系统监控工具如vmstat、iostat、sar、top和dstat来分析系统性能,并推荐了一些开源监控系统。
32 0
监控Linux服务器
|
1月前
|
监控 安全 网络协议
快速配置Linux云服务器
快速配置Linux云服务器
|
2月前
|
缓存 Linux 调度
Linux服务器如何查看CPU占用率、内存占用、带宽占用
Linux服务器如何查看CPU占用率、内存占用、带宽占用
147 0
|
2月前
|
Linux
Linux命令行文档查看cat、less、more、head、tail和图片查看
Linux命令行文档查看cat、less、more、head、tail和图片查看
45 0
下一篇
无影云桌面