项目整体环境搭建
1.安装gcc环境(编译c环境)
yum install gcc-c++
2.安装libebvent环境(fastdfs环境)
yum -y install libevent
3.安装perl环境(编译c文件环境)
./
4.安装libfastcommon环境(fastdfs环境)
将提供的压缩包全部上传,首先解压libfastcommonV1.0.7.tar
tar -zxvf libfastcommonV1.0.7.tar.gz
cd libfastcommon-1.0.7/
./make.sh
./make.sh install
ibfastcommon安装好后会自动将库文件拷贝至/usr/lib64下,由于FastDFS程序引用usr/lib目录所以需要将/usr/lib64下的库文件拷贝至/usr/lib下
cp /usr/lib64/libfastcommon.so /usr/lib
tracker编译安装
1.解压FastDFS
tar -zxf FastDFS_v5.05.tar.gz
2.编译FastDFS
cd FastDFS
./make.sh
./make.sh install
3.安装成功后,将FastDFS下的conf文件下的所有文件复制到/etc/fdfs/下
cp -r conf/* /etc/fdfs/
4.配置tracker
cd /etc/fdfs/
vi tracker.conf
将base_path=/home/yuqing/FastDFS改为base_path=/home/fastdfs(可以通过命令符去查找,命令符:/base_path)
保存退出
5.创建fastdfs目录
mkdir /home/fastdfs
6.启动tracker
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart(可能需要两遍,不清楚原因)
7.设置开机自启
vi /etc/rc.d/rc.local
将命令添加到文件里面:/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
storage编译安装(由于单机安装,所以省略编译和环境安装,如果存储文件的跟客户端不在同一台机器则需要按照安装tracker一样的环境步骤安装)
1.配置storage
cd /etc/fdfs/
vi storage.conf
修改以下配置
group_name=group1
base_path=/home/yuqing/FastDFS改为:base_path=/home/fastdfs
store_path0=/home/yuqing/FastDFS改为:store_path0=/home/fastdfs/fdfs_storage
#如果有多个挂载磁盘则定义多个store_path,如下
#store_path1=.....
#store_path2=......
tracker_server=192.168.101.3:22122 #配置tracker服务器:IP
#如果有多个则配置多个tracker
tracker_server=192.168.101.4:22122
2.创建数据存储目录
mkdir /home/fastdfs/fdfs_storage
3.启动storage
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart(可能需要两遍,不清楚原因)
4.设置开机自启
vi /etc/rc.d/rc.local
将命令添加到文件里面:/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
整体完成,可以通过内部上传测试,看返回结果
1.修改上传客户端配置
vi /etc/fdfs/client.conf
修改以下配置
base_path=/home/fastdfs
tracker_server=你的ip:22122
2.上传命令
命令使用格式:
/usr/bin/fdfs_test 客户端配置文件地址 upload 上传文件
如:/usr/bin/fdfs_test /etc/fdfs/client.conf upload /root/FastDFS/conf/anti-steal.jpg
由于没有和nginx整合,所以无法使用http下载,也无法查看
配置fastdfs-nginx-module
1.解压fastdfs-nginx-module
tar -zxf fastdfs-nginx-module_v1.16.tar.gz
2.配置fastdfs-nginx-module
cd fastdfs-nginx-module/src
vi config
将文件中的/usr/local/路径改为/usr/(两个都改)
将mod_fastdfs.conf复制到/etc/fdfs/下
cp mod_fastdfs.conf /etc/fdfs/
修改etc/fdfs/下的mod_fastdfs.conf
vi mod_fastdfs.conf
修改mod_FastDFS.conf的以下内容:
base_path=/home/fastdfs
tracker_server=你的ip:22122
#tracker_server=你的ip:22122(多个tracker配置多行)
url_have_group_name=true #url中包含group名称
store_path0=/home/fastdfs/fdfs_storage #指定文件存储路径
将libfdfsclient.so拷贝至/usr/lib下
cp /usr/lib64/libfdfsclient.so /usr/lib/
创建nginx/client目录
mkdir -p /var/temp/nginx/client
nginx整合
storage上安装nginx
1.解压nginx
tar -zxf nginx-1.8.0.tar.gz
2.安装nginx环境
gcc环境(编译环境,上面已经安装):yum install gcc-c++
pcre环境(perl库,nginx的http模块使用pcre来解析正则表达式):yum install -y pcre pcre-devel
zlib环境(提供多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip):yum install -y zlib zlib-devel
openssl环境(算法和安全,https使用):yum install -y openssl openssl-devel
3.编译nginx
cd /root/nginx-1.8.1
./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=/root/fastdfs-nginx-module/src(fastdfs专有)
make
make install
4.创建编译链接
ln -s /usr/include/fast* /usr/local/include/
原因:编译安装nginx的fastdfs插件的头文件没有找到,由于编译nginx时候系统会到/usr/local/include,而编译安装fastdfs-nginx-module时则默认保存在了/usr/include目录。
修复:ln -s /usr/include/fast* /usr/local/include/
5.修改nginx配置
编译完成后,会自动将nginx安装到/usr/local/nginx
cd /usr/local/nginx/conf
vi nginx.conf
添加一个server
server {
listen 80;
server_name 本机;
location /group1/M00/ {
ngx_fastdfs_module;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
配置说明:
说明:
server_name指定本机ip
location /group1/M00/:group1为nginx 服务FastDFS的分组名称,M00是FastDFS自动生成编号,对应store_path0=/home/FastDFS/fdfs_storage,如果FastDFS定义store_path1,这里就是M01
进入到 cd /usr/local/nginx/sbin
6.启动nginx
cd /usr/local/nginx/sbin/
./nginx
7.查看进程: ps aux|grep nginx
8.关闭nginx
./nginx -s stop
9.刷新配置
./nginx -s reload
说明:
如果重启服务器会发现无法启动nginx,报错找不到某个文件
解决:mkdir /var/run/nginx(偷懒方法,不治本,下次重启依然会报错)
然后再运行nginx
![](https://img2024.cnblogs.com/blog/35695/202408/35695-20240813180353098-2140851696.jpg)