这篇记录,如何在ubuntu16 安装 FastDFS 文件服务器,详细步骤

环境依赖


apt-get install make apt-get install unzip apt-get install gcc apt-get install libevent-dev nginx 依赖 安装gcc g++的依赖库
sudo apt-get install build-essential
sudo apt-get install libtool 安装pcre依赖库(http://www.pcre.org/)
sudo apt-get update
sudo apt-get install libpcre3 libpcre3-dev 安装zlib依赖库(http://www.zlib.net)
sudo apt-get install zlib1g-dev 安装SSL依赖库(16.04默认已经安装了)
sudo apt-get install openssl

安装libevent 2.0.2

tar -zxvf libevent-2.0.22-stable.tzr.gz
cd libevent-2.0.22-stable 配置安装库的目标路径:
./configure --prefix=/usr 编译安装libevent库:
make
sudo make install 检测安装是否成功 ls -al /usr/lib | grep libevent

安装libfastcommon-master

解压
unzip libfastcommon-master.zip 进入该文件,安装
./make.sh && ./make.sh install

至此,所有环境依赖ok

安装FDFS

解压
tar -xvf FastDFS_v5.08.tar.gz 进入
cd FastDFS 编译安装
sudo ./make.sh
sudo ./make.sh install 查看是否安装成功
ll /etc/init.d/ | grep fdfs
结果如下图所示,同时出现 tracker 和 storage

上面那两个文件是脚本,分别用来启动FDFS的tracker和storage , 还要记住他们所在的路径 /etc/init.d/ 下面

以后要是做开机启动也是在这里做

安装完了fdfs之后,重启一下, 不然下面配置完了 tracker之后,启动不起来

FDFS配置文件

fdfs启动回去 /etc/fdfs/下面读取配置文件, 安装完后默认会有三个模板配置文件,后续还会添加和http等相关的三个配置文件

我们先启动 tracker--> 去/etc/fdfs/ 修改tracker的配置文件

cd /etc/fdfs

在FDFS安装包所在的目录 创建出两个新目录,分别存放 tracker/storage 里面的 数据和日志文件

mkdir XXX

我们先修改tracker , 修改第三个配置文件

重命名配置文件
mv tracker.conf.sample tracker.conf

修改了配置文件,去启动tracker

sudo service fdfs_trackerd start # 启动fdfs_trackerd服务,停止用stop

通过下面命令查看是否成功启动

ps -ef |grep fdfs

启动storage --编辑storage配置

#  修改文件名
sudo cp storage.conf.sample storage.conf
sudo vim storage.conf 修改配置文件 -- 传输过来的文件保存的目录
base_path=/home/fdfschangwu/fdfs/storage # storage的数据和日志存放目录
store_path0=/home/fdfschangwu/fdfs/storage # storage的上传文件存放路径
tracker_server=192.168.56.101:22122 # tracker的地址 创建不存在的目录
XXX 启动storage
sudo service fdfs_storaged start 查看是否启动
ps -ef | grep fdfs

修改客户端配置文件

bash_path:换成一个存在的文件夹
tracker_server: 真正存在的那个地址

测试上传:

 命令:
/usr/bin/fdfs_upload_file client.conf /tmp/1.jpg 响应如下:
group1/M00/00/00/rBUAAlzbpG-ADLFNAAN_1nDfKJs466.jpg group1: 是我们在storage里面配置的组名
M00: 对应的是我们在storage.conf里面配置的store_path0
00/00 : 是文件目录的打散处理

配置 Nginx -- FastDFS模块 ( 加上这一步操作的原因是 80端口被nginx控制了,我们需要在nginx配置一下,让他反向代理请求,把请求转发的文件服务器 )

解压
tar -xvf fastdfs-nginx-module_v1.16.tar.gz 进入配置目录
cd /fastdfs-nginx-module/src 修改配置
vim config 执行下面命令(将配置中的/usr/local改为/usr):
:%s+/usr/local/+/usr/+g 将src目录下的mod_fastdfs.conf复制到 /etc/fdfs目录:当前全部的配置文件都在这里面,
fdfs运行也会读取这里面的配置文件 sudo cp mod_fastdfs.conf /etc/fdfs/ 编辑该文件
sudo vim /etc/fdfs/mod_fastdfs.conf 修改配置
connect_timeout=10 # 客户端访问文件连接超时时长(单位:秒)
tracker_server=192.168.56.101:22122 # tracker服务IP和端口
url_have_group_name=true # 访问链接前缀加上组名
store_path0=/home/fdfschangwu/fdfs/storage # 文件存储路径 复制 FastDFS的和http请求相关的配置文件到/etc/fdfs cd /home/fdfschangwu/fdfs/FastDFS/config/ # http相关的请求在这里面
cp http.conf mime.types /etc/fdfs/

---- 至此 Nginx模块安装完毕


nginx原来已经安装过了,现在去做些修改

进入 nginx目录
cd /home/ubuntu/nginx-1.10.0/ 执行下面的命令 -- 添加一个新的模块(fdfs的源码包))
./configure --prefix=/opt/nginx --sbin-path=/usr/bin/nginx
--add-module=/home/fdfschangwu/fdfs/fastdfs-nginx-module/src 重新编译-- 不要安装!!!
make 备份之前的nginx
mv /usr/bin/nginx /usr/bin/nginx-back 停止nginx
nginx -s stop 用刚刚编译的nginx 替换原来的nginx
cp /home/ubuntu/nginx-1.10.0/objs/nginx /usr/bin/

修改nginx 的配置文件

在 nginx安装目录中  /opt/nginx/conf/nginx.conf

 {
listen 80;
server_name 211.159.146.192; # fdfs配置
location ~/group([0-9])/{
ngx_fastdfs_module; # 代理到fdfs的nginx模块
} location / {
root html;
index index.html index.htm;
} error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}

启动nginx

nginx 

看到下面的响应证明,一切ok
ngx_http_fastdfs_set pid=1628

ubuntu16搭建文件服务器的更多相关文章

  1. windows server 2008 r2 搭建文件服务器

    目的需求:在测试环境下模拟公司现状需求,利用windows server 搭建文件服务器 工具必备:(1)vmware workstation,(2)windows server 2008 r2.is ...

  2. Ubuntu16 搭建Git 服务器

    刚入职一个月左右,昨晚公司给培训了SVN和Git的使用.之前在研究生期间,和导师做项目就一直使用git做版本管理.想起研究生有一段时间,git总出错(秘钥都不好使了,只有某个机器生成的rsa key ...

  3. ASP.NET Core静态文件中间件[1]: 搭建文件服务器

    虽然ASP.NET Core是一款"动态"的Web服务端框架,但是由它接收并处理的大部分是针对静态文件的请求,最常见的是开发Web站点使用的3种静态文件(JavaScript脚本. ...

  4. 在linux下使用Apache搭建文件服务器

    目录 一.关于文件服务器 二.使用Apache搭建文件服务器 三.测试文件服务器是否可用 一.关于文件服务器 ​ 在一个项目中,如果想把公共软件或者资料共享给项目组成员,可以搭建一个简易的文件服务器来 ...

  5. 基于Ubuntu16搭建Hadoop大数据完全分布式环境

    [目的]:学习大数据 在此记录搭建大数据的过程. [系统环境] 宿主机操作系统:Win7 64位 虚拟机软件:Vmware workstation 12 虚拟机:Ubuntu 16 64位桌面版 [步 ...

  6. ubuntu16搭建LAMP环境

    准备工作: 安装ubuntu16虚拟机,可以正常访问网络 更新为国内源(下载快一些) 1.安装apache sudo apt-get install apache2 然后打开我们的浏览器,访问一下 1 ...

  7. Centos7.4系统 httpd模式搭建文件服务器

    环境:服务环境:centos7.4 说明:搭建Apache文件服务器,下载路径为/opt/ymyg(下载路径根据实际需要自己定义) 步骤: 1.安装httpd服务   [root@localhost ...

  8. ASP.NET Core 6框架揭秘实例演示[29]:搭建文件服务器

    通过HTTP请求获取的Web资源很多都来源于存储在服务器磁盘上的静态文件.对于ASP.NET应用来说,如果将静态文件存储到约定的目录下,绝大部分文件类型都是可以通过Web的形式对外发布的." ...

  9. ubuntu16搭建harbor镜像库

    参考 https://blog.csdn.net/qq_35720307/article/details/86691752 目的:搭建本地镜像库,方便快速的存放和拉取需要的镜像文件.

随机推荐

  1. Visual Studio2019及.NET CORE3.0的安装教程

    看到很多开发.net core的初学者在安装的时候就陷入问题了,不知道安装那些东西,好吧,既然要分享知识那么就尽量做得精细一点吧,我决定从零开始为大家讲解.net core,同时有.net core工 ...

  2. 《Dotnet9》系列-开源C# WPF项目强力推荐

    时间如流水,只能流去不流回! 点赞再看,养成习惯,这是您给我创作的动力! 本文 Dotnet9 https://dotnet9.com 已收录,站长乐于分享dotnet相关技术,比如Winform.W ...

  3. [ASP.NET Core 3框架揭秘] 配置[7]:多样化的配置源[中篇]

    物理文件是我们最常用到的原始配置载体,而最佳的配置文件格式主要有三种,它们分别是JSON.XML和INI,对应的配置源类型分别是JsonConfigurationSource.XmlConfigura ...

  4. 【重大更新】AppWizard来了,emWin6.10版本来了

    说明: 1.快圣诞节了,MDK和SEGGER都太生猛了,发布了大量软件更新,而且都是比较大的改进,待我周报再给大家分享. 2.不枉我这么多年对emWin的支持,官方也用心,终于带来AppWizard, ...

  5. Java问题记录——循环里的二次判断与状态更新

    Java问题记录——循环里的二次判断与状态更新 摘要:本文主要记录了在循环操作时可能出现的问题. 问题重现 在使用循环结构时,如果使用了定时任务,或者代码会多次调用循环结构,可能会导致有些对象会被循环 ...

  6. JS---DOM---为同一个元素绑定多个不同事件指向同一个事件处理函数

    为同一个元素绑定多个不同事件指向同一个事件处理函数 1. 用了switch(e.type){} 来修改 2. break <input type="button" value ...

  7. day07什么是方法、方法的定义、方法的调用

    复习 1.数组 1)什么是数组 数组就是一种能够保存 多个相同数据类型的数据的变量 2)为什么使用数组 3)数组的构成 3.1)数组名 3.2)数组元素 3.3)数组长度 3.4)数组下标 4)数组的 ...

  8. Appium(九):Appium API(三) 滑动和拖拽、高级手势、手机操作

    1. 滑动和拖拽 我们在做自动化测试的时候,有些按钮是需要滑动几次屏幕后才会出现,此时,我们需要使用代码来模拟手指的滑动,也就是接下来要学的滑动和拖拽了. 1.1 swipe滑动事件 从一个坐标位置滑 ...

  9. 是时候扔掉 Postman 了,试试 IntelliJ IDEA 自带的高能神器!

    前言 接口调试是每个软件开发从业者必不可少的一项技能,一个项目的的完成,可能接口测试调试的时间比真正开发写代码的时间还要多,几乎是每个开发的日常工作项.所谓工欲善其事必先利其器,在没有尝到 IDEA ...

  10. 互联网大厂Java面试题集—Spring boot面试题(一)

    Spring Boot 需要独立的容器运行吗? 可以不需要,内置了 Tomcat/ Jetty 等容器.通过pom.xml中导入依赖: <!--spring-boot-starter-web:代 ...