FastDFS搭建单机图片服务器(二)
防丢失转载:https://blog.csdn.net/MissEel/article/details/80856194
根据
分布式文件系统 - FastDFS 在 CentOS 下配置安装部署
和
分布式文件系统 - FastDFS 配置 Nginx 模块及上传测试
一步一步搭建的,但还是碰到了版本太低,导致安装报错的问题。
费时间解决了问题之后,我将这个步骤和对应的版本记录下载,有需要的小伙伴可以参考一下。
用这个步骤,我已经在一部本机的虚拟机和一部阿里云服务器上分别搭建过,并且能上传和下载图片。
搭建单机服务器的还是比较简单的。我分成了两篇来进行记录。
FastDFS搭建单机图片服务器(一)
主要是下载、安装和配置FastDFS相关的组件,实现图片的上传。
FastDFS搭建单机图片服务器(二)
主要是下载、安装和配置nginx相关的组件,实现图片的下载。
接着上一篇(一)来继续安装nginx的步骤。
一、安装nginx需要准备的环境(CentOS)
1、安装gcc
安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:
yum install gcc-c++
2、 安装PCRE pcre-devel
PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。命令:
yum install -y pcre pcre-devel
3、安装zlib
zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。
yum install -y zlib zlib-devel
4、安装OpenSSL
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。
yum install -y openssl openssl-devel
参考资料:
从零开始学 Java - CentOS 下安装 Nginx
由于ubuntu系统对yum不友好,下载方式不一样。
一、安装nginx需要准备的环境(Ubuntu)
参考资料:ubuntu下安装nginx时依赖库zlib,pcre,openssl安装方法
1、安装gcc
安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:
查看是否已经下载:
dpkg -l | grep gcc
如果没有则下载安装
sudo apt-get install g++-5
2、 安装PCRE pcre-devel
PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。命令:
sudo apt-get install openssl libssl-dev
3、安装zlib
zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。
查看是否安装
dpkg -l | grep zlib
如果没有则下载安装
sudo apt-get install zlib1g-dev
4、安装OpenSSL
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。
sudo apt-get install openssl libssl-dev
二、下载fastdfs-nginx-module
1、下载
cd /usr/local
防止同名压缩包被覆盖,重命名一下已下载的libfastcommon安装包master.zip,
mv master.zip libfastcommon.zip
wget -c https://github.com/happyfish100/fastdfs-nginx-module/archive/master.zip
2、解压
unzip master.zip
三、下载Nginx
mkdir /usr/local/nginx
cd /usr/local/nginx
1、下载
wget -c https://nginx.org/download/nginx-1.10.1.tar.gz
2、解压nginx-1.10.1.tar.gz
tar -zxvf nginx-1.10.1.tar.gz
3、安装nginx
加入fastdfs-nginx-module模块。这是和普通 Nginx 安装不一样的地方,因为加载了模块。
cd /usr/local/nginx/nginx-1.10.1/
./configure --add-module=../../fastdfs-nginx-module-master/src/
如果这一步有报错。有些文件显示not found错误。请确保环境准备好了。
回到第一、安装nginx需要准备的环境,好好确认一下。
如果没有报错,则执行编译
4、编译
make
如果这里报了难以描述的错误
解决办法:
FastDFS版本必须 >= 5.11才可以。否则在使用fastdfs-nginx-module模块整合Nginx时候会出错,编译Nginx的时候会报错。
解决问题再执行make
5、安装
make install
6、查看安装成功的版本
/usr/local/nginx/sbin/nginx -V
四、配置 fastdfs-nginx-module 和 Nginx
1.配置mod-fastdfs.conf,并拷贝到/etc/fdfs文件目录下。
创建nginx存放日志和数据的目录
mkdir /home/fastdfs/fast-nginx
(已创建可以忽略)
2、复制配置文件
cd /usr/local/fastdfs-nginx-module-master/src/
复制配置文件到/etc/fdfs目录下
cp mod_fastdfs.conf /etc/fdfs
3、修改mod_fastdfs.conf配置文件
vi /etc/fdfs/mod_fastdfs.conf
修改mod-fastdfs.conf配置只需要修改三个参数就行了,其他不需要也不建议改变。
tracker_server=192.168.86.131:22122
url_have_group_name=true
store_path0=/home/fastdfs/storage/storage-image
tracker_server=192.168.86.131:22122填本机ip
如果部署的是阿里云ECS服务器,
tracker_server=公网ip:22122
4、修改config文件
修改/usr/local/fastdfs-nginx-module-master/src/config文件:
vi /usr/local/fastdfs-nginx-module-master/src/config
图中标出的路径要和你的libfastcommon的路径保持一致,可能你的路径中有/local/这一层,如果你安装的目录没有/local/这一层,就将local删除。

5、拷贝其他配置文件
接着我们需要把fastdfs-5.11下面的配置中还没有存在/etc/fdfs中的拷贝进去
cd /usr/local/fastdfs-5.11/conf
cp anti-steal.jpg http.conf mime.types /etc/fdfs/
6、配置nginx.conf
cd /usr/local/nginx/conf
vi nginx.conf
编辑内容如下:
location /group1/M00{
ngx_fastdfs_module;
}
1
2
3

7、添加软链接
由于我们配置了group1/M00的访问,我们需要建立一个group1文件夹,并建立M00到data的软链接。
mkdir /home/fastdfs/storage/storage-image/data/group1
ln -s /home/fastdfs/storage/storage-image/data /home/fastdfs/storage/storage-image/data/group1/M00
8、启动 Nginx
/usr/local/nginx/sbin/nginx
五、上传测试
1、配置client.conf
mkdir /home/fastdfs/client
2、修改配置文件
cd /etc/fdfs
重命名
cp client.conf.sample client.conf
vi client.conf
修改一下两个参数即可
base_path=/home/fastdfs/client
tracker_server=192.168.86.131:22122
如果部署的是阿里云ECS服务器,
tracker_server=公网ip:22122
3、上传文件
首先在本地创建一个文件
/home/kiki/test.txt
上传:
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /home/kiki/test.txt

访问url 访问路径

如果访问不了,关闭防火墙
1) 防火墙,重启后生效
开启: chkconfig iptables on
关闭: chkconfig iptables off
2) 防火墙,即时生效,重启后失效
开启: service iptables start
关闭: service iptables stop
3)ubuntu系统下
关闭防火墙:ufw disable
开启防火墙:ufw enable
再次访问就成功了。

FastDFS搭建单机图片服务器(二)的更多相关文章
- FastDFS搭建单机图片服务器(一)
防丢失转载:https://blog.csdn.net/MissEel/article/details/80856194 根据 分布式文件系统 - FastDFS 在 CentOS 下配置安装部署 和 ...
- 第一次项目上Linux服务器(八:——搭建Nginx图片服务器)
一.准备工作 安装Nginx,参考历史博客 二.搭建Nginx图片服务器 1.效果 例如:图片通过xftp服务上传到/home/java/upload目录下,我想通过访问Nginx服务器来访问xftp ...
- 【图片服务器】搭建Nginx图片服务器
一.安装Nginx 二.安装vsftpd 三.开始搭建Nginx图片服务器 1.效果 例如:图片通过ftp服务上传到/home/ftpuser/www/images目录下,我想通过访问Nginx服务器 ...
- 搭建Nginx图片服务器
搭建Nginx图片服务器 Part-I 安装Nginx 安装PCRE 下载 ngx_cache_purge 并解压,用来清除缓存 下载Nginx并解压 cd nginx-1.7.7 编译,--pref ...
- Python中使用Flask、MongoDB搭建简易图片服务器
主要介绍了Python中使用Flask.MongoDB搭建简易图片服务器,本文是一个详细完整的教程,需要的朋友可以参考下 1.前期准备 通过 pip 或 easy_install 安装了 pymong ...
- Windows下搭建Nginx图片服务器
在项目最开始,上传图片的时候,服务器先保存原图再使用ImageMagick生成上传图片缩略图,这种方法有很多缺点,例如生成的缩略图的大小是固定的,不能动态请求指定大小的缩略图. 虽然有非常多的图片云存 ...
- 转:Linux下使用Nginx搭建简单图片服务器
最近经常有人问图片上传怎么做,有哪些方案做比较好,也看到过有关于上传图片的做法,但是都不是最好的,今天再这里简单讲一下Nginx实现上传图片以及图片服务器的大致理念. 如果是个人项目或者企业小项目,仅 ...
- 基于Docker搭建Nginx图片服务器
前言 一般开发中,都会把图片上传到一个目录,然后将目录和文件名拼接存储在数据库中,但是,这种方法如果没弄好的话可能有一定的缺陷. 若项目搬迁,即时这台服务器本身还在用,存放在服务器的跟项目相关的图片也 ...
- 搭建Nginx图片服务器(Linux)
知识点: 在Linux系统上安装Nginx服务器,配置图片访问路径 通过ftp上传图片到,指定路径,通过浏览器访问指定路径中的图片 参考博客:http://blog.csdn.net/maoyuanm ...
随机推荐
- 字符串与List互转
List转字符串,用逗号隔开 List<string> list = new List<string>(); list.Add("a"); list.Add ...
- spring 管理bean
目录结构: Person.java package com.wss.entity; import com.wss.service.doHomeWork; public class Person { p ...
- php实现图片相似搜索
本人qq群也有许多的技术文档,希望可以为你提供一些帮助(非技术的勿加). QQ群: 281442983 (点击链接加入群:http://jq.qq.com/?_wv=1027&k=29Lo ...
- MySQL常见的三种存储引擎
原文链接:https://www.cnblogs.com/yuxiuyan/p/6511837.html 简单来说,存储引擎就是指表的类型以及表在计算机上的存储方式. 存储引擎的概念是MySQL的特点 ...
- kettle imestamp : Unable to get timestamp from resultset at index 22
在做ETL的时候,连接MySQL读取含有timestamp类型的表,出现如下错误: 经Google,据说是MySQL自身的问题.解决方法也很简单,在Spoon的数据库连接中,打开选项,加入一行命令参数 ...
- H5 图片上传
1.h5 图片异步上传 (1) 异步上传input触发onchange事件的时候,就把图片上传至服务器.后台可能会返回图片的链接等信息,前台可以把图片信息展示给用户看. (2) 另一种情况可能需要前台 ...
- 【NOIP2016提高A组8.11】种树
题目 分析 题目要求把图删点,删成树. 考虑一下树的定义,点数n=边数m+1 并且,树中点两两之间联通,那么选的点就不能是割点. 可以用tarjan将图中最大的联通块,保证其中点两两之间有不止一条路径 ...
- 《转》tensorflow学习笔记
from http://m.blog.csdn.net/shengshengwang/article/details/75235860 1. RNN结构 解析: (1)one to one表示单输入单 ...
- git的fetch
1.git fetch 会从远程分支上下载 2.git pull 会将本地库更新至远程库最新状态
- JSP页面与html页面在ie下显示的样式不一致的问题
今天前端将样式与html给我文件我转化为jsp之后在我的电脑上使用IE11的IE9和其他浏览器都没有问题,但是在发给其他人检查的时候却发现在win7电脑的IE9上出现样式错乱的问题,前端调试无果的情况 ...