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的安装及使用

之后后面补上连接即可

目录
相关文章
|
4月前
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
6月前
|
Linux 网络安全 数据安全/隐私保护
使用Linux系统的mount命令挂载远程服务器的文件夹。
如此一来,你就完成了一次从你的Linux发车站到远程服务器文件夹的有趣旅行。在这个技术之旅中,你既探索了新地方,也学到了如何桥接不同系统之间的距离。
1046 21
|
5月前
|
Java Linux 网络安全
Linux云端服务器上部署Spring Boot应用的教程。
此流程涉及Linux命令行操作、系统服务管理及网络安全知识,需要管理员权限以进行配置和服务管理。务必在一个测试环境中验证所有步骤,确保一切配置正确无误后,再将应用部署到生产环境中。也可以使用如Ansible、Chef等配置管理工具来自动化部署过程,提升效率和可靠性。
555 13
|
5月前
|
监控 Linux 网络安全
FinalShell SSH工具下载,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux
FinalShell是一款国人开发的多平台SSH客户端工具,支持Windows、Mac OS X和Linux系统。它提供一体化服务器管理功能,支持shell和sftp同屏显示,命令自动提示,操作便捷。软件还具备加速功能,提升访问服务器速度,适合普通用户和专业人士使用。
1436 0
|
5月前
|
存储 安全 Linux
Linux服务器上安装配置GitLab的步骤。
按照以上步骤,一个基础的GitLab服务应该运行并可以使用。记得定期检查GitLab官方文档,因为GitLab的安装和配置步骤可能随着新版本而变化。
436 0
|
7月前
|
Ubuntu Linux 网络安全
在Linux云服务器上限制特定IP进行SSH远程连接的设置
温馨提示,修改iptables规则时要格外小心,否则可能导致无法远程访问你的服务器。最好在掌握足够技术知识和理解清楚操作含义之后再进行。另外,在已经配置了防火墙的情况下,例如ufw(Ubuntu Firewall)或firewalld,需要按照相应的防火墙的规则来设置。
379 24
|
7月前
|
存储 安全 Ubuntu
从Linux到Windows:阿里云服务器系统镜像适配场景与选择参考
阿里云为用户提供了丰富多样的服务器操作系统选择,以满足不同场景下的应用需求。目前,云服务器的操作系统镜像主要分为公共镜像、自定义镜像、共享镜像、镜像市场和社区镜像五大类。以下是对这些镜像类型的详细介绍及选择云服务器系统时需要考虑的因素,以供参考。
|
6月前
|
Linux
Linux下版本控制器(SVN) -服务器端环境搭建步骤
Linux下版本控制器(SVN) -服务器端环境搭建步骤
279 0
Linux下版本控制器(SVN) -服务器端环境搭建步骤
|
8月前
|
安全 Linux
阿里云linux服务器使用脚本通过安全组屏蔽异常海外访问ip
公网网站可能会遭受黑客攻击导致访问异常,使用此脚本可以屏蔽掉异常IP 恢复访问。也可自行设置定时任务定期检测屏蔽。
619 28
|
7月前
|
数据挖掘 Linux 数据库
服务器数据恢复—Linux系统服务器数据恢复案例
服务器数据恢复环境: linux操作系统服务器中有一组由4块SAS接口硬盘组建的raid5阵列。 服务器故障: 服务器工作过程中突然崩溃。管理员将服务器操作系统进行了重装。 用户方需要恢复服务器中的数据库、办公文档、代码文件等。

热门文章

最新文章