FastDFS搭建单机图片服务器(二)

根据
分布式文件系统 - 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
usr_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;
}

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搭建单机图片服务器(二)相关推荐

  1. 【图片服务器】搭建Nginx图片服务器

    一.安装Nginx 二.安装vsftpd 三.开始搭建Nginx图片服务器 1.效果 例如:图片通过ftp服务上传到/home/ftpuser/www/images目录下,我想通过访问Nginx服务器 ...

  2. 搭建Nginx图片服务器

    一.安装Nginx 先安装Nginx,看我之前发的文章: 搭建Nginx服务器 二.安装vsftpd 再安装vsftpd组件,看我之前发的文章: Linux安装ftp组件(8步完成) 三.开始搭建Ng ...

  3. 安装nginx并搭建nginx图片服务器

    1.安装所需的包:yum install -y apr* autoconf automake bison bzip2 bzip2* cloog-ppl compat* cpp curl curl-de ...

  4. win10环境下搭建IIS图片服务器

    Win10环境下搭建IIS图片服务器 背景交代:项目开发中在不依赖后端接口的前提下 前端基于mock获取数据,涉及到图片这块,需要完全还原线上场景,多以需要将图片放在服务器上.所以需要在本地利用win ...

  5. 利用nginx搭建简单图片服务器实现负载均衡

    在我们搭建一个网站的时候,往往有时候会加载更多的图片,如果都从tomcat服务器来获取静态资源,这样会增加我们服务器的负载,使得服务器运行 速度非常慢,这时我们可以使用nginx服务器来加载这些静态资 ...

  6. dockerspringboot-快速搭建FTP-Image图片服务器

    本章目的是讲解图片服务器及其运用的使用,主讲解个别要点,细节没有全列出来,如果是未搭建过相关服务的小白白,建议先去参考下其他健全的讲解内容,你所希望的搭建一套完整体系流程,本篇可能不太适合. 事先安装 ...

  7. Windows搭建简单图片服务器

    实验需求 1#需求:某些网站上传图片,只能上传链接.能够使用 http://IP/目录/图片名 访问服务器已经存在的图片 2#解决方案:基于Nginx搭建图片服务器,提供链接浏览 #Nginx (en ...

  8. Ubuntu之搭建nginx图片服务器

    参考:https://blog.csdn.net/xingbake111/article/details/89489032 0 背景 客户端访问服务器端图片时,需要在服务器端部署图片服务器,本文采用n ...

  9. nginx图片服务器性能,搭建nginx图片服务器

    背景 在做一个需求的时候,需要对外提供图片地址,通过图片链接直接在浏览器打开使用. 实现 先搭建一个可用的nginx的服务(注意:端口号要唯一.nginx.conf配置如下:) server { li ...

最新文章

  1. mysql 分区_搞懂MySQL分区
  2. “CRISPR婴儿”计划疯狂重启 顶级科学家们表示无力阻止
  3. dig挖出DNS的秘密
  4. 【模型解读】“全连接”的卷积网络,有什么好?
  5. JavaWeb图书管理系统day01
  6. UVa 10026 - Shoemaker's Problem
  7. python去空格的函数_Python中用于去除空格的三个函数的使用小结
  8. Laravel 开发扩展包基本流程
  9. Python案例:获取天气信息并绘制气温折线图
  10. 尝试用LoadRunner录制单机程序--未生成录制脚本
  11. 企业如何有效抵御匿名化工具带来的威胁
  12. 图像处理-HSL彩色图像均衡化
  13. Hadoop CentOS 7 安装配置
  14. 宽度 深度学习 特点对比
  15. Tcplistener服务端与tcpclient客户端使用
  16. Ubuntu设置仅允许特定用户或特定IP通过ssh访问
  17. os-003-protected-mode
  18. Revit建模软件:如何在Revit中准确放置族组件?
  19. 基于jwt的token验证、原理及流程
  20. MiniGUI学习整理

热门文章

  1. sort() 对数值数组进行升序排序
  2. oracle+excel转txt,Excel数据导入Oracle的方法
  3. 哪个牌子充电宝有颜值耐用?颜值高的充电宝品牌推荐
  4. 无线接入认证web服务器搭建,基于WEB和RADIUS的无线局域网接入认证系统
  5. Cinema 4d 和 3ds Max:哪个软件更好?
  6. Bezier曲线——de Casteljau递推算法实现
  7. 【Java - 项目开发】网上书城项目
  8. 常见的社群玩法盘点,你做的是哪一种?
  9. html文本框容纳行数和列数,html中怎么获取多行文本框的行数
  10. python绑定按键pageup键_python游戏教程一——键盘事件