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 ...
随机推荐
- Qt带参数的信号和槽
在Qt的开发过程中,信号带参数是很常见的,在使用带参数的信号槽时,有以下几点需要注意. 当信号和槽函数的参数数量相同时,它们的参数类型要完全一致. 信号和槽函数的声明: signals: void i ...
- u-boot-2016.09 make编译过程分析(一)
https://blog.csdn.net/guyongqiangx/article/details/52565493 综述 u-boot自v2014.10版本开始引入KBuild系统,Makefil ...
- apply_nodes_func
import torch as th import dgl g=dgl.DGLGraph() g.add_nodes(3) g.ndata["x"]=th.ones(3,4) #n ...
- jvm 堆
1.堆内存线程共享,在虚拟机启动时创建. 2.几乎所有的对象实例都在堆上分配:栈中存放基本数据类型和堆中对象的引用. GC回收 程序计数器.虚拟机栈.本地方法栈随线程而生,随线程而灭.栈中的栈帧随着方 ...
- java ThreadGroup源码分析
使用: import javax.swing.text.html.HTMLDocument.HTMLReader.IsindexAction; public class Test { public s ...
- thinkphp5.0.19 表单令牌
助手函数token() [F:\phpStudy\WWW\csweb\thinkphp\helper.php] request类token()方法 [F:\phpStudy\WWW\csweb\thi ...
- C++ GUI Qt4学习笔记08
C++ GUI Qt4学习笔记08 qtc++signal图形引擎文档 本章介绍Qt的二维图形引擎,Qt的二维图形引擎是基于QPainter类的.<span style="colo ...
- Java验证码程序
1.设计思想利用random的随机生成数字,利用for循环控制随机数字的个数来控制验证码的输出.利用JFrame实现布局的管理,对登录框内容的位置进行管理. 2.流程图 3.源代码 denglu类 i ...
- SpringCloud学习系列-构建部门微服务消费者Module
1.新建microservicecloud-consumer-dept-80 2.Pom <project xmlns="http://maven.apache.org/POM/4.0 ...
- HTML和CSS实现图片翻转效果
实现图片翻转,首先来分析一下我们希望实现的是怎样的翻转效果?又该如何去实现呢? 一.希望实现的效果 页面上的图片在光标悬停在上面的时候会发生翻转效果,翻转过后显示出背面的说明文字. 鼠标没有悬停在上面 ...