首页 > 系统相关 >fastDFS + nginx安装

fastDFS + nginx安装

时间:2023-06-02 21:33:19浏览次数:63  
标签:fastdfs fastDFS nginx tracker usr conf fdfs 安装

一、环境

centos7.6

二、下载安装包

1、下载fastdfs

cd  /usr/local/src

wget https://github.com/happyfish100/fastdfs/archive/refs/tags/V6.07.tar.gz -O fastdfs-6.07.tar.gz

2、下载libfastcommon

wget -O libfastcommon-1.0.53.tar.gz https://github.com/happyfish100/libfastcommon/archive/refs/tags/V1.0.53.tar.gz

3、下载fastdfs-nginx-module

wget -O fastdfs-nginx-module-1.22.tar.gz https://github.com/happyfish100/fastdfs-nginx-module/archive/refs/tags/V1.22.tar.gz 

4、下载nginx

wget http://nginx.org/download/nginx-1.20.1.tar.gz

三、安装步骤

1、安装编译软件及库文件

2、安装libfastcommon-master

3、安装fastdfs

4、安装nginx

四、详细步骤

1、安装编译工具及库文件

yum -y install make cmake gcc gcc-c++ bison-devel ncurses-devel autoconf automake lrzsz zip unzip netstat-nat libevent.x86_64 libevent-devel.x86_64

yum -y install zlib zlib-devel openssl openssl-devel pcre-devel

 2、解压相关文件

复制代码
mkdir -p /usr/local/fastdfs

cd /usr/local/src

tar -zxvf fastdfs-6.07.tar.gz -C /usr/local/fastdfs

tar -zxvf libfastcommon-1.0.53.tar.gz -C /usr/local/fastdfs
tar -zxvf fastdfs-nginx-module-1.22.tar.gz -C /usr/local/fastdfs

tar -zxvf nginx-1.20.1.tar.gz -C /usr/local
复制代码

 4、编译安装libfastcommon-master

cd /usr/local/fastdfs/libfastcommon-1.0.53/
./make.sh

./make.sh install

5、编译安装 fastdfs

cd /usr/local/fastdfs/fastdfs-6.07
./make.sh
./make.sh install

 6、配置

复制我们需要的配置文件

cd /etc/fdfs 
cp client.conf.sample client.conf 
cp storage.conf.sample storage.conf 
cp tracker.conf.sample tracker.conf

配置tracker.conf,根据实际情况调整配置参数,可以不做任何调整

cd /etc/fdfs/
vi tracker.conf

常用参数说明:

复制代码
disabled=false  #当前配置是否可用 false:可用 true:不可用
connect_timeout=30  #针对socket套接字函数connect的连接超时时间设置  
network_timeout=60  #设置网络超时,单位秒,发送或接收数据时,如果在超时时间之后依然不能进行,则本次网络通讯失败  
base_path= /home/yuqing/fastdfs  #数据和日志文件 可根据需要修改
max_connections=1024  #服务器支持的最大连接数
accept_threads=1  #工作线程数,通常设置为CPU数量
store_lookup=2  #上传组(卷)的方式:0轮询,1:指定,2:负载平衡(剩余空间最大选择)
store_group=group1#组名称很重要 如果上一参数选择1方式,即制定组名,当前参数用来设置指定的组,如果选择其他方式,当前参数无效 
http.server_port=9090 #http端口,使用Nginx来访问则不需要这个
复制代码

配置storage.conf,根据实际情况调整配置参数

cd /etc/fdfs/

vi storage.conf

修改tracker_server 参数的IP改成我们自己实际的IP

常用参数说明

group_name=group1 #组名称很重要,如果tracker.conf配置为指定组名的话要和tracker.conf配置的相同
base_path= /home/fastdft/fastdfs_storage_log  #storaged服务日志目录
store_path0= /home/fastdft/resource #文件数据存放目录
tracker_server=192.168.1.129:22122 #服务器IP:端口 ,IP根据本机IP来填写(阿里云服务器有两个ip地址,请使用公共ip,不要使用私密ip)
http.server_port=9091 #http端口,使用Nginx来访问则不需要这个

创建默认目录

mkdir -p /home/yuqing/fastdfs

 

7、启动

启动tracker:/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
启动storage:/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start

注:先启动tracker,等1min再启动storage

8、检查

netstat -unltp | grep fdfs

 说明成功了

查看tracker上是否有相应的存储节点,即 tracker和storage是否连接起来了

/usr/bin/fdfs_monitor /etc/fdfs/storage.conf

 成功了。

9、测试

配置client.conf,根据实际情况调整配置参数

编辑client.conf:vim /etc/fdfs/client.conf
base_path=/home/fastdft/fastdfs_client_log #tracker服务器文件路径 
tracker_server=47.94.101.217:22122#tracker服务器IP地址和端口号 (阿里云公共ip)
http.tracker_server_port=9090# tracker 服务器的 http 端口号,必须和tracker的设置对应

上传文件/home/fastdft/7.png至服务器进行测试

fdfs_test /etc/fdfs/client.conf upload  /home/fastdft/7.png

 若出现路径则表示测试成功

 10、安装 fastdfs-nginx-module-1.22

将相关配置拷贝到/etc/fdfs下

cd /usr/local/fastdfs/fastdfs-6.07/conf
cp anti-steal.jpg http.conf mime.types /etc/fdfs/

配置mod_fastdfs.conf,配置参数根据实际情况调整

cd /usr/local/fastdfs/fastdfs-nginx-module-1.22/src
cp mod_fastdfs.conf /etc/fdfs

cd /etc/fdfs
vim mod_fastdfs.conf

重点修改tracker_server实际地址

 tracker_server=47.94.101.217:22122
 group_name=group1
 url_have_group_name = true
 store_path0=/home/fastdft/resource

 添加fastdfs-nginx-module并安装

cd /usr/local/nginx-1.20.1

./configure --prefix=/usr/local/nginx --add-module=/usr/local/fastdfs/fastdfs-nginx-module-1.22/src --with-http_ssl_module
make && make install

 修改nginx配置文件

复制代码
cd /usr/local/nginx/conf
vim nginx.conf server { listen 8080;(可改变端口号默认是80) server_name 47.94.101.217;(或者是域名) location / { root html; index index.html index.htm; } location /group1/M00 { alias /home/fastdft/resource/; ngx_fastdfs_module; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }
复制代码

 启动并验证nginx

cd /usr/local/nginx/sbin     打开sbin目录
./nginx                      启动  
./nginx -s reload            重新载入配置文件  
./nginx -s reopen            重启 Nginx  
./nginx -s stop              停止 Nginx 

 检查nginx是否启动成功

输入nginx监听地址测试:

 http://47.94.101.217:8080/

 

 验证下载:http://47.94.101.217:8080/group1/M00/00/00/L15l2WD7irCAYkPOAAOg2OcsP7I470.png

 

五、问题排查

1、nginx启动正常但是无法访问

检查防火墙是否开启,如果开启,打开所需要的端口

firewall-cmd --zone=public --add-port=8080/tcp --permanent //开放nginx端口
firewall-cmd --zone=public --add-port=23000/tcp --permanent //开放storage端口
firewall-cmd --zone=public --add-port=22122tcp --permanent //开放tracker端口
firewall-cmd --reload

云服务器上添加安全组规则,开放指定端口号 8080 23000 22122

 2 、nginx失败

  • Nginx启动只有master进程而没有worker进程
  • Nginx启动有两个master进程而没有worker进程
  • Nginx启动报: …/storage/trunk_mgr/trunk_shared.c, line: 194"Permission denied"
  • Nginx启动报:worker process 2396 exited on signal 11 (core dumped) ngx_http_fastdfs_proce

解决思路(不分析原因只谈解决方法,这三个问题其实可以做一个问题,因为只要是配置有问题,worker进程就无法正常启动)
1.排查fastdfs-nginx-module模块下的mod_fastdfs.conf文件是否拷贝到了fdfs文件夹下
2.排查fdfs目录下的tracker.conf、storage.conf、mod_fastdfs.conf三个配置文件中的base_path、store_path0、base_path路径下的文件夹是否创建
3.以上两步检测无误后,编辑nginx.conf文件,将#user nobody修改为user root,否则会报…/storage/trunk_mgr/trunk_shared.c, line: 194"Permission denied"即权限问题并且worker进程无法启动
4.以上工作都做完,那么重点来了,在启动Nginx服务前需要首先开启fastdfs服务,唉,说多了都是泪!!!否则就会出现启动了两个master服务,错误日志疯狂刷worker process 9584 exited on signal 11 (core dumped),内存疯狂上升,风扇疯狂转,CPU疯狂升温、以及疯狂秃顶。。。

六、参考

1、https://github.com/happyfish100/fastdfs/wiki

2、https://blog.csdn.net/luoluchen/article/details/88256341

 

  分类: FASTDFS 好文要顶 关注我 收藏该文   我是一粒沙
粉丝 - 0 关注 - 7     +加关注 1 0       « 上一篇: Content-Type四种常见取值
» 下一篇: 阿里云 centOS7.6 安装ElasticSearch posted @ 2021-07-23 15:59  我是一粒沙  阅读(712)  评论(1)  编辑  收藏  举报  

标签:fastdfs,fastDFS,nginx,tracker,usr,conf,fdfs,安装
From: https://www.cnblogs.com/Kevin0is0me/p/17452928.html

相关文章

  • Linux 下安装JDK1.8-解压版
    一、安装环境操作系统:RedHatEnterpriseLinux664位(版本号6.6)JDK版本:1.8工具:Xshell5、Xftp5说明:本文是通过Xshell5工具远程连接Linux操作,如果是直接在Linux可视化界面操作那就更方便了,原理一样。二、安装步骤第一步:下载安装包下载Linux环境下的jdk1.8,请去(官网)中下载jdk的安装......
  • 红帽7.1安装Zabbix 3.4
    【注意:需要使用root用户进行安装】一、将红帽yum源改为centos的yum源1.红帽yum源收费,使用centos的yum源安装查看yum源:rpm-qa|grepyum2.不检查依赖直接删除所有yum包rpm-qa|grepyum|xargsrpm-e--nodeps3.下载新的yum包(https://mirrors.aliyun.com/centos/7.6.1810/os/x86......
  • CentOS 7.x安装微服务网关Apache APISIX
    阅读文本大概需要3分钟。    APISIX是一个云原生、高性能、可扩展的微服务API网关。它是基于OpenResty和etcd来实现,和传统API网关相比,APISIX具备动态路由和插件热加载,特别适合微服务体系下的API管理。APISIX通过插件机制,提供动态负载平衡、身份验证、限流限速等功能,并且......
  • archlinux安装xxx.pkg.tar.zst包
    archlinux提供了丰富的第三方包,一般安装都比较简单,直接运行pacman、yay、paru之类的安装包管理器。但有部分软件没有进入AUR或AUR上的软件太旧,但官方提供了xxx.pkg.tar.zst安装包。如kangaroo是一款不错的数据库管理软件,官方之提供了.pkg.tar.zst安装包。sudopacman-Ukangaroo......
  • 2015.4.24.17.36_pencil_2015.4.24_Pencil教程=自定义组件安装_0.01
    在前面《原型工具Pencil使用介绍》中有说到Pencil支持自定义组件安装,也简易的介绍了安装使用方法,这里再详细的介绍一下如何安装自定义组件。在最新版本的Pencil1.3中,自带的组件库是比较少的,只有三个,但在Pencil1.2版本中自带的组件库有七个,而且1.3个人感觉只是界面布局上的更新,操......
  • FastDfs之TrackerServer的详细配置介绍
    #isthisconfigfiledisabled #falseforenabled #truefordisabled disabled=false  #当前配置是否不可用false可用,true不可用   #bindanaddressofthishost #emptyforbindalladdressesofthishost bind_addr= #是否绑定IP如果一个服务器上......
  • Linux 编译安装 php 扩展 amqp
    这里最大的坑,就是  rabbitmq-c和amqp扩展版本不符,导致的各种bug。其他也没啥,这里简单记录下:我这里使用的环境:php7.4  、rabbitmq-c0.7.1、amqp1.9.4. 安装rabbitmq-c(注意记住你的安装位置,下一步要用)wgethttps://github.com/alanxz/rabbitmq-c/releases/download......
  • 手把手docker安装nginx
    记录下一步步流程,没有使用dockerfile,直接命令安装。1、下载nginx镜像,不指定版本默认拉取最新版本dockerpullnginx 2、创建nginx挂载目录,目录可以自己随便建mkdir-p/usr/local/nginx 3、启动nginx容器,如果非80端口则使用自己实际端口dockerrun--name......
  • 总结vue3 的一些知识点:Vue.js 安装
    Vue.js安装1、独立版本我们可以在Vue.js的官网上直接下载vue.min.js并用 <script> 标签引入。下载Vue.js2、使用CDN方法以下推荐国外比较稳定的两个CDN,国内还没发现哪一家比较好,目前还是建议下载到本地。StaticfileCDN(国内) : https://cdn.staticfile.org/v......
  • 总结vue3 的一些知识点:Vue.js 安装
    Vue.js安装1、独立版本我们可以在Vue.js的官网上直接下载vue.min.js并用 <script> 标签引入。下载Vue.js2、使用CDN方法以下推荐国外比较稳定的两个CDN,国内还没发现哪一家比较好,目前还是建议下载到本地。StaticfileCDN(国内) : https://cdn.staticfile.org/v......