一:下载fastdfs
我们一共需要三个文件
1.fastdfs 分布式文件存储系统
2.libfastcommon fastdfs函数库
3.fastdfs-nginx-module 连接nginx功能模块
下载时候请注意,此处下载的格式为 .zip 并不是 tar.gz。之所以如此是因为,在使用fastdfs-nginx-module模块整合nginx时候会出错,原因是 fastdfs版本必须 >= 5.11才可以。否则编译nginx的时候会报错。可以看看模块的 install文件,里面有说明。由于fastdfs发布的版本最高只到 5.10,作者还没有将版本更新到5.11.但是github上的代码已经更新,所以直接下载即可。这里是作者 github地址
注:解压zip格式的文件,需要系统已经安装了 unzip软件。没有的可以使用命令安装: yum install zip unzip
为了安装方便,操作过程中,可以切换到root权限进行操作
下载完成之后,将文件夹上传到服务器
再次提醒此处的都是zip格式的文件,使用命令 unzip filename
逐一解压每个zip文件。例如: unzip fastdfs-master
下面是解压后的情况,因为不喜欢带master 的后缀,在解压之后删除了。可以使用命令操作 mv oldfilename newfilename
例如: mv fastdfs-master fastdfs
<img src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/article/000/887/227/168422662134669.png" class="lazy" alt="FastDFS怎么安装和配置整合Nginx-1.13.3">
二:安装fastdfs
1.安装fastdfs函数库
解压之后,先进入 libfastcommon
目录 cd libfastcommon
编译文件 ./make.sh
安装: ./make.sh install
安装完成之后,进入 fastdfs cd fastdfs
和 libfastcommon
同样的安装方式
编译文件 ./make.sh
安装: ./make.sh install
安装完成之后,可以看到两个目录,后面会使用到
三:配置
1.配置说明
配置文件请根据服务器的不同,进行不同的配置。本文中 tracker server, storage server 都安装在一台服务器上。
2.配置文件目录
在安装完成之后,在 /etc 下会生成一个 fdfs 文件夹,进入fast配置文件目录 cd /etc/fdfs/
。可以看到以 .sample 结尾的示例文件。
为了方便,使用命令删除以上所有文件 rm -f *
,然后复制 /fastdfs/conf 目录内所有文件到 /etc/fdfs 目录下。
注:/fastdfs/conf为解压后的fastdfs目录
3.配置和启动tracker server
打开 tracker.conf
文件 vim ./tracker.conf
, 修改base_path路径改成你自己的目录, 端口之类的没占用情况下就不修改了
修改完成之后,尝试启动tracker /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
注:base_path路径需要预先创建, 否则报错: error info: no such file or directory
命令执行之后,发现没有任何反应,接着使用命令 netstat -unltp|grep fdfs
,查看是否启动
可以看到tracker server 已经在22122端口监听
4.配置和启动storage server
接下来修改storage.conf配置文件 vim storage.conf
,打开文件之后同样的修改base_path路径,同时修改tracker server地址和store_path。端口地址、组名保持不变。
tracker server地址:
store_path 地址:
注:以上的tracker server地址,请设置成服务器对应地址。端口没修改情况下,保持默认。
store_path路径如果不修改,将无法启动storage server服务。不会有任何提示,可以打开 /fastdfs/logs 文件夹下的storaged.log文件,查看错误信息。
ok,修改完成之后,启动storage, /usr/bin/fdfs_storaged /etc/fdfs/storage.conf start
,同样也是没有任何反应。接着使用命令 netstat -unltp|grep fdfs
看看是否启动
出现上图的情况,说明tracker server、storage server已经成功启动。
5.测试上传服务
接下来打开client.conf配置文件 vim client.conf
,只需要修改base_path和tracker_server两个地方即可。
当修改完成之后,试试能否上传文件,刚好目录有一张图片
使用命令将图片上传
/usr/bin/fdfs_test /etc/fdfs/client.conf upload ./anti-steal.jpg
当看到上面一长串的字符,ok 上传成功了。并成功返回了 图片地址。到存储目录下看看,发现多出了几张图片。其中一张图片和商品图片地址后缀一样,那么文件已经存储到本地。
虽然返回图片地址,但是现在的fastdfs已经不支持http协议。在4.0.5版本时候已经移除了 http支持,因此不能直接通过图片地址访问。所有我们通过fastdfs模块整合nginx,以提供http服务。
四.整合nginx和fastdfs
1. 整合模块
此处假设你已经安装过nginx及其依赖包,如果还没有安装nginx可以看我另一个文章:centos7 安装nginx
整合nginx不需要安装fastdfs模块,在配置nginx时候将fastdfs-nginx-module
模块添加进去即可。下面先开始配置nginx,进入nginx目录下配置文件
./configure --prefix=/opt/nginx --with-pcre=/home/mgame/soft/pcre-8.41 --with-openssl=/home/mgame/soft/openssl-1.1.0f --with-zlib=/home/mgame/soft/zlib-1.2.11 --add-module=/home/mgame/soft/fastdfs-nginx-module/src
编译 make
安装 make install
在安装过程如果出现下面的错误,那么请查看模块中的 install文件,对fastdfs版本的要求(开头部分已经说明本文的fastdfs版本必须>= 5.11)。
error: ‘fdfshttpparams' has no member named ‘support_multi_range'(pcontext->range_count > 1 && !g_http_params.support_multi_range))
将模块添加到nginx并安装完成之后,进入到nginx安装目录 /opt/nginx/conf 内,打开 nginx.conf配置文件。
注:此处的nginx目录,是在配置nginx时候设置的,请根据各自的设置,打开文件。
将下面的配置添加到文件中,端口其他设置不变。
location /group1/m00 { ngx_fastdfs_module; }
注:/group 前面必须有斜线,否则在访问的时候,根路径为nginx安装目录。
2.配置模块参数
在设置完成之后, 如果现在直接启动nginx那么会发现,依然无法通过之前上传成功的图片地址访问。在百思不得其解情况下,想到了的nginx不是有个logs文件夹,用于记录登录及错误信息之类的详情。
那么打开error.log文件看看。ok 找到问题所在了
明晃晃的两个 error, 第一行说明了错误原因:file /etc/fdfs/mod_fastdfs.conf not exist 在 /etc/fdfs/ 目录下不存在mod_fastdfs.conf文件。该文件在模块fastdfs-nginx-module的src目录内
既然找到了文件位置,那么进入到 /fastdfs-nginx-module/src
目录下,将文件 mod_fastdfs.conf
复制到 /etc/fdfs/ 目录下 命令: cp mod_fastdfs.conf /etc/fdfs/
操作完成之后,打开刚刚拷贝的mod_fastdfs.conf 配置文件 vim mod_fastdfs.conf ,分别tracker_server、url_have_group_name、store_path0三个属性的参数
tracker_server:
url_have_group_name:
注:因为访问的地址中包含了组名group1,如果生成的地址中不包含组名,可以不用设置。
store_path0:
修改完成之后,进入 /opt/nginx/sbin
目录下,重新启动nginx ./nginx -s reload
,然后访问下,之前上传成功后返回的图片地址吧。
经过配置后,已经能够成功的访问fastdfs存储的文件。
以上是FastDFS怎么安装和配置整合Nginx-1.13.3的详细内容。更多信息请关注PHP中文网其他相关文章!

本篇文章给大家带来了关于nginx的相关知识,其中主要介绍了nginx拦截爬虫相关的,感兴趣的朋友下面一起来看一下吧,希望对大家有帮助。

高并发系统有三把利器:缓存、降级和限流;限流的目的是通过对并发访问/请求进行限速来保护系统,一旦达到限制速率则可以拒绝服务(定向到错误页)、排队等待(秒杀)、降级(返回兜底数据或默认数据);高并发系统常见的限流有:限制总并发数(数据库连接池)、限制瞬时并发数(如nginx的limit_conn模块,用来限制瞬时并发连接数)、限制时间窗口内的平均速率(nginx的limit_req模块,用来限制每秒的平均速率);另外还可以根据网络连接数、网络流量、cpu或内存负载等来限流。1.限流算法最简单粗暴的

实验环境前端nginx:ip192.168.6.242,对后端的wordpress网站做反向代理实现复杂均衡后端nginx:ip192.168.6.36,192.168.6.205都部署wordpress,并使用相同的数据库1、在后端的两个wordpress上配置rsync+inotify,两服务器都开启rsync服务,并且通过inotify分别向对方同步数据下面配置192.168.6.205这台服务器vim/etc/rsyncd.confuid=nginxgid=nginxport=873ho

nginx php403错误的解决办法:1、修改文件权限或开启selinux;2、修改php-fpm.conf,加入需要的文件扩展名;3、修改php.ini内容为“cgi.fix_pathinfo = 0”;4、重启php-fpm即可。

跨域是开发中经常会遇到的一个场景,也是面试中经常会讨论的一个问题。掌握常见的跨域解决方案及其背后的原理,不仅可以提高我们的开发效率,还能在面试中表现的更加

nginx部署react刷新404的解决办法:1、修改Nginx配置为“server {listen 80;server_name https://www.xxx.com;location / {root xxx;index index.html index.htm;...}”;2、刷新路由,按当前路径去nginx加载页面即可。

linux版本:64位centos6.4nginx版本:nginx1.8.0php版本:php5.5.28&php5.4.44注意假如php5.5是主版本已经安装在/usr/local/php目录下,那么再安装其他版本的php再指定不同安装目录即可。安装php#wgethttp://cn2.php.net/get/php-5.4.44.tar.gz/from/this/mirror#tarzxvfphp-5.4.44.tar.gz#cdphp-5.4.44#./configure--pr

nginx禁止访问php的方法:1、配置nginx,禁止解析指定目录下的指定程序;2、将“location ~^/images/.*\.(php|php5|sh|pl|py)${deny all...}”语句放置在server标签内即可。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),