系统软件准备
名称 | 说明 |
Centos | 7.x |
libfastcommon | FastDFS分离出的一些公用函数包 |
FastDFS | FastDFS安装包 |
fastdfs-nginx-module | FastDF和Nginx的关联模块 |
Nginx | 1.16.1 |
磁盘目录
说明 | 位置 |
资源安装包 | /opt/FastDfs |
存储Tracker日志和数据的根目录 | /usr/local/fastdfs/tracker |
存储Storage日志和数据的根目录 | /usr/local/fastdfs/storage |
存储Client日志和数据的根目录 | /usr/local/fastdfs/client |
以上目录在所有节点上都需要建立。
cd /opt
mkdir FastDfs
mkdir -p /usr/local/fastdfs/tracker
mkdir -p /usr/local/fastdfs/storage
mkdir -p /usr/local/fastdfs/client
安装基本依赖
yum install gcc gcc-c++ libevent pcre pcre-devel zlib zlib-devel openssl-devel wget vim -y
安装libfastcommon
tar -zxvf libfastcommon-1.0.42.tar.gz
cd libfastcommon-1.0.42/
./make.sh && ./make.sh install #编译安装
FastDfs
tar -zxvf fastdfs-6.04.tar.gz
cd fastdfs-6.04
./make.sh && ./make install
#拷贝
cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf #客户端文件,测试用
cp /opt/FastDfs/fastdfs-6.04/conf/http.conf /etc/fdfs/ #供nginx访问使用
cp /opt/FastDfs/fastdfs-6.04/conf/mime.types /etc/fdfs/ #供nginx访问使用
启动Tracker
在作为Tracker的节点上修改tracker.conf。
# 修改base_path为刚刚建立的目录, 第28行哦
# the base path to store data and log files
base_path=/usr/local/fastdfs/tracker
启动Tracker。
# 启动Tracker
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
# 查看tracker进程
ps -ef | grep tracker
启动Storage
在作为Storage的节点上修改storage.conf。
# 自定义组名(非强制), 第11行哦
group_name=group1
# 修改base_path为刚刚建立的目录, 第48行哦
base_path=/usr/local/fastdfs/storage
# 第128行
store_path0=/usr/local/fastdfs/storage
# 配置 tracker 的地址,多个 tracker 就写多行
tracker_server=192.168.233.132:22122
启动Storage。
# 启动Storage
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf
# 查看tracker进程
ps -ef | grep storage
测试上传
修改Client.conf文件配置。
# 第10行
base_path=/usr/local/fastdfs/client
# 第21行
tracker_server=192.168.233.132:22122
使用以下命令上传/opt
目录下的一张图片(确保有图片)。
cd /usr/bin
./fdfs_test /etc/fdfs/client.conf upload /opt/image.png
虽然FastDfs给出了访问的URL, 可是并无法使用, 需要与Nginx结合才能访问资源。
Nginx与FastDFS的整合
首先解压资源文件中的Nginx, 执行以下命令安装Nginx。
mkdir /var/temp/nginx -p
./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
make && make install #编译安装
然后解压资源文件中的fastdfs-nginx-module-1.22
, 修改其scr/conf
文件。
修改mod_fastdfs.conf
:
# 第10行
base_path=/usr/local/fastdfs/storage
# 第40行
tracker_server=192.168.233.132:22122
# 第47行,需要改为自己的组名
group_name=group1
# 第53行
url_have_group_name = true
# 第62行
store_path0=/usr/local/fastdfs/storage
为Nginx添加fastdfs模块。
# 首先需要删除Makefile文件,否则还是没有添加上fastdfs模块
rm -rf Makefile
./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=/opt/FastDfs/fastdfs-nginx-module-1.22/src
make && make install
使用nginx -V
命令可以发现fastdfs模块已经集成进去了。
注意: 集成好fastdfs后访问以下首页,如果无法访问,查看/var/log/nginx/error.log
。若错误如下所示。则将刚刚配置的mod_fastdfs.conf文件拷贝到/etc/fdfs/
目录下, 再重启Nginx即可。
[2021-04-18 11:26:20] ERROR - file: /opt/FastDfs/fastdfs-nginx-module-1.22/src/common.c, line: 163, load conf file "/etc/fdfs/mod_fastdfs.conf" fail, ret code: 2
最后配置nginx的配置文件, 实现fastdfs的web访问。
server {
listen 8888;
server_name localhost;
location /groupname/M00 { #groupname设置刚刚在配置文件中配置的
ngx_fastdfs_module;
}
}
版权属于:带翅膀的猫
本文链接:https://www.chengpengper.cn/archives/152/
转载时须注明出处及本声明
哈哈哈,写的太好了https://www.lawjida.com/