1.下载所需要的安装包:

在服务器根目录(你也可以在其他地方下载)下载以下安装包:
libfastcommon包下载: wget https://github.com/happyfish100/libfastcommon/archive/V1.0.39.tar.gz -O libfastcommon.tar.gz
fastdfs包下载:wget https://github.com/happyfish100/fastdfs/archive/V5.11.tar.gz -O fastdfs.tar.gz
nginx包下载:wget http://nginx.org/download/nginx-1.12.0.tar.gz -O nginx.tar.gz
fastdfs-nginx模块包下载:wget https://github.com/happyfish100/fastdfs-nginx-module/archive/V1.20.tar.gz -O fastdfs-nginx-module.tar.gz
### -O 表示重命名下载包
### 除了nginx包,其他包都在这里下载:https://github.com/happyfish100
复制代码

2.环境安装

安装gcc环境
yum -y install gcc-c++
安装pcre-devel与openssl-devel
yum -y install pcre-devel openssl openssl-devel
这个命令是解决安装nginx时出现的错误问题:./configure: error: the HTTP rewrite module requires the PCRE library.

3.安装libfastcommon

1.解压libfastcommon包: tar -zxvf libfastcommon.tar.gz
2.进入解压目录: cd libfastcommon-1.0.39
3.安装: ./make.sh./make.sh install
复制代码

4.安装FastDFS

1.解压fastDFS包: tar -zxvf fastdfs.tar.gz
2.进入解压目录: cd fastdfs-5.11
3.安装:./make.sh./make.sh install
如果安装成功,在/etc/fdfs目录下会有四个文件:
-rw-r--r-- 1 root root  1461 Nov 13 09:54 client.conf.sample
-rw-r--r-- 1 root root  7927 Nov 13 09:54 storage.conf.sample
-rw-r--r-- 1 root root   105 Nov 13 09:54 storage_ids.conf.sample
-rw-r--r-- 1 root root  7389 Nov 13 09:54 tracker.conf.sample
进入目录 cd /etc/fdfs,然后将这三个文件复制并去掉.sample:
cp client.conf.sample client.conf
cp storage.conf.sample storage.conf
cp tracker.conf.sample tracker.conf
复制代码

5.配置tracker

1.创建保存tracker的data和log的目录:mkdir -p /usr/local/fast-dfs/fastdfs_tracker
2.进入目录 cd /etc/fdfs
3.修改tracker.conf文件:vim tracker.conf
修改如下:disabled=false #默认开启port=22122 #默认端口号base_path=/usr/local/fast-dfs/fastdfs_tracker #刚刚创建的目录http.server_port=6666 #默认端口是8080
修改完后,
启动tracker: /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
查看tracker是否有端口:netstat -ntpul |grep fdfs (如果没有出现端口,说明tracker启动失败)
其它命令:
重启tracker: /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
停止tracker: /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf stop
添加开机启动:
chmod +x /etc/rc.d/rc.local
echo '/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart' >> /etc/rc.d/rc.local
复制代码

6.配置storage

1.创建保存storage的data和log的目录:mkdir /usr/local/fast-dfs/fastdfs_storage再创建一个文件存储目录:mkdir /usr/local/fast-dfs/fastdfs_storage_data
2.进入目录:cd /etc/fdfs
3.修改storage.conf文件:vim storage.conf
修改如下:disabled=false #默认falsegroup_name=group1 #组名,根据实际情况修改port=23000 #设置storage的端口号,默认是23000,同一个组的storage端口号必须一致base_path=/usr/local/fast-dfs/fastdfs_storage #设置storage数据文件和日志目录store_path_count=1 #存储路径个数,需要和store_path个数匹配store_path0=/usr/local/fast-dfs/fastdfs_storage_data #实际文件存储路径tracker_server=服务器公网ip地址:22122http.server_port=8888 #设置 http 端口号
修改保存后创建软引用
ln -s /usr/bin/fdfs_storaged /usr/local/bin
启动storage: /usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
查看storage是否有端口:netstat -ntpul |grep fdfs (如果没有出现端口,说明storage启动失败)
其它命令:
重启storage: /usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
停止storage: /usr/bin/fdfs_storaged /etc/fdfs/storage.conf stop
添加开机启动:
echo '/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart' >> /etc/rc.d/rc.local
复制代码

7.校验整合,确定storage是否注册到了tracker中去

/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
如下图表示成功注册了

8.配置客户端client

1.进入目录:cd /etc/fdfs
2.修改client.conf: vim client.conf
修改如下:base_path=/usr/local/fast-dfs/fastdfs_tracker #tracker服务器文件路径tracker_server=服务器公网ip地址:22122 #tracker服务器IP地址和端口号http.tracker_server_port=6666 # tracker 服务器的 http端口号,必须和tracker的设置对应起来!
复制代码

9.FastDFS的nginx模块安装

1.进入根目录(下载包存放的目录):cd ~
2.解压fastdfs的Nginx模块包:tar -zvxf fastdfs-nginx-module.tar.gz
3.重命名模块目录:mv fastdfs-nginx-module-1.12.0 fastdfs-nginx-module
4.修改模块配置文件:vim /root/fastdfs-nginx-module/src/config
修改如下:ngx_module_incs="/usr/include/fastdfs /usr/include/fastcommon/"CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"CORE_LIBS="$CORE_LIBS -L/usr/lib -lfastcommon -lfdfsclient"
保存后,建立软链接:ln -s /usr/include/fast* /usr/local/include/
5.1解压nginx包: tar -zxvf nginx.tar.gz
5.2进入nginx解压目录并添加fastdfs的nginx模块:
cd nginx-1.12.0
./configure --prefix=/usr/local/storage-nginx --add-module=/root/fastdfs-nginx-module/src
如果没出错,就依次执行:
make
make install
复制代码

10.配置storage的nginx

上面的nginx安装完后,作为storage的nginx,进行配置
1.修改nginx的配置文件:vim /root/nginx-1.12.0/conf/nginx.conf
修改监听端口 listen 9999, 新增location(由于nginx编码严格,不要复制,手动输入,否则会出现nginx: [emerg] unknown directive " " in /usr/local/nginx-1.12.0-storage/conf/nginx.conf:49):
server {listen       9999;server_name  localhost;location / {root   html;index  index.html index.htm;}location ~/group1/M00 {root /usr/local/fast-dfs/fastdfs_storage_data/data;ngx_fastdfs_module;}}
然后进入FastDFS安装时的解压过的目录,将http.conf和mime.types拷贝到/etc/fdfs目录下:
cd  /root/fastdfs-5.11/conf
cp http.conf /etc/fdfs/
cp mime.types /etc/fdfs/
还需要把fastdfs-nginx-module安装目录中src目录下的mod_fastdfs.conf也拷贝到/etc/fdfs目录下:
cp /root/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
再对刚复制的mod_fastdfs配置:
vim /etc/fdfs/mod_fastdfs.conf
如下:base_path=/usr/local/fast-dfs/fastdfs_storage  #保存日志目录tracker_server=服务器公网ip地址:22122 #tracker服务器的IP地址以及端口号storage_server_port=23000 #storage服务器的端口号url_have_group_name = true #文件 url 中是否有 group 名store_path0=/usr/local/fast-dfs/fastdfs_storage_data   #存储路径group_count = 3 #设置组的个数,事实上这次只使用了group1在文件的最后,设置group
[group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/usr/local/fast-dfs/fastdfs_storage_data[group2]
group_name=group2
storage_server_port=23000
store_path_count=1
store_path0=/usr/local/fast-dfs/fastdfs_storage_data[group3]
group_name=group3
storage_server_port=23000
store_path_count=1
store_path0=/usr/local/fast-dfs/fastdfs_storage_data
保存后,创建M00至storage存储目录的符号连接:
ln  -s  /usr/local/fast-dfs/fastdfs_storage_data/data/ /usr/local/fast-dfs/fastdfs_storage_data/data/M00
启动nginx:
/usr/local/storage-nginx/sbin/nginx -c /root/nginx-1.12.0/conf/nginx.conf
查看端口是否启动:
netstat -ntpul |grep nginx #出现9999端口的nignx説明启动成功
复制代码

11.配置tracker的nginx

1.再解压一个nginx,然后进入解压目录添加fastdfs-nginx模块:
./configure --prefix=/usr/local/tracker-nginx --add-module=/root/fastdfs-nginx-module/src
没出现错误,就依次执行:
make
make install
然后修改nginx解压目录下的/conf/nginx.conf:upstream fdfs_group1 {server 127.0.0.1:9999;}server {listen       80;server_name  localhost;#charset koi8-r;#access_log  logs/host.access.log  main;location /group1/M00 {proxy_pass http://fdfs_group1;}#location / {#    root   html;#    index  index.html index.htm;#}#error_page  404              /404.html;# redirect server error pages to the static page /50x.html#error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}
保存后,启动tracker的nginx:
/usr/local/tracker-nginx/sbin/nginx -c /root/tracker-nginx/nginx-1.12.0/conf/nginx.conf
查看端口是否有80和9999:
netstat -ntpul |grep nginx
至此FastDFS服务部署完成。
下面配置下防火墙:
1.开启所有配置的端口:
firewall-cmd --zone=public --add-port=80/tcp --permanent #开启80端口号
firewall-cmd --zone=public --add-port=23000/tcp --permanent #开启23000端口号
firewall-cmd --zone=public --add-port=22122/tcp --permanent #开启22122端口号
firewall-cmd --zone=public --add-port=9999/tcp --permanent #开启9999端口号
firewall-cmd --zone=public --add-port=6666/tcp --permanent #开启6666端口号
firewall-cmd --zone=public --add-port=8888/tcp --permanent #开启8888端口号
2.重启防火墙CentOS7 防火墙相关命令:
firewall-cmd --zone=public --list-ports #查看开启的端口
firewall-cmd state   #查看防火墙是否开启
systemctl enable firewalld.service    #开启防火墙
systemctl stop firewalld.service     #关闭防火墙(开机会仍会启动)
systemctl disable firewalld.service  #禁用防火墙(开机后不再启动)
复制代码

12.测试

在idea上测试,操作如下:
1.拉取fastdfs的java客户端包:File-->New-->project from version control-->github
2.填上Url:https://github.com/happyfish100/fastdfs-client-java.git ,项目所在目录、名称,点击clone
3.等项目初次化完后,设置下你的maven的安装目录:settings-->搜索maven-->改变maven home directory的目录
4.打开右边Maven Project窗口,进行安装fastdfs的java客户端:lifecycle-->install
5.至此你的fastdfs的maven依赖安装完成,在你的测试项目的pom.xml文件加入依赖就可以测试了
<dependency><groupId>org.csource</groupId><artifactId>fastdfs-client-java</artifactId><version>1.27-SNAPSHOT</version>
</dependency>例子:
在resources下创建fdfs_client.conf配置文件,添加内容:tracker_server=服务器公网ip地址:22122
创建一个demo.java:
public class Demo {public static void main(String[] args) throws Exception{//加载配置文件,配置文件中的内容就是 tracker 服务的地址ClientGlobal.init("D:/myWork/fasDFS-demo/src/main/resources/fdfs_client.conf");//创建一个 TrackerClient 对象。直接 new 一个TrackerClient trackerClient=new TrackerClient();//使用 TrackerClient 对象创建连接,获得一个 TrackerServer 对象。TrackerServer trackerServer=trackerClient.getConnection();//创建一个 StorageServer 的引用,值为 nullStorageServer storageServer=null;//创建一个 StorageClient 对象,需要两个参数 TrackerServer 对象、StorageServer 的引用StorageClient storageClient=new StorageClient(trackerServer,storageServer);//使用 StorageClient 对象上传图片。//扩展名不带“.”String[] strings=storageClient.upload_file("C:/Users/Public/Pictures/Sample Pictures/test.jpg","jpg",null);//遍历数组打印包含组名和图片的路径。for (String string:strings){System.out.println(string);}}
}
最后在浏览器上访问你上传的图片:
http://服务器公网ip地址/group1/M00/00/00/rBsABFvqfIyACR3WAAl5WIkOlj8480.jpg
复制代码

参考文章:

blog.csdn.net/weixin_4037… cloud.tencent.com/developer/a…

转载于:https://juejin.im/post/5bea84e3e51d450d050236bd

腾讯云centos7下搭建fastDFS+nginx相关推荐

  1. Centos7下搭建FastDFS+Nginx

    1. FastDFS介绍 FastDFS是一个开源的分布式文件系统,她对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,解决了大容量存储和负载均衡的问题.特别适合以文件为 ...

  2. 2021使用腾讯云CentOS7.6搭建Terraria泰拉瑞亚服务器

    2021使用腾讯云CentOS7.6搭建Terraria泰拉瑞亚服务器 纯净档(还没研究出其他的) 适合与朋友玩 1. 前期准备 一台云服务器(本章使用的为1核2G的腾讯云服务器) PuTTY 2.设 ...

  3. 腾讯云centOS7手动搭建LAMP并上传TP5项目

    查看centOS版本命令: cat /etc/redhat-release 步骤1:登录 Linux 实例(此处利用putty登录) 步骤2:安装 Apache 执行以下命令,安装 Apache. y ...

  4. Linux系统:Centos7下搭建PostgreSQL关系型数据库

    本文源码:GitHub·点这里 || GitEE·点这里 一.PostgreSQL简介 1.数据库简介 PostgreSQL是一个功能强大的开源数据库系统,具有可靠性.稳定性.数据一致性等特点,且可以 ...

  5. 腾讯云CentOS7运行基于SSM的个人博客----第三节:使用Dokcer安装JDK、Tomcat环境

    腾讯云CentOS7运行基于SSM的个人博客----使用Dokcer安装JDK.Tomcat环境运行SSM的个人博客项目 第一节: 更新yum源,安装Dokcer容器 第二节: 使用Dokcer安装M ...

  6. 腾讯云服务器网站搭建教程(太简单了)

    已经有了腾讯云服务器如何搭建网站?腾讯云服务器网以腾讯云服务器,借助宝塔面板搭建Web环境,然后使用WordPress博客程序搭建网站,大致分为三步,首先购买腾讯云服务器,然后在腾讯云服务器上部署宝塔 ...

  7. 腾讯云免流搭建教程免流服务…

    原文地址:腾讯云免流搭建教程免流服务器搭建教程流控搭建自动安装作者:免流搭建-免流服务器搭建 看本教程前先确保你的服务器上已经用最新适配centos7.0的一键脚本搭建了云免服务器 推荐使用 阿里云或 ...

  8. 利用腾讯云轻量搭建私人云盘-Cloudreve

    利用腾讯云轻量搭建私人云盘-Cloudreve 购买链接:https://cloud.tencent.com/act/pro/lighthouse 大陆地区1核1G3Mbps的机器128一年,非常适合 ...

  9. 使用腾讯云服务器快速搭建网站教程

    已经有了腾讯云服务器如何搭建网站?腾讯云服务器网以腾讯云服务器,借助宝塔面板搭建Web环境,然后使用WordPress博客程序搭建网站,大致分为三步,首先购买腾讯云服务器,然后在腾讯云服务器上部署宝塔 ...

最新文章

  1. linux系统未来或应用广泛
  2. 安卓基础之读取联系人的姓名和电话
  3. oracle 数据库数据迁移解决方案
  4. 各种编程语言的按钮输入框
  5. [html] 为什么我们要使用web workers?
  6. **设计模式中的常用原则
  7. 【Elasticsearch】如何在Elasticsearch中使用排名评估API
  8. 隐藏版本信息号返回服务器名,配置服务器版本信息隐藏
  9. (转)常见的用户密码加密方式以及破解方法
  10. PMP考试必备基础知识
  11. c语言背包问题(动态规划解法)
  12. 发现一个很好用的 SVG 在线编辑器-Method Draw
  13. 计算机主机解剖图,电脑主机结构示意图
  14. android谷歌服务框架(GoogleServicesFramework)
  15. apple id两步验证服务器,apple id两步验证 苹果Apple ID两步式验证设置使用教程
  16. 上架Android应用到腾讯应用包、百度手机助手、华为应用市场、小米应用商店、阿里应用分发平台需要准备哪些材料?...
  17. 典型ASIC设计流程
  18. 人见人爱A+B(C++)
  19. 强人工智能基本问题:自上而下还是自下而上?
  20. SVM算法实现(一)

热门文章

  1. 瑞星09年第一季度安全报告:8亿网民遭木马攻击
  2. JavaScript笔记 - 对象继承的几种方式
  3. 一个JAVA WEB伪全栈的VUE入坑随笔,从零点零五学起
  4. [Twisted] transport
  5. 从“在winform里打开网页功能”引发的问题探究
  6. 趣题一则:寻找那扇门
  7. ExtAspNet v3.1.0
  8. Oracle 有long类型字段的表 使用insert into select 语句 ,出现:ORA-00997 错误
  9. 第四届中国软件工程大会征文通知
  10. oracle 测试sql执行时间_从 TPCH 测试学习性能优化技巧