Linux阿里云ECS-CentOS7配置FastDFS
配置到0点,终于搞定了搞懂了~
安装git
我将下载的文件都放在~/download内
yum install git
cd ~
mkdir download
安装libfastcommon
cd download
git clone https://github.com/happyfish100/libfastcommon.git
cd libfastcommon
./make.sh
./make.sh install
ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
./make.sh 时出现了3个warning,被我忽略了,没什么影响。
安装FastDFS
cd ..
git clone https://github.com/happyfish100/fastdfs.git
cd fastdfs
./make.sh
./make.sh install
查看是否安装成功,即找到下列文件
[root@banana fastdfs]# cd /etc/fdfs/
[root@banana fdfs]# ll
total 32
-rw-r--r-- 1 root root 1909 May 26 18:11 client.conf.sample
-rw-r--r-- 1 root root 10246 May 26 18:11 storage.conf.sample
-rw-r--r-- 1 root root 620 May 26 18:11 storage_ids.conf.sample
-rw-r--r-- 1 root root 9138 May 26 18:11 tracker.conf.sample
文件*.conf.sample改名为 *.conf
cp client.conf.sample client.conf
cp storage.conf.sample storage.conf
cp tracker.conf.sample tracker.conf
cp storage_ids.conf.sample storage_ids.conf
修改tracker配置文件
mkdir -p 创建多级目录,记住这个路径(路径随意)
mkdir -p /home/python/fastdfs/tracker
vim /etc/fdfs/tracker.conf
修改以下之后,保存退出:
# the tracker server port
port = 22122 # tracker服务的端口,与storage服务端口不同
# the base path to store data and log files
base_path = /home/python/fastdfs/tracker # 刚刚创建的目录
# HTTP port on this tracker server
http.server_port = 8090 # 默认8080
修改storage配置文件
mkdir -p 创建多级目录,记住这个路径:
-
/home/python/fastdfs/storage 保存基本数据和日志
-
/home/python/fastdfs/storage_data 很重要,用于保存数据
注意:这两个是不一样的路径,有的博客上两个路径一样,提示这是不对的
mkdir –p /home/python/fastdfs/storage
mkdir -p /home/python/fastdfs/storage_data
vim /etc/fdfs/storage.conf
查看自己阿里云服务器的公网/私网ip,我的服务器的地址,贴给各位看看也无妨~
# the storage server port
port = 23000 # storage服务的端口,与tracker服务端口不同
group_name = group1 # 默认组
base_path = /home/python/fastdfs/storage # 保存基本数据和日志
store_path0 = /home/python/fastdfs/storage_data # store_path非常重要和base_path务必不同
tracker_server = 172.31.88.233,47.56.205.156:22122 # 注意:此处是阿里云机器的内网和外网IP地址
# the port of the web server on this storage server
http.server_port = 8888 # storage服务的Web服务端口
修改client配置文件
vim client.conf
base_path = /home/python/fastdfs/tracker
tracker_server = 172.31.88.233,47.56.205.156:22122 # 阿里云机器的内网和外网IP地址 这个与配置tracker.conf里的port一致
http.tracker_server_port = 8090 # tracker.conf配置的port
查看服务是否启动
[root@banana conf]# /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
[root@banana conf]# /usr/bin/fdfs_storaged /etc/fdfs/storage.conf
[root@banana conf]# ps -aux | grep fdfs
root 6881 0.0 0.4 155284 4788 ? Sl 23:18 0:00 /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
root 6916 0.0 6.6 150176 67096 ? Sl 23:18 0:01 /usr/bin/fdfs_storaged /etc/fdfs/storage.conf
root 6973 0.0 0.0 112712 984 pts/1 R+ 23:40 0:00 grep --color=auto fdfs
查看我们创建的目录下,多了data和logs目录
[root@banana storage]# ll /home/python/fastdfs/tracker/
total 8
drwxr-xr-x 2 root root 4096 May 26 20:40 data
drwxr-xr-x 2 root root 4096 May 26 20:35 logs
[root@banana storage]# ll /home/python/fastdfs/storage/
total 8
drwxr-xr-x 2 root root 4096 May 26 20:36 data
drwxr-xr-x 2 root root 4096 May 26 20:36 logs
增加软引用
便于直接启动服务
[root@banana storage]# ln -s /usr/bin/fdfs_trackerd /usr/local/bin
[root@banana storage]# ln -s /usr/bin/fdfs_storaged /usr/local/bin
使用service命令启动服务并查看
[root@banana storage]# service fdfs_trackerd start
Starting fdfs_trackerd (via systemctl): [ OK ]
[root@banana storage]# service fdfs_storaged start
Starting fdfs_storaged (via systemctl): [ OK ]
[root@banana ~]# netstat -unltp | grep fdfs
tcp 0 0 0.0.0.0:22122 0.0.0.0:* LISTEN 6881/fdfs_trackerd
tcp 0 0 0.0.0.0:23000 0.0.0.0:* LISTEN 6916/fdfs_storaged
查看配置
最终使用的是公网,私网失败了。
[root@banana ~]# /usr/bin/fdfs_monitor /etc/fdfs/storage.conf
[2020-05-27 00:18:52] ERROR - file: connection_pool.c, line: 163, connect to server 172.31.88.233:22122 fail, errno: 110, error info: Connection timed out
tracker server is 47.56.205.156:22122
group count: 1
Group 1:
group name = group1
disk total space = 40,183 MB
disk free space = 33,419 MB
trunk free space = 0 MB
storage server count = 1
active server count = 1
storage server port = 23000
storage HTTP port = 8888
store path count = 1
subdir count per path = 256
current write server index = 0
current trunk file id = 0
Storage 1:
id = 47.56.205.156
ip_addr = 47.56.205.156 ACTIVE
http domain =
version = 6.06
join time = 2020-05-26 23:18:21
up time = 2020-05-26 23:18:21
total storage = 40,183 MB
free storage = 33,419 MB
upload priority = 10
store_path_count = 1
subdir_count_per_path = 256
storage_port = 23000
storage_http_port = 8888
上传测试
# 查看相关命令
[root@banana ~]# cd /usr/bin/ && ls | grep fdfs
fdfs_appender_test
fdfs_appender_test1
fdfs_append_file
fdfs_crc32
fdfs_delete_file
fdfs_download_file
fdfs_file_info
fdfs_monitor
fdfs_regenerate_filename
fdfs_storaged
fdfs_test
fdfs_test1
fdfs_trackerd
fdfs_upload_appender
fdfs_upload_file
# 上传图片 末尾是阿里云上的一张图片
[root@banana bin]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /root/JobRecruit_website/static/images/salary.png
group1/M00/00/00/LzjNnF7NSHWADXKhAABaSeIVnCE046.png
# 查看上传结果,路径是配置好的storage_data目录
[root@banana bin]# ll /home/python/fastdfs/storage_data/data/00/00/
total 24
-rw-r--r-- 1 root root 23113 May 27 00:48 LzjNnF7NSHWADXKhAABaSeIVnCE046.png