1 下载安装文件
https://download.csdn.net/download/m0_37566009/86609129
2 安装的gcc
cd opt
mkdir gcc
cd gcc
rz gcc.zip
unzip gcc.zip
mv gcc.zip ../
rpm -ivh * --nodeps --force
3 验证gcc版本
[root@ZGZ-HLZKcc-43 fdfs]# gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)
Copyright © 2015 Free Software Foundation, Inc.
本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;
包括没有适销性和某一专用目的下的适用性担保。
4 安装libevent
cd opt
mkdir libevent
cd libevent
rz libevent-2.0.21-stable.tar.gz
tar -zxvf libevent-2.0.21-stable.tar.gz
cd libevent-2.0.21-stable
./configure -prefix=/usr
make
make install
5 查看是否安装成功
[root@ZGZ-HLZKcc-43 fdfs]# ls -al /usr/lib | grep libevent
lrwxrwxrwx. 1 root root 21 9月 21 14:52 libevent-2.0.so.5 -> libevent-2.0.so.5.1.9
-rwxr-xr-x. 1 root root 1139776 9月 21 14:52 libevent-2.0.so.5.1.9
-rw-r--r--. 1 root root 2220242 9月 21 14:52 libevent.a
lrwxrwxrwx. 1 root root 26 9月 21 14:52 libevent_core-2.0.so.5 -> libevent_core-2.0.so.5.1.9
-rwxr-xr-x. 1 root root 690032 9月 21 14:52 libevent_core-2.0.so.5.1.9
-rw-r--r--. 1 root root 1393170 9月 21 14:52 libevent_core.a
-rwxr-xr-x. 1 root root 980 9月 21 14:52 libevent_core.la
lrwxrwxrwx. 1 root root 26 9月 21 14:52 libevent_core.so -> libevent_core-2.0.so.5.1.9
lrwxrwxrwx. 1 root root 27 9月 21 14:52 libevent_extra-2.0.so.5 -> libevent_extra-2.0.so.5.1.9
-rwxr-xr-x. 1 root root 471792 9月 21 14:52 libevent_extra-2.0.so.5.1.9
-rw-r--r--. 1 root root 827144 9月 21 14:52 libevent_extra.a
-rwxr-xr-x. 1 root root 987 9月 21 14:52 libevent_extra.la
lrwxrwxrwx. 1 root root 27 9月 21 14:52 libevent_extra.so -> libevent_extra-2.0.so.5.1.9
-rwxr-xr-x. 1 root root 945 9月 21 14:52 libevent.la
lrwxrwxrwx. 1 root root 30 9月 21 14:52 libevent_pthreads-2.0.so.5 -> libevent_pthreads-2.0.so.5.1.9
-rwxr-xr-x. 1 root root 24008 9月 21 14:52 libevent_pthreads-2.0.so.5.1.9
-rw-r--r--. 1 root root 21982 9月 21 14:52 libevent_pthreads.a
-rwxr-xr-x. 1 root root 1008 9月 21 14:52 libevent_pthreads.la
lrwxrwxrwx. 1 root root 30 9月 21 14:52 libevent_pthreads.so -> libevent_pthreads-2.0.so.5.1.9
lrwxrwxrwx. 1 root root 21 9月 21 14:52 libevent.so -> libevent-2.0.so.5.1.9
6 安装 libfastcommon
cd /opt
mkdir fastdfs
cd fastdfs
rz libfastcommonV1.0.7.tar.gz
tar -zxvf libfastcommonV1.0.7.tar.gz
cd /usr/local/libfastcommon-1.0.7
./make.sh
./make.sh install
cd /usr/lib64/
cp libfastcommon.so /usr/lib
7 安装fastdfs集群规划192.168.0.1,192.168.0.2,192.168.0.3
192.168.0.1 tracker storage
192.168.0.2 storage
192.168.0.3 storage
tracker server是FastDFS文件系统的协调者,其主要作用是负载均衡和调度。Tracker server在内存中记录分组和Storage server的状态等信息,
storage fastdfs的存储服务
8 在192.168.0.1机器上安装fastdfs的tracker 服务
cd /opt/fastdfs
rz fastdfs-5.05.tar.gz
tar -zxvf fastdfs-5.05.tar.gz
cd fastdfs-5.05
./make.sh && ./make.sh install
cp conf/* /etc/fdfs/
cd /etc/fdfs/
vi tracker.conf
需要修改的配置项
base_path=/data/fastdfs/tracker tracker系统数据和日志存储地址
reserved_storage_space = 4GB 配置磁盘使用上限,4GB为至少剩余4GB
9 tracker启动
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
10 查看tracker启动日志
tail -f -n 200 /data/fastdfs/tracker/logs/trackerd.log
[2022-09-21 16:04:37] INFO - FastDFS v5.05, base_path=/data/fastdfs/tracker, run_by_group=, run_by_user=, connect_timeout=30s, network_timeout=60s, por
t=22122, bind_addr=, max_connections=256, accept_threads=1, work_threads=4, store_lookup=2, store_group=, store_server=0, store_path=0, reserved_storag
e_space=4096 MB, download_server=0, allow_ip_count=-1, sync_log_buff_interval=10s, check_active_interval=120s, thread_stack_size=64 KB, storage_ip_chan
ged_auto_adjust=1, storage_sync_file_max_delay=86400s, storage_sync_file_max_time=300s, use_trunk_file=0, slot_min_size=256, slot_max_size=16 MB, trunk
_file_size=64 MB, trunk_create_file_advance=0, trunk_create_file_time_base=02:00, trunk_create_file_interval=86400, trunk_create_file_space_threshold=2
0 GB, trunk_init_check_occupying=0, trunk_init_reload_from_binlog=0, trunk_compress_binlog_min_interval=0, use_storage_id=0, id_type_in_filename=ip, st
orage_id_count=0, rotate_error_log=0, error_log_rotate_time=00:00, rotate_error_log_size=0, log_file_keep_days=0, store_slave_file_use_link=0, use_conn
ection_pool=0, g_connection_pool_max_idle_time=3600s
[2022-09-21 16:04:37] INFO - local_host_ip_count: 3, 127.0.0.1 xx.xx.xx.xx xx.xx.xx.xx
[2022-09-21 16:06:46] INFO - file: tracker_relationship.c, line: 383, selecting leader...
[2022-09-21 16:06:47] INFO - file: tracker_relationship.c, line: 401, I am the new tracker leader xx.xx.xx.xx:22122
[2022-09-21 16:31:31] WARNING - file: tracker_mem.c, line: 4750, storage server: xx.xx.xx.xx:23000, dest status: 2, my status: 1, should change my stat
us!
[2022-09-21 16:31:31] WARNING - file: tracker_mem.c, line: 4750, storage server: xx.xx.xx.xx:23000, dest status: 5, my status: 2, should change my stat
us!
[2022-09-21 16:39:16] WARNING - file: tracker_mem.c, line: 4750, storage server: xx.xx.xx.xx:23000, dest status: 2, my status: 1, should change my stat
us!
[2022-09-21 16:39:16] WARNING - file: tracker_mem.c, line: 4750, storage server: xx.xx.xx.xx:23000, dest status: 5, my status: 2, should change my stat
us!
11 在192.168.0.1机器上安装fastdfs的storage 服务
cd /etc/fdfs
vi storage.conf
修改其中的一下配置项
base_path=/data/fastdfs/storage 数据存储位置和storage log存储的位置
store_path0=/data/fastdfs/storage 与上面同一路径
tracker_server=192.168.0.1:22122 连接的tracker
12 启动storage 服务
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start
13 查看storage 服务日志
tail -f -n 200 /data/fastdfs/storage/logs/storaged.log
[2022-09-21 16:06:46] INFO - file: storage_param_getter.c, line: 191, use_storage_id=0, id_type_in_filename=ip, storage_ip_changed_auto_adjust=1, store_path=0, reserved_storage_space=0 MB, use_trunk_file=0, slot_min_size=256, slot_max_size=16 MB, trunk_file_size=64 MB, trunk_create_file_advance=0, trunk_create_file_time_base=02:00, trunk_create_file_interval=86400, trunk_create_file_space_threshold=20 GB, trunk_init_check_occupying=0, trunk_init_reload_from_binlog=0, trunk_compress_binlog_min_interval=0, store_slave_file_use_link=0
[2022-09-21 16:06:46] INFO - file: storage_func.c, line: 254, tracker_client_ip: 10.24.13.43, my_server_id_str: xx.xx.xx.xx, g_server_id_in_filename: 722278410
[2022-09-21 16:06:46] INFO - local_host_ip_count: 3, 127.0.0.1 xx.xx.xx.xx xx.xx.xx.xx
[2022-09-21 16:06:46] INFO - file: tracker_client_thread.c, line: 310, successfully connect to tracker server xx.xx.xx.xx:22122, as a tracker client, my ip is xx.xx.xx.xx
[2022-09-21 16:07:16] INFO - file: tracker_client_thread.c, line: 1235, tracker server xx.xx.xx.xx:22122, set tracker leader: xx.xx.xx.xx:22122
[2022-09-21 16:28:16] ERROR - file: storage_sync.c, line: 2710, connect to storage server 10.24.13.44:23000 fail, errno: 113, error info: No route to host
[2022-09-21 16:30:32] ERROR - file: storage_sync.c, line: 2710, connect to storage server 10.24.13.44:23000 fail, errno: 111, error info: Connection refused
[2022-09-21 16:31:31] INFO - file: storage_sync.c, line: 2698, successfully connect to storage server xx.xx.xx.xx:23000, continuous fail count: 195
[2022-09-21 16:32:16] INFO - file: storage_sync.c, line: 2698, successfully connect to storage server xx.xx.xx.xx:23000
[2022-09-21 16:39:16] INFO - file: storage_sync.c, line: 2698, successfully connect to storage server xx.xx.xx.xx:23000
[2022-09-21 16:39:46] INFO - file: storage_sync.c, line: 2698, successfully connect to storage server xx.xx.xx.xx:23000
14 分别在192.168.0.2,192.168.0.3安装fastdfs ,在这两台机器上只启动storage 服务,连接192.168.0.1的tracker服务
15 fastdfs 上传文件测试
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /etc/fdfs/anti-steal.jpg
http直接访问文件,安装nginx并给nginx添加fastdfs插件
1 将fastdfs-nginx-module_v1.16.tar.gz放到/usr/local/目录下并解压
mv fastdfs-nginx-module_v1.16.tar.gz /usr/local/
tar -zxvf fastdfs-nginx-module_v1.16.tar.gz
2 修改fastdfs-nginx-module_v1.16/src/config的配置文件,将文件中的/usr/local/ --->/usr/
3 修改fastdfs-nginx-module_v1.16/src/mod_fastdfs.conf/
base_path=/home/fastdfs
tracker_server=xxx.xxx.xxx.xx:xxxx
url_have_group_name=true
store_path0=/home/fdfs_storage (storage的存储路径)
4 将nginx-1.22.0.tar.gz放到/usr/local/目录下并解压
mv nginx-1.22.0.tar /usr/local/
tar -zxvf nginx-1.22.0.tar
5 安装编译并安装nginx
./configure --add-module=/usr/local/fastdfs-nginx-module_v1.16/src
make && make install
6 配置nginx, /usr/local/nginx为安装的nginx位置
cd /usr/local/nginx/conf/
vi nginx.conf
server {
listen xxxx;
server_name localhost;
xxxxxx
localtion ~/group[0-9]//M00/ {
ngx_fastdfs_module;
}
}
7 启动nginx 查看nginx是否启动成功
cd /usr/local/nginx/sbin/
./nginx
ps -ef|grep nginx
8 防火墙开端口
//查看防火墙状态
firewall-cmd --state
//启动防火墙
systemctl start firewalld.service
//设置防火墙开机自启
systemctl enable firewalld.service
//重启防火墙
systemctl restart firewalld.service
//开80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
//查看已经开放的端口
firewall-cmd --list-ports
//移除开放的端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent
开完端口要重启防火墙才会生效
9 http访问文件,并且查看nginx日志,如果有错可以从日志中观察
tail -f -n 200 /usr/local/nginx/logs/error.log