安装前准备
在开始安装前需要准备以下安装包 fastdfs-master.zip、nginx-1.17.7.tar.gz、fastdfs-nginx-module-master.zip、libfastcommon-master.zip。如果没有,这边提供了wget下载链接和网盘链接,需要自取。
fastDFS下载链接: wget -c “https://github.com/happyfish100/fastdfs/archive/V6.06.tar.gz”
-O fastdfs-6.06.tar.gz
libfastcommon下载链接:wget -c “https://github.com/happyfish100/libfastcommon/archive/V1.0.43.tar.gz”
-O libfastcommon-1.0.43.tar.gz
fastdfs-nginx-module下载链接:wget -c “https://github.com/happyfish100/fastdfs-nginx-module/archive/V1.22.tar.gz”
-O fastdfs-nginx-module-1.22.tar.gz
nginx下载链接:wget -c http://nginx.org/download/nginx-1.17.7.tar.gz
百度网盘链接:
链接:https://pan.baidu.com/s/1Ay165m7p9VTnY5sSoiZlsw?pwd=7284
提取码:7284
–来自百度网盘超级会员V5的分享
开始安装
1.准备好上面的安装包后,将其放到你的服务器中某一个文件夹,我这里放在 /usr/local/fastdfs 目录下。弄好之后,使用命令下载 一些配置环境.
apt install gcc gcc-c++ make automake perl build-essential libpcre3 libpcre3-dev zlib1g-dev openssl libssl-dev wget vim
2.解压 libfastcommon-master.zip,进入解压后的文件夹,运行 脚本 ./make.sh && ./make install
uzip libfastcommon-master.zip
./make.sh
./make install
3.解压 fastdfs-master.zip,进入解压后的文件夹,运行脚本 ./make.sh && ./make install
uzip fastdfs-master.zip
./make.sh
./make install
在运行这个脚本时,会报一个 /common/fdfs_global.h:15:10: fatal error: sf/sf_global.h: No such file or directory 错误,这是因为fastdfs-master这个包里面少了一些文件,我们需要下载 libserverframe 这个文件进行编译一下,下载文件也在百度网盘里面,也可以通过git命令进行下载,下载下来后进入文件夹运行脚本 ./make.sh && ./make install,就可以解决这个报错了。
git clone https://github.com/happyfish100/libserverframe.git --depth 1
./make.sh
./make install
4.命令运行完成后,我们需要提前先把文件夹建好,后续就不需要再进行文件夹的创建了
mkdir /data/fastdfs/storage
mkdir /data/fastdfs/tracker
5.进入 /etc/fdfs 目录,这个目录在安装fastdfs安装包的时候就已经创建了,修改tracker.conf,主要修改这个属性,其他不需要动,这个路径就是我们上面创建的文件夹
base_path=/data/fastdfs/tracker
6.修改完成后保存,然后使用下面命令使这个配置生效,并使用 ps -ef | grep fdfs 查看是否生效,也可以查看/data/fastdfs/tracker目录文件,发现多出两个文件,用来存放数据和日志的
fdfs_trackerd /etc/fdfs/tracker.conf start
7.配置storage 服务,打开 storage.conf文件,修改如下参数
base_path=/data/fastdfs/storage
store_path0=/data/fastdfs/storage
tracker_server=你的ip:22122 (注意:如果是云服务器需要公网ip,并且22122、23000端口需要放开)
8.修改保存后,启动storage服务,并使用 ps -ef | grep fdfs 查看是否生效,也可以查看/data/fastdfs/storage下文件内容,生成logs、data两个目录
fdfs_storaged /etc/fdfs/storage.conf start
9.至此,storage节点也搭建好了,可以在任一存储节点上使用如下命令查看集群的状态信息
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
10.为了测试是否搭建成功,在/etc/fdfs/目录下,编辑 client.conf,修改tracker_server参数
tracker_server=192.168.7.73:22122
11.使用下面这个命令进行上传测试
fdfs_test /etc/fdfs/client.conf upload /home/ubuntu/123.jpg
12.成功后会将路径显示在控制台,至此文件上传成功
与Nginx整合
1.解压 fastdfs-nginx-module_v1.16 文件,进入解压后的文件夹,编辑 config 文件夹,将其中的local去掉,然后保存退出,再把mod_fastdfs.conf这个文件复制到/etc/fdfs/文件下,编辑这个文件,修改以下内容(注:需要建一个临时文件夹,日志将会写入到这个文件夹里面,我的文件路径是:/usr/local/fastdfs/tmp)
base_path=/usr/local/fastdfs/tmp
tracker_server=公网ip地址:22122
url_have_group_name=true #url中包含group名称
store_path0=/data/fastdfs/storage #指定文件存储路径,这个路径需要和storage.conf里面配置的路径一致
2.下载Nginx包,解压并进入该文件夹
tar -zxvf nginx-1.16.1.tar.gz && cd nginx-1.16.
3.复制使用以下配置,在命令行回车,注意最后的fastdfs-nginx-module 需要换成自己的地址
./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/fastdfs-nginx-module/src
4.然后使用make编译安装
make
make install
5.修改nginx配置文件,重启nginx,至此整个搭建就完成了.
vim /usr/local/nginx/conf/nginx.conf
server {
listen 8888;#为了防止80端口,我们改成8089
# server_name service.mtn;#这里需要使用你本机的局域网ip
location /group1/M00/{
ngx_fastdfs_module;
}
}