【阿里云】【centOS7】FastDFS分布式图片服务器开发环境搭建过程
在linux服务器上自己搭建fastdfs图片服务器。首先我们要准备的压缩文件: 下载地址:http://sourceforge.net/projects/FastDFS/ 或https://github.com/happyfish100/FastDFS(推荐)或者上csdn下载区直接搜文件名加后缀即可,很多资源。 【1】gcc编译环境安装FastDFS需要先...
在linux服务器上自己搭建fastdfs图片服务器。
首先我们要准备的压缩文件:
下载地址:http://sourceforge.net/projects/FastDFS/ 或https://github.com/happyfish100/FastDFS(推荐)
或者上csdn下载区直接搜文件名加后缀即可,很多资源。
【1】gcc编译环境
安装FastDFS需要先将官网下载的源码进行编译,编译依赖gcc环境,没有提前装的话可以执行命令:
yum install gcc-c++
来装gcc环境
【2】安装libevent
FastDFS依赖libevent库,需要安装:
yum -y install libevent
【3】安装libfastcommon
我这里把libfastcommonV1.0.7.tar.gz拷贝至/usr/local/下,
--------我尽量选择最普通的路径,如果是新手的话建议大家跟我一样配置路径,或者选择自己比较熟悉的路径也可以,本文后面的路径都按照此规则-------------------
依次执行命令:
cd /usr/local
tar -zxvf libfastcommonV1.0.7.tar.gz
cd libfastcommon-1.0.7
./make.sh
./make.sh install
注意:libfastcommon安装好后会自动将库文件拷贝至/usr/lib64下,由于FastDFS程序引用usr/lib目录所以需要将/usr/lib64下的库文件拷贝至/usr/lib下
cp /usr/lib64/libfastcommon.so /usr/lib/
【4】tracker和storage编译安装
将FastDFS_v5.05.tar.gz拷贝至/usr/local/下,依次执行命令:
tar -zxvf FastDFS_v5.05.tar.gz
cd FastDFS
./make.sh
./make.sh install
执行成功后tracker和storage都安装好了,下面分别进行配置:
进入/etc/fdfs目录,会发现有三个范例配置文件
把这三个文件复制一份到当前目录(注意吧文件名中的.sample去掉),然后分别修改:
修改tracker.conf:
vi tracker.conf
base_path=/home/yuqing/FastDFS
改为:
base_path=/home/fastdfs
按ESC 然后 :wq保存
修改storage.conf:
vi storage.conf
group_name=group1
base_path=/home/yuqing/FastDFS改为:base_path=/home/fastdfs
store_path0=/home/yuqing/FastDFS改为:store_path0=/home/fastdfs0
#如果有多个挂载磁盘则定义多个store_path,如下
#store_path1=.....
#store_path2=......
tracker_server=192.168.101.3:22122 #配置tracker服务器:IP
#如果有多个则配置多个tracker
tracker_server=你的服务器公网ip:22122(如192.168.1.1:22122)
退出并保存
下面还有一行配置的端口与nginx的listen端口一致 (后面整合nginx要用,先别改,以后有需要再改)
http.server_port=8888
client.conf 中同样要修改:
base_path=/home/fastdfs
tracker_server=你的服务器公网ip:22122(如192.168.1.1:22122)
下面启动tracker和storage:
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
注:如果你也是在阿里云上进行配置,storaged可能会启动失败,因为你可能没有配置云服务器实例安全组,请添加安全组配置,打开22122和23000端口(省事的话也可以直接配打开1/65535 把所有端口都打开,如果你的服务器不是很怕攻击的话)
然后关闭系统防火墙:systemctl stop firewalld.service
启动成功后可以配置开机自动启动:
vim /etc/rc.d/rc.loca
在打开的文件中添加:
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
退出保存即可。
----------------------------------------------------------------------------------------------------
到这里我们安装并启动了基本的fastdfs组件,下面进行与nginx的整合。
如果你已经安装了nginx,建议你先把它卸载掉,直接删除nginx安装文件夹即可。
nginx可以再tracker和storage上都安装,
在每个tracker上安装nginx,的主要目的是做负载均衡及实现高可用。如果只有一台tracker服务器可以不配置nginx。
我这儿作学习使用,只有一个tracker,因此只配一下storage
【5】fastdfs-nginx-module
将fastdfs-nginx-module_v1.16.tar.gz传至/usr/local/下
cd /usr/local
tar -zxvf fastdfs-nginx-module_v1.16.tar.gz
cd fastdfs-nginx-module/src
修改config文件将/usr/local/路径改为/usr/
然后有几个文件需要复制一下:
到FastDFS源码目录下(就是上面安装tracker的源码)
我们需要复制两个文件至/etc/fdfs/下
cp http.conf mime.types /etc/fdfs/
将fastdfs-nginx-module/src下的mod_fastdfs.conf拷贝至/etc/fdfs/下
cp mod_FastDFS.conf /etc/fdfs/
并修改mod_fastdfs.conf的内容:
vi /etc/fdfs/mod_fastdfs.conf
base_path=/home/fastdfs
tracker_server=你的公网ip:22122
#tracker_server=同上:22122(多个tracker配置多行)
url_have_group_name=true #url中包含group名称
store_path0=/home/fastdfs0 #指定文件存储路径
将libfdfsclient.so拷贝至/usr/lib下
cp /usr/lib64/libfdfsclient.so /usr/lib/
创建nginx/client目录
mkdir -p /var/temp/nginx/client
【6】nginx安装和添加fastdfs模块
安装nginx环境需要依赖gcc和几个开发包:依次安装,已有的就跳过。
PCRE
PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。
yum install -y pcre pcre-devel
注:pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库。
zlib
zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。
yum install -y zlib zlib-devel
openssl
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。
yum install -y openssl openssl-devel
把nginx包放到/usr/local下
tar zxf nginx-1.8.0.tar.gz
使用configure命令创建一makeFile文件。
cd nginx-1.8.0
./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/proxy \
--http-fastcgi-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/fastdfs-nginx-module/src
注意红色部分,add module是添加fastdfs模块,路径写成你的fastdfs-nginx-module源码路径即可
make
make install
然后进入nginx安装文件夹
修改conf/nginx.conf
在server块中添加监听接口
listen 8888; (这里跟之前storage配置的一样)
location /group1/M00 {
root /usr/fastdf0/data;(根storage配置的路径一样)
ngx_fastdfs_module;
}
退出并保存。
启动nginx:进入nginx/sbin/目录
执行./nginx即可
【测试】
上传:
使用格式:
/usr/bin/fdfs_test 客户端配置文件地址 upload 上传文件
比如将/home下的图片上传到FastDFS中:
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /home/tomcat.png
http://192.168.1.1/group1/M00/00/00/wKhlBVVY2M-AM_9DAAAT7-0xdqM485_big.png就是文件的下载路径。
对应storage服务器上的
/home/fastdfs/fdfs_storage/data/00/00/wKhlBVVY2M-AM_9DAAAT7-0xdqM485_big.png文件。
下载:
访问
访问storage:
http://192.168.1.1:8888/group1/M00/00/00/wKhlBVVY2M-AM_9DAAAT7-0xdqM485_big.png
更多推荐
所有评论(0)