简介
今天周末,女儿睡觉了,家务活也忙完了,下午没事,正好把fastdfs给弄了。在我的阿里云服务器我已经试验成功了,其实也是按照网上的一些资料来配置的。接下来就把步骤给整理了一下。
FastDFS安装包收集
FastDFS安装
FastDFS配置
给storage安装nginx并配置
给tracker安装nginx并配置
FastDFS安装包收集
- FastDFS_v5.05.tar.gz
- fastdfs-nginx-module_v1.16.tar.gz
- libfastcommon-1.0.7.zip
- nginx-1.7.8.tar.gz
FastDFS安装包下载
有些系统环境可以用yum在线安装,下文会提到。
FastDFS安装
在centos下的opt目录下创建3个文件夹:
1)配置tracker所需的base_path:
mkdir /opt/fastdfs/fastdfs_tracker
2) 配置storage所需的日志目录:
mkdir /opt/fastdfs /fastdfs_storage_info
3)配置storage所需的存储文件目录:
mkdir /opt/fastdfs/fastdfs_storage_data将压缩包libfastcommon-1.0.7.zip和fastdfs-5.05.tar.gz上传到远程服务器的/home/install下,从本地上传到Linux服务器可以用scp命名,命令如下:
scp 本地文件的地址 远程服务器用户名@远程服务器地址:远程服务器上传的目录
例子:
scp c:/software/xxx.zip root@192.168.xx.110:/home/install- 在/home/install下解压缩libfastcommon-1.0.7.zip
unzip libfastcommon-1.0.7.zip
进入到解压后的文件夹libfastcommon-1.0.7进行安装
./make.sh
./make.sh insatll
- 上述安装的路径在/usr/lib64/,但是FastDFS主程序设置的lib目录是/usr/local/lib,所以需要创建软连接如下:
ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
如果报错了可能是因为目录之间的空格。有可能少了一个空格,有可能多了一个空格。 - 解压缩:FastDFS-5.05.tar.gz并安装
tar –zxvf FastDFS-5.05.tar.gz
./make.sh
./make.sh install - 打开 /etc/fdfs目录发现有以下三个配置文件存在,说明安装成功
mod_fastdfs.conf.sample
storage.conf.sample
tracker.conf.sample
FastDFS的配置
- 配置tracker:
进入/etc/fdfs文件夹,执行命令:
cp tracker.conf.sample tracker.conf
vim tracker.conf
a. disabled=false #启用配置文件,我配置的时候默认就是false,最好检查一下
b. port=22122 #设置tracker的端口号,一般采用22122这个默认端口
c. base_path=/opt/fastdfs/fastdfs_tracker #设置tracker的数据文件和日志目录,这个目录是一开始创建的,需要与之对应起来
启动tracker:/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
启动完毕后,可以通过以下两个方法查看tracker是否启动成功:
a. netstat -unltp|grep fdfs,查看22122端口监听情况
b. 通过以下命令查看tracker的启动日志,看是否有错误: tail -100f /opt/fastdfs_tracker/logs/trackerd.log - 配置storage:
进入/etc/fdfs文件夹,执行命令:
cp storage.conf.sample storage.conf
vim storage.conf,对以下几个选项进行编辑:
a. disabled=false #启用配置文件
b. group_name=group1 #组名,根据实际情况修改
c. port=23000 #设置storage的端口号,默认是23000,同一个组的storage端口号必须一致
d. base_path=/opt/fastdfs/fastdfs_storage_info #设置storage的日志目录(需预先创建)
e. store_path_count=1 #存储路径个数,需要和store_path个数匹配
f. store_path0=/opt/fastdfs/fastdfs_storage_data #存储路径
g. tracker_server=192.168.1.14:22122 #tracker服务器的IP地址和端口号
启动storage,执行如下命令:
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
启动完毕后,可以通过以下两个方法查看storage是否启动成功:
a. netstat -unltp|grep fdfs,查看23000端口监听情况
b. 通过以下命令查看storage的启动日志,看是否有错误: tail -100f /opt/fastdfs_storage_info/logs/storaged.log
若成功,可将storage的启动添加到开机启动中:
vi /etc/rc.d/rc.local
将/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart添加到文件中 - 配置client:
一、 打开 /etc/fdfs 文件夹,执行如下命令:
cp client.conf.sample client.conf
vim client.conf
修改以下项目:
a. base_path=/opt/fastdfs/fastdfs_tracker #存放路径
b. tracker_server=192.168.1.14:22122 #tracker服务器IP地址和端口号
二、 模拟上传文件,执行如下命令: /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /opt/1.txt(上传文件的目录)
然后你就可以在/opt/fastdfs/fastdfs_storage_data/data/M00/00/00下就可以看见你上传的文件了。
给storage安装nginx并配置
安装nginx的目的主要是给fastdfs提供http访问的服务,现在的fastdfs不安装Nginx是访问不了的,必须安装Nginx。
将nginx-1.7.8.tar.gz和fastdfs-nginx-module_v1.16.tar.gz上传到/home/install目录下.
1. 解压nginx-1.8.0.tar.gz和fastdfs-nginx-module_v1.16.tar.gz
tar zxvf fastdfs-nginx-module_v1.16.tar.gz
tar zxvf nginx-1.7.8.tar.gz
2. 创建两个文件夹作为Nginx的安装路径
mkdir /opt/fastdfs/nginx
mkdir /opt/fastdfs/nginx2
说明:storage和tracker都需要安装Nginx,所以需要创建两个Nginx文件夹
3. 为Nginx添加fastdfs-nginx-module模块
cd nginx-1.7.8/
./configure –prefix=/opt/fastdfs/nginx –add-module=/home/install/fastdfs-nginx-module/src
若执行不成功,需要执行
yum -y install pcre-devel
yum install openssl来安装一些Nginx的准备文件
有可能会出现本机没有zlib库,需要安装。安装zlib库需要下载zlib文件的,具体安装zlib的链接如下:
zlib在centos下安装
相关的环境安装好之后,在执行
make
make install
make 时如果报错,执行如下命令:
ln -sv /usr/include/fastcommon /usr/local/include/fastcommon
ln -sv /usr/include/fastdfs /usr/local/include/fastdfs
然后在执行make和make install,这个时候执行的非常快。安装成功之后
拷贝相关文件到/etc/fdfs目录下:
cp /home/install/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
cp /home/install/FastDFS/conf/mime.types /etc/fdfs/
cp /home/install/FastDFS/conf/http.conf /etc/fdfs/
cp /home/install/FastDFS/conf/anti-steal.jpg /etc/fdfs/
以上命名一定要注意目录之间的空格,如果报错可能就是你少了空格,或者中间多了空格。
4. 修改nginx.conf的配置(这里指的是在/opt/fastdfs/nginx下的配置文件):
user root;
listen 80;
server_name 192.168.1.14;
location ~/group[1-3]/M00 {
root /opt/fastdfs/fastdfs_storage_data/data;
ngx_fastdfs_module;:
}
5. 修改/etc/fdfs/mod_fastdfs.conf的配置:
base_path=/opt/fastdfs/fastdfs_storage_info #保存日志目录
tracker_server=192.168.1.14:22122 #tracker 服务器的 IP 地址以及端口号
url_have_group_name = true #文件 url 中是否有 group 名
store_path0=/opt/fastdfs/fastdfs_storage_data # 存储路径
http.need_find_content_type=true # 从文件扩展名查找文件类型 (nginx 时 为true)
group_count = 3 #设置组的个数,事实上这次只使用了group1
在文件末添加如下内容:
[group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/opt/fastdfs/fastdfs_storage_data
[group2]
group_name=group2
storage_server_port=23000
store_path_count=1
store_path0=/opt/fastdfs/fastdfs_storage_data
[group3]
group_name=group3
storage_server_port=23000
store_path_count=1
store_path0=/opt/fastdfs/fastdfs_storage_data
建立 M00 至存储目录的符号连接:ln -s /opt/fastdfs/fastdfs_storage_data/data /opt/fastdfs/fastdfs_storage_data/data/M00
启动nginx:
/opt/fastdfs/nginx/sbin/nginx
给tracker安装nginx并配置
安装路径为:/opt/fastdfs/nginx2
cd nginx-1.7.8/
./configure –prefix=/opt/fastdfs/nginx2 –add-module=/home/install/fastdfs-nginx-module/src
make
make install
nginx.conf配置如下:
user root;
upstream fdfs_group1 {
server 192.168.1.14:22122;
}
server {
listen 81;
server_name 192.168.1.14;
location /group1/M00 {
proxy_pass http://fdfs_group1;
}
}
启动nginx:
/opt/fastdfs/nginx2/sbin/nginx
配置客户端文件:
cd /etc/fdfs/
vim client.conf
修改内容如下:
http.tracker_server_port=6666 # tracker 服务器的 http 端口号,必须和tracker的设置
http.server_port=6666对应起来
测试访问:192.168.1.14/group1/M00/00/00/文件全名
结语
梳理了一下安装步骤,把自己的安装步骤记录下来了,fastdfs安装成功了,那么接下来就是上传和下载图片了。下一篇博客将会把fastdfs和咱们的QiYuAdmin项目里面的头像的上传给结合起来。