前提准备:因为用到了yum安装,因此需要将虚拟机的外网配通,
如果不会配置,请看这篇文章https://blog.csdn.net/lushizhuo9655/article/details/90378291
1、fastDFS安装环境
1.FastDFS是C语言开发,建议在linux上运行,
首先看有没有gcc环境, gcc -v
若没有,需要安装gcc:(-y表示全部安装所有的依赖)
yum -y install gcc-c++
2、安装libevent
FastDFS依赖libevent库,需要安装:
yum -y install libevent
3、将需要的文件上传到服务器上面(我是放在/usr/local/fastdfs下)
4、安装libfastcommon
libfastcommon是FastDFS官方提供的,libfastcommon包含了FastDFS运行所需要的一些基础库。
将libfastcommonV1.0.7.tar.gz拷贝至/usr/local/下
cd /usr/local/fastdfs
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下的库文件libfastcommon.so拷贝至/usr/lib下。
cp /usr/lib64/libfastcommon.so /usr/lib/
查看是否将文件复制到 /usr/lib/下了
find /usr/lib -name libfastcommon.so
5.安装FastDFS(tracker+storage)
1)将FastDFS_v5.05.tar.gz拷贝至/usr/local/下
cd /usr/local/fastdfs
tar -zxvf FastDFS_v5.05.tar.gz
cd FastDFS
./make.sh
./make.sh install
2)修改配置
安装成功后将安装目录下的conf下的文件拷贝到/etc/fdfs/下.(nginx)
cd /usr/local/fastdfs/FastDFS/
cd conf/
ll
cp * /etc/fdfs/
3)安装tracker
配置tracker服务,修改 /etc/fdfs/tracker.conf文件
a)这个主要为了设置tracker的存储位置
cd /usr/local/fastdfs/FastDFS/tracker
[root@localhost tracker]# pwd
/usr/local/fastdfs/FastDFS/tracker
b)编辑配置文件
vim /etc/fdfs/tracker.conf
修改base_path
base_path=/home/yuqing/fastdfs 存储路径改成下面的
base_path=/usr/local/fastdfs/FastDFS/tracker
启动tracker
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
重启tracker
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
设置开机自动启动:
vi /etc/rc.d/rc.local
添加 /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
如何在一个文件里面快速查找某个单词
比如查找base_path 只需要 /base_path 然后enter就会自动找到对应的单词
4)安装storage
若在不同的服务器安装,则前面的步骤需要重新执行
配置storage服务,修改 /etc/fdfs/storage.conf文件
a)这个主要为了设置tracker的存储位置
cd /usr/local/fastdfs/FastDFS/storage
[root@localhost storage]# pwd
/usr/local/fastdfs/FastDFS/storage
b)编辑配置文件
vim /etc/fdfs/storage.conf
修改base_path
base_path=/home/yuqing/fastdfs 改成
base_path=/usr/local/fastdfs/FastDFS/storage
修改store_path0
store_path0=/home/yuqing/fastdfs 改成
store_path0=/usr/local/fastdfs/FastDFS/storage
修改 tracker_server
改成跟踪服务的ip地址,
tracker_server=192.168.209.121:22122 改成自己得跟踪服务器的ip地址
tracker_server=192.168.1.201:22122
启动storage服务,此处时间可能会长一些
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
重启storage
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf
设置开机自动启动:
vi /etc/rc.d/rc.local
添加运行命令行:/usr/bin/fdfs_storaged /etc/fdfs/storage.conf
6.配置客户端
1)将/usr/local/fastdfs/FastDFS/client 里面的 拷贝到 /usr/lib这一步很重要(nginx)
cd /usr/local/fastdfs/FastDFS/client
cp libfdfsclient.so /usr/lib
2)修改配置文件
vim /etc/fdfs/client.conf
修改base_path
base_path=/home/yuqing/fastdfs 改成下面的
base_path=/usr/local/fastdfs/FastDFS/client
修改tracker_server
tracker_server=192.168.0.197:22122 改成自己得ip
tracker_server=192.168.1.201:22122
3)测试
创建一个html文件,然后传到服务器上面去
vim /root/hello.html
里面写的内容是 Hello fastdfs
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /root/hello.html
内部的测试 通过客户端传 上传 传什么
4)去存储的地方看是否将文件传到了服务器上面
cd /usr/local/fastdfs/FastDFS/storage/data/00/00/
ll
将这个链接放到浏览器上面还不能访问,只是内部能访问
http://192.168.1.201/group1/M00/00/00/wKgByV4NIhaABZcZAAAADtnjO7Q53_big.html
5)首先将防火墙关闭(开放80端口,我是在centos7环境下)
查看防火墙的状态;
firewall-cmd --state
running 状态即防火墙已经开启
如果上一步处于关闭状态,输入命令:
systemctl start firewalld.service
比如我们需要开启80端口,输入命令:
firewall-cmd --zone=public --add-port=80/tcp --permanent
--zone=public:表示作用域为公共的;
--add-port=80/tcp:添加tcp协议的端口80;
--permanent:永久生效,如果没有此参数,则只能维持当前服务生命周期内,重新启动后失效;
输入命令重启防火墙;
systemctl restart firewalld.service
输入命令重新载入配置
firewall-cmd --reload
若移除端口 :
firewall-cmd --permanent --remove-port=333/tcp
查看想开的端口是否已开 # firewall-cmd --query-port=333/tcp 提示no表示未开
7.安装nginx及nginx插件
1)nginx需要依赖一些环境
gcc(前面已经安装,所以不用再安装)
yum install gcc-c++
PCRE
yum install -y pcre pcre-devel
zlib
yum install -y zlib zlib-devel
openssl
yum install -y openssl openssl-devel
2)安装nginx的插件
解压文件
tar -zxvf fastdfs-nginx-module_v1.16.tar.gz
修改配置文件(将其中的local去掉)
vim /usr/local/fastdfs/fastdfs-nginx-module/src/config
替换里面的local
:%s/local\///g (注意这个:本来就有的,正确的只需要%s/local\///g)
3)插件需要和fastDFS交互
将/usr/local/fastdfs/fastdfs-nginx-module/src/mod_fastdfs.conf文件复制到 /etc/fdfs目录下,并编辑该文件
cd /usr/local/fastdfs/fastdfs-nginx-module/src
cp mod_fastdfs.conf /etc/fdfs/
修改配置文件
vim /etc/fdfs/mod_fastdfs.conf
修改tracker_server
tracker_server=tracker:22122 改成自己的服务器
tracker_server=192.168.1.201:22122
修改组名称
url_have_group_name = false 改成
url_have_group_name = true
修改存储位置(去哪取出存储信息)
获取存储位置
[root@localhost ~]# cd /usr/local/fastdfs/FastDFS/storage/
[root@localhost storage]# pwd
/usr/local/fastdfs/FastDFS/storage
修改store_path0
store_path0=/home/yuqing/fastdfs
store_path0=/usr/local/fastdfs/FastDFS/storage
3)安装nginx
tar -zxvf nginx-1.7.8.tar.gz
cd nginx-1.7.8/
./configure --add-module=/usr/local/fastdfs/fastdfs-nginx-module/src
make
make install
修改安装后的nginx配置文件
cd /usr/local/nginx/conf
vim nginx.conf
主要是增加一个监听路径
若访问路径是 /group1/M00/ 那么就让nginx插件来处理
添加监听路径
location /group1/M00/ {
ngx_fastdfs_module;
}
启动nginx
进入/usr/local/nginx/sbin目录
./nginx
看nginx的进程是否启动成功
ps -aux |grep nginx
至此可以通过网址来访问文件了