你好!欢迎阅读我的博文,你可以跳转到我的个人博客网站,会有更好的排版效果和功能。
此外,本篇博文为本人Pushy原创,如需转载请注明出处:https://pushy.site/posts/1532055928
1. 准备工作
1.1 下载工具
该部署教程的所有工具都能在https://pan.baidu.com/s/1U8nXJycYqGo1ChStbszr1w找到
1.2 安装libevent
libevent是一个基于事件触发的网络库,能够对并发编程提供支持,避免竞态条件,同时具有高性能、由时间驱动的优点。
$ sudo apt-get install libevent-dev
2. 开始部署
2.1 安装libfastcommon
解压libfastcommon
后进入文件进行编译:
$ unzip libfastcommon-master.zip
$ cd libfastcommon-master
$ ./make
$ sudo ./make install
2.2 安装Tracker服务
解压fastdfs
压缩包进入文件夹进行编译:
$ tar -zxvf fastdfs-5.10.tar.gz
$ ./make.sh
$ sudo ./make.sh install
编译完了之后/etc/fdfs文件夹下会有Fastdfs的配置文件,如果没有该文件夹,则把FastDFS根目录下的/conf目录下的所有的配置文件都复制到/etc/fdfs
配置Tracker
文件下下的tracker.conf.sample
是配置的实例文件,需要复制一份并命名为tracker.conf
,然后修改配置文件:
$ sudo cp tracker.conf.sample tracker.conf
$ sudo vim tracker.conf
将base_path
修改为自己的路径,并且该绝对路径必须存在,这里修改为/home/pushy/fastdfs
,修改好了之后保存文件。
启动Tracker
$ sudo /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
启动完成后,通过netstat -unltp
查看端口的监听情况,可以看到22122
端口正常被监听,说明Tracker服务安装成功了:
2.3 安装Storage服务
配置storage
同样复制storage.conf.sample
文件为storage.conf
到当前文件夹,并且修改配置文件:
$ sudo cp storage.conf.sample storage.conf
$ sudo vim storage.conf
- 修改storage服务日志存放路径
base_path
,路径必须存在,这里修改为/home/pushy/fastdfs
- 修改图片保存的路径
store_path0
,路径必须存在,这里修改为/home/pushy/fastdfs
;然后修改指定Tracker服务器的ip及端口号,这里的ip号不能修改为localhost
,而是通过ifconfig
查看的局域网ip
,端口默认为22122
。
启动storage服务
$ sudo /usr/bin/fdfs_storaged /etc/fdfs/storage.conf
同样通过netstat -unltp
命令查看storege
服务23000
端口的监听情况,如果正常监听则说明启动成功
我们安装配置并启动了 Tracker 和 Storage 服务,也没有报错了。那他俩是不是在通信呢?我们可以监视一下:
$ /usr/bin/fdfs_monitor /etc/fdfs/storage.conf
如果出现下图的情况则说明安装成功,而且Tracker 和 Storage正常通信。
测试服务
还是将配置文件复制一份:
$ sudo cp client.conf.sample client.conf
$ sudo vim client.conf
修改client.conf
配置文件,修改将客户端日志文件保存路径base_path
,这里修改为:/home/pushy/fastdfs/client
;并且修改Tracker的服务器IP和地址。
执行命令进行上传测试:
$ /usr/bin/fdfs_upload_file /etc/fdfs/client.conf ~/test.jpg
如果返回ID号则测试成功
group1/M00/00/00/wKiRiVtQBwmAF4AEACsWhwfBzc0490.jpg
3. 安装 Nginx 和配置映射
网上的大多数教程都手动编译Nginx并且添加fastdfs-nginx-module
插件,实际上不需要该插件也是可以正常的映射,访问图片的。
3.1 安装Nginx
$ sudo apt-get install nginx
3.2 配置映射
$ sudo cd /etc/nginx/conf.d
$ sudo vim fastdfs.conf
添加下面的server配置,直接通过alias
映射到storage的路径下:
server {
listen 80;
server_name storage.example.com;
location /group1/M00/ {
# 这里配置前面配置的storage data的路径
alias /home/pushy/fastdfs/data/;
}
}
重启Nginx:
$ nginx -s reload
重启好了之后就可以通过http://storage.example.com/group1/M00/00/00/wKiRiVtQBwmAF4AEACsWhwfBzc0490.jpg
访问到图片了