Nginx+FastDFS搭建图片上传服务器

需要的文件:

  • libfastcommon:wget https://github.com/happyfish100/libfastcommon/archive/V1.0.7.tar.gz
  • fastdfs:wget https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gz
  • nginx:wget http://nginx.org/download/nginx-1.8.0.tar.gz
  • fastdfs-nginx-module:wget http://jaist.dl.sourceforge.net/project/fastdfs/FastDFS%20Nginx%20Module%20Source%20Code/fastdfs-nginx-module_v1.16.tar.gz

搭建图片服务器需要下面的几个文件

  • fastdfs-5.05.tar.gz
  • fastdfs-nginx-module_v1.16.tar.gz
  • libfastcommon-1.0.7.tar.gz
  • nginx
    连接Linux服务器的软件我用的是SecureCRT 8.0

上传文件到服务器

如果使用的是SecureCRT 8.0,按ALT+P打开上传文件的界面,将要上传的文件直接拖入界面就可以完成上传。
在这里插入图片描述
fastdfs-5.05.tar.gzfastdfs-nginx-module_v1.16.tar.gzlibfastcommon-1.0.7.tar.gz分别拖入这个界面完成上传。
上传完成后,来到Linux虚拟机上在root文件夹里面你可以看到上传的文件
在这里插入图片描述

安装FastDFS

在安装之前,需要安装几个依赖
FastDFS是用C语言开发的所以要安装gcc-c++
还有一个FastDFS的依赖库libevent

yum -y install gcc-c++
yum -y install libevent

我这里为了方便管理这几个文件,我在/usr/local文件夹下面创建了一个文件名为tools的文件夹,将root目录下面的上传的文件移动到这个新创建的目录下

mv fastdfs-5.05.tar.gz fastdfs-nginx-module_v1.16.tar.gz libfastcommon-1.0.7.tar.gz /usr/local/tools

注:这里面的文件夹是我根据我电脑的环境来的,具体将文件移动到哪个位置自已决定

首先来处理libfastcommon-1.0.7.tar.gz

通过下面命令将这个文件夹解压

tar -zxvf libfastcommon-1.0.7.tar.gz

解压完成后,目录里面会多出来一个libfastcommon-1.0.7文件夹,通过cd命令进入。

这个目录的结构是这个样子的
在这里插入图片描述
这里有一个make.sh的文件,通过执行这个文件来编辑

./make.sh

在执行make的过程中我出现了一个错误 (这个错误不一定会遇到,我朋友安装就没有遇到这个错误)
意思是perl命令没有找到,百度了一下大概是因为没有安装的原因
在这里插入图片描述
安装prel

yum -y install perl perl-devel

安装perl完成后,重新执行./make.sh就可以完成编辑了。
如果编辑期间没有出现错误就可以开始安装了,通过下面的命令开始安装

./make.sh install

出现下图这样子就是安装成功了
在这里插入图片描述
安装完成后会在usr/lib64文件夹里面有一个libfastcommon.so文件
将这个文件copy到usr/lib目录下

cp libfastcommon.so /usr/lib

安装FastDFS

进入/usr/local/tools(这个是我自已创建的文件夹,我是将上传的那几个文件放到了这个文件夹里面了),对fastdfs-5.05.tar.gz文件进行解压,通过下面的命令

 tar -zxvf fastdfs-5.05.tar.gz

进入解压后的文件夹,同样会有一个make.sh的文件,执行这个文件进行编辑

./make.sh

编辑成功后,执行安装命令

./make.sh install

安装成功后的文件会出现在usr/bin目录下
在这里插入图片描述
还有一部分的配置文件放在了etc/fdfs文件夹里面
在这里插入图片描述
/usr/local/tools/fastdfs-5.05/conf(这个目录是我们解压文件的那个目录)里面我们需要将一部分配置文件cpoy到这个目录里面。

cp * /etc/fdfs/

重新进入到etc/fdfs目录,通过ll命令查看下,可以看到刚刚cpoy的那些文件
在这里插入图片描述

配置tracker文件

先根据下面的图片来创建出这几个文件夹,当然路径是根据你自已的情况来选 择的
在这里插入图片描述

etc/fdfs目录下,编辑tracker.conf文件,来修改配置

vi  tracker.conf

找到一个名字是base_path的配置项

# the base path to store data and log files #日志的保存路径,这个修改成刚才创建的那个路径
base_path=/fastdfs/tracker 

启动treacker服务,进入usr/bin目录下,执行

ll fdfs*

下面显示的都是和fdfs有关的文件
在这里插入图片描述
通过执行下面命令来启动tracker服务,后面的conf文件是tracker的配置文件

fdfs_trackerd /etc/fdfs/tracker.conf

如果你的配置发生了变化,执行下面的命令重启就好了

fdfs_trackerd /etc/fdfs/tracker.conf restart

安装storage

进入etc/fdfs目录来修改storage.conf配置文件,下面我写出需要修改的配置项

# the base path to store data and log files
base_path=/fastdfs/storage
#在访问一张图片的时候需要加上这个group_name的前缀
group_name=xiaobai
#这个是上传的图片存放的位置
store_path0=/fastdfs/storage
#storage需要定时的向tracker回报,这个是tracker的地址(这个Ip建议将虚拟机的Ip固定,现在tracker的服务在本机上,这里我就写的本机的Ip)
tracker_server=192.168.133.24:22122

启动storage
进入usr/bin目录下执行

fdfs_storaged /etc/fdfs/storage.conf

如果要重启此服务的话在后面加上resatrt就好

fdfs_storaged /etc/fdfs/storage.conf restart

查看storagetracker有没有启动成功
执行

ps aux | grep tracker
ps aux | grep storage

在这里插入图片描述
在这里插入图片描述

通过分别执行上面的两行命令可以看出,这两个服务都已经开启

测试上传

进入etc/fdfs目录修改client.conf文件

vi client.conf

这里我写出需要修改的配置项

base_path=/fastdfs/client
tracker_server=192.168.133.24:22122

这两个配置修改成和自已对应的信息即可

进入usr/bin目录里面有一个fdfs_test的文件,这个文件就是测试上传文件的工具,既然要上传图片,这里我就准备了一个图片,你可以在SecureCRT 8.0中的SFTP工具来上传图片到虚拟机上,(使用过程和上面上传fastDFS的过程一样,上传的直接将文件拖入界面就传到了虚拟机的root目录下,我这里上传的图片的名字是t.png),执行下面的命令上传图片,/etc/fdfs/client.conf这个是client的配置文件

fdfs_test /etc/fdfs/client.conf upload /root/t.png

http://192.168.133.24/xiaobai/M00/00/00/wKiFGF4KEjmAe3JKAAHS7nP5uag941_big.png

这个是我上传文件后返回的地址,可能看到Ip后面的xiaobai就是我在配置文件中修改的group_name的值
,这样直接在宿主机是不可以直接访问的,还要配置nginx

配置NGINX

在我们个传fastDFS文件的时候有一个文件是fastdfs-nginx-module_v1.16.tar.gz,这个文件是fastDFSnginx连接的模块
解压fastdfs-nginx-module_v1.16.tar.gz

tar -zxvf fastdfs-nginx-module_v1.16.tar.gz 

解压完成后,进入解压的目录下面的src目录,修改改目录下面的config文件

vim config

在这里插入图片描述
将这几个标红的local删除掉

在安装nginx之前先安装一些依赖库

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

nginx自已可以去官网下载
解压nginx

tar -zxvf nginx-1.17.7.tar.gz
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi \
--add-module=/usr/local/tools/fastdfs-nginx-module/src

–add-module这个配置项需要修改成你自的模块路径,具体的路径可以参考我写的路径进行修改

进行nginx的目录,将上面的代码复制直接在命令行粘贴,按回车如下:
在这里插入图片描述
完成后,在nginx的目录输入make进行编辑
在这里插入图片描述
编辑完成后,通过make install进行安装
在这里插入图片描述
安装 完成后在usr/local目录下有一个nginx目录,这个就是安装完成后的目录

/usr/local/tools/fastdfs-nginx-module/src目录下面有一个mod_fastdfs.conf文件,将这个文件copy到etc/fdfs目录下面

cp mod_fastdfs.conf /etc/fdfs

进入etc/fdfs目录,修改mod_fastdfs.conf文件

vi mod_fastdfs.conf

我写出要修改的地方,修改成如下,保存文件(:wq命令是保存文件)

# the base path to store log files
base_path=/fastdfs/tmp
#这里的IP修改成虚拟机的Ip
tracker_server=192.168.133.24:22122
#这里的group_name和上面的那个group_name是一样的,修改成相同的就好
group_name=xiaobai
#下面的这个修改成true
url_have_group_name = true
store_path0=/fastdfs/storage

在根目录的fastdfs下创建tmp文件夹

mkdir /fastdfs/tmp -p

进入ngin的安装目录

cd  /usr/local/nginx/

修改该目录下面的conf目录下的nginx.conf文件,添加下面方框
在这里插入图片描述
创建一个文件夹mkdir /var/temp/nginx -p
切换到nginx目录下的src目录执行./nginx启动nginx
在宿主机上访问可以成功的访问到图片,如果访问不到请检查防火墙或者是在搭建环境中的配置是否有错误
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值