fastDfs服务器部署使用

简介: 强大的文件管理服务器fastDFS

一、准备环境

下载,推荐到这里,这是作者的GitHub:https://github.com/happyfish100

image.jpeg

首先进入到根目录

               cd /              

创建一个文件夹development,主要用于存放我们FastDFS的安装文件

image.jpeg

将相关文件上传至development文件夹中,可以通过FX等方式

image.jpeg

二、安装libfastcommon内库

进入到development文件夹后加压libfastcommon-1.0.39.tar.gz打包压缩文件

               #进入development准备加压 cd development/ #解压 tar -zxvf libfastcommon-1.0.39.tar.gz  #进入 cd libfastcommon-1.0.39 #查看文件中的内容 ll              

image.jpeg

准备编译并且安装

               ./make.sh && ./make.sh install              

查看libfastcommon有没有正确安装到虚拟机上

               cd /usr/lib && ll libfast*              

显示如下信息,表示成功安装

image.jpeg

三、安装fastdfs

3.1、安装基本环境

重新进入到development目录下,加压fastdfs-5.11.tar.gz

               #进入development目录 cd /development/ #解压 tar -zxvf fastdfs-5.11.tar.gz #进入fastdfs-5.11目录,然后ll查看文件 cd fastdfs-5.11 ll              

image.jpeg

创建一个目录,用来存放FastDFS的配置

               mkdir /etc/fdfs              

拷贝两个文件到创建的fdfs目录中,目的是为了避免后面会出现的错误

               cp /development/fastdfs-5.11/conf/mime.types /etc/fdfs/ cp /development/fastdfs-5.11/conf/http.conf /etc/fdfs/ #查看/etc/fdfs目录下的内容 ll /etc/fdfs/              

开始编译安装fastdfs

               #进入到 fastdfs-5.11 目录,执行相同的编译安装命令 cd /development/fastdfs-5.11/ ./make.sh && ./make.sh install              

安装成功后查看安装的情况

               cd /usr/bin/ && ll fdfs*              

image.jpeg

3.2、安装Tracker服务(监控服务)

编辑tracker服务的配置文件tracker.conf

               vim /development/fastdfs-5.11/conf/tracker.conf              

需要修改的内容如下:

               # the base path to store data and log files base_path=/home/yuqing/fastdfs 修改为 base_path=/development/fastdfs/tracker #注意,这里是本地,只需要修改这一个地方,更多的修改根据环境的不同来修改              

因为我们并没有上面修改的文件夹,下面就来创建这个文件夹

               mkdir -p /development/fastdfs/tracker #存储目录 mkdir -p /development/fastdfs/storage mkdir -p /development/fastdfs/client #Ngix使用的目录 mkdir -p /var/temp/nginx/client              

               mkdir --help 长选项必须使用的参数对于短选项时也是必需使用的。   -m, --mode=模式       设置权限模式(类似chmod),而不是rwxrwxrwx 减umask   -p, --parents         需要时创建目标目录的上层目录,但即使这些目录已存在也不当作错误处理   -v, --verbose         每次创建新目录都显示信息   -Z, --context=CTX     将每个创建的目录的SELinux 安全环境设置为CTX       When COREUTILS_CHILD_DEFAULT_ACLS environment variable is set, -p/--parents       option respects default umask and ACLs, as it does in Red Hat Enterprise Linux 7 by default             --help              显示此帮助信息并退出       --version         显示版本信息并退出              

验证stracker服务是否能正常启动和关闭

               #启动=命令+配置+命令 fdfs_trackerd /development/fastdfs-5.11/conf/tracker.conf #查看tracker目录下是否有文件了 ll /development/fastdfs/tracker/              

image.jpeg

看到data和logs就证明tracker服务已经启动,并且配置的basepath也是没有问题的

               #关闭/停止 = 命令 + 配置 + 命令 fdfs_trackerd /development/fastdfs-5.11/conf/tracker.conf stop              

image.jpeg

               #接start启动 fdfs_trackerd /development/fastdfs-5.11/conf/tracker.conf start #查看进程的方式查看fdfs ps -ef | grep fdfs              

3.3、安装storage服务

编辑storage的配置文件

               vim /development/fastdfs-5.11/conf/storage.conf              

修改内容如下:

               # and storage_ids.conf must be configed correctly. group_name=group1 修改这个的分组名称,这里可以默认为group1,              

               # bind an address of this host # empty for bind all addresses of this host bind_addr= 修改为当前IP地址 bind_addr=192.168.25.129              

               # the base path to store data and log files base_path=/home/yuqing/fastdfs 修改为刚新建的storage目录 base_path=/development/fastdfs/storage              

               # store_path#, based 0, if store_path0 not exists, it's value is base_path # the paths must be exist store_path0=/home/yuqing/fastdfs 修改为storage目录 store_path0=/development/fastdfs/storage              

               # tracker_server can ocur more than once, and tracker_server format is #  "host:port", host can be hostname or ip address tracker_server=192.168.209.121:22122 修改为自己的IP地址 tracker_server=192.168.25.129:22122              

               修改完成保存并退出              

启动storage服务,这里需要注意,需要先启动tracker服务

               #因为刚才我们已经启动过了,使用这里不需要启动tracker了 #如果没有启动,记得启动 #启动/关闭也差不多 = 命令 + 配置 + 命令 fdfs_storaged /development/fastdfs-5.11/conf/storage.conf fdfs_storaged /development/fastdfs-5.11/conf/storage.conf stop fdfs_storaged /development/fastdfs-5.11/conf/storage.conf start ps -ef|grep fdfs              

image.jpeg

image.jpeg

四、测试服务

4.1、上传一张图片到Linux服务器上

4.2、通过FastDFS中的测试(刚才的test)进行测试

               #上传测试 = 命令 + 配置 + 命令 + 图片 fdfs_test /development/fastdfs-5.11/conf/client.conf  upload /development/test.png                

image.jpeg

修改配置文件呗:

               vim /development/fastdfs-5.11/conf/client.conf              

修改信息如下

               # the base path to store log files base_path=/home/yuqing/fastdfs 修改为刚才的client目录 base_path=/development/fastdfs/client              

               # tracker_server can ocur more than once, and tracker_server format is #  "host:port", host can be hostname or ip address tracker_server=192.168.0.197:22122 修改为本地IP地址 tracker_server=192.168.25.129:22122              

               保存并退出              

再次执行上传测试命令

               fdfs_test /development/fastdfs-5.11/conf/client.conf  upload /development/test.png                

image.jpeg

如果显示上图信息,表示上传已经成功了,保存地址,为了后面配置好Nginx之后可以查看

http://192.168.25.129/group1/M00/00/00/wKgZgV2vhkqAF4HEAAOyoURsXcU168_big.png

4.3、查看一下图片被保存的地方

               #进入数据保存的位置(请记好这个文件夹的地址) cd /development/fastdfs/storage/data/ #通过ls来进行查看,因为分片后的文件比较多 ls #上面地址上有M00/00/00,下面的00是第一个目录 cd 00 #这是进入到第二个目录 cd 00 #通过ll命令可以查看到图片文件了 ll              

image.jpeg

五、FastDFS和Nginx整合

回到development目录,解压fastdfs-nginx-module-1.20.tar.gz

               cd /development/ tar -zxvf fastdfs-nginx-module-1.20.tar.gz  cd fastdfs-nginx-module-1.20 ll cd fastdfs-nginx-module-1.20/src/ ll              

image.jpeg

修改config文件

               vim config              

               ngx_module_incs="/usr/local/include" 修改为 ngx_module_incs="/usr/include/fastdfs /usr/include/fastcommon"              

               CORE_INCS="$CORE_INCS /usr/local/include" 修改为 CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon"              

               保存并退出              

到目前为止,已经安装好FastDFS服务器,但是还没有和Nginx进行配合实现图片服务器的效果,因为Nginx我们还未安装,下面就安装Nginx

               #再次回到development目录,解压Nginx cd /development/ tar -zxvf nginx-1.8.0.tar.gz  cd nginx-1.8.0 ll              

image.jpeg

配置命令:

               ./configure \ --prefix=/usr/local/nginx \ --pid-path=/var/run/nginx/nginx.pid \ --lock-path=/var/lock/nginx.lock \ --error-log-path=/usr/local/nginx/errors/error.log \ --http-log-path=/usr/local/nginx/logs/access.log \ --with-http_gzip_static_module \ --http-client-body-temp-path=/var/temp/nginx/client \ --http-proxy-temp-path=/var/temp/nginx/proxy \ --http-fastcgi-temp-path=/var/temp/nginx/fastcgi \ --http-uwsgi-temp-path=/var/temp/nginx/uwsgi \ --http-scgi-temp-path=/var/temp/nginx/scgi \ --add-module=/development/fastdfs-nginx-module-1.20/src              

报错

               ./configure: error: the HTTP rewrite module requires the PCRE library. You can either disable the module by using --without-http_rewrite_module option, or install the PCRE library into the system, or build the PCRE library statically from the source with nginx by using --with-pcre=<path> option.              

               yum -y install pcre-devel              

               yum install -y zlib-devel              

再次执行上面的配置命令

image.jpeg

接下来运行make命令安装

               #当前所在目录/development/nginx-1.8.0 make && make install              

image.jpeg

开始配置Nginx配合FastDFS,修改配置文件mod_fastdfs.conf

               vim /development/fastdfs-nginx-module-1.20/src/mod_fastdfs.conf              

修改内容如下:

               # the base path to store log files base_path=/tmp 修改为 base_path=/development/fastdfs              

               #  "host:port", host can be hostname or ip address # valid only when load_fdfs_parameters_from_tracker is true tracker_server=tracker:22122 修改为自己的IP地址 tracker_server=192.168.25.129:22122              

               # if the url / uri including the group name # set to false when uri like /M00/00/00/xxx # set to true when uri like ${group_name}/M00/00/00/xxx, such as group1/M00/xxx # default value is false url_have_group_name = false 修改为 url_have_group_name = true              

               # store_path#, based 0, if store_path0 not exists, it's value is base_path # the paths must be exist # must same as storage.conf store_path0=/home/yuqing/fastdfs #store_path1=/home/yuqing/fastdfs1 修改为 store_path0=/development/fastdfs/storage              

               保存并退出              

将修改好的文件复制一份到/etc/fdfs 目录下

               cp /development/fastdfs-nginx-module-1.20/src/mod_fastdfs.conf /etc/fdfs/              

启动前,配置Nginx相关配置

创建存放Nginx多虚拟的配置文件的目录

               mkdir /usr/local/nginx/conf/conf.d              

配置Nginx的主配置文件nginx.conf

               vim /usr/local/nginx/conf/nginx.conf              

               #添加如下信息 include conf.d/*.conf; # another virtual host using mix of IP-, name-, and port-based configuration              

               保存并退出              

在创建一个fastdfs-server.conf文件

               vim /usr/local/nginx/conf/conf.d/fastdfs-server.conf              

填上fastdfs相关的配置信息

               server{     listen 18888;     server_name 192.168.25.129;     location /group1/M00{         ngx_fastdfs_module;     } }              

验证Nginx,通过:

               /usr/local/nginx/sbin/nginx -t                

不带参数启动Nginx

               /usr/local/nginx/sbin/nginx              

本地浏览器测试,带上端口号(配置的18888)

http://192.168.25.129:9870/group1/M00/00/00/wKgZgV2vhkqAF4HEAAOyoURsXcU168_big.png

相关文章
|
19天前
|
弹性计算 监控 负载均衡
|
1月前
|
监控 安全 Linux
RHEL 环境下 Subversion 服务器部署与配置
【10月更文挑战第18天】在RHEL环境下部署Subversion服务器需依次完成安装Subversion、创建版本库、配置服务器、启动服务、客户端连接及备份维护等步骤。确保遵循安全最佳实践,保障数据安全。
|
13天前
|
弹性计算 开发工具 git
2分钟在阿里云ECS控制台部署个人应用(图文示例)
作为一名程序员,我在部署托管于Github/Gitee的代码到阿里云ECS服务器时,经常遇到繁琐的手动配置问题。近期,阿里云ECS控制台推出了一键构建部署功能,简化了这一过程,支持Gitee和GitHub仓库,自动处理git、docker等安装配置,无需手动登录服务器执行命令,大大提升了部署效率。本文将详细介绍该功能的使用方法和适用场景。
2分钟在阿里云ECS控制台部署个人应用(图文示例)
|
1月前
|
Prometheus Kubernetes 监控
k8s部署针对外部服务器的prometheus服务
通过上述步骤,您不仅成功地在Kubernetes集群内部署了Prometheus,还实现了对集群外服务器的有效监控。理解并实施网络配置是关键,确保监控数据的准确无误传输。随着监控需求的增长,您还可以进一步探索Prometheus生态中的其他组件,如Alertmanager、Grafana等,以构建完整的监控与报警体系。
124 60
|
1月前
|
Prometheus Kubernetes 监控
k8s部署针对外部服务器的prometheus服务
通过上述步骤,您不仅成功地在Kubernetes集群内部署了Prometheus,还实现了对集群外服务器的有效监控。理解并实施网络配置是关键,确保监控数据的准确无误传输。随着监控需求的增长,您还可以进一步探索Prometheus生态中的其他组件,如Alertmanager、Grafana等,以构建完整的监控与报警体系。
219 62
|
20天前
|
PHP 数据库 数据安全/隐私保护
布谷直播源码部署服务器关于数据库配置的详细说明
布谷直播系统源码搭建部署时数据库配置明细!
|
29天前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
250 3
|
29天前
|
NoSQL Linux PHP
|
30天前
|
弹性计算 数据库连接 Nacos
阿里云ECS服务器在docker中部署nacos
docker pull nacos 失败,docker部署nacos遇到的问题,nacos数据库连接,nacos端口映射
102 1
|
1月前
|
监控 网络安全 调度
Quartz.Net整合NetCore3.1,部署到IIS服务器上后台定时Job不被调度的解决方案
解决Quartz.NET在.NET Core 3.1应用中部署到IIS服务器上不被调度的问题,通常需要综合考虑应用配置、IIS设置、日志分析等多个方面。采用上述策略,结合细致的测试和监控,可以有效地提高定时任务的稳定性和可靠性。在实施任何更改后,务必进行充分的测试,以验证问题是否得到解决,并监控生产环境的表现,确保长期稳定性。
58 1