目录
一、资料下载
二、Centos安装
安装步骤自行百度,这里具体介绍网络设置。
2.1 NAT网络设置
(1)设置虚拟机为NAT网络,右击虚拟机->设置,如下图:
(2)查看VMnet8的网络设置
控制面板->网络和 Internet->网络连接,可见vmnet1和vmnet8两个虚拟网卡,查看vmnet8,右击->属性,查看ipv4地址,可见vmware已自动分配了一个地址。如下:
(3)共享网络
(4)设置虚拟网络编辑器,编辑->虚拟网络编辑器,如下:
此处的子网IP与vmnet8网段一致,vmnet8是192.168.19.10,则此处设置为192.168.19.0即可。掩码与vmnet8一致。
另外,“使用本地dhcp服务将IP地址分配给虚拟机”可以先勾选,后面固定IP的时候再取消。
(5)NAT设置
2.2 设置固定IP
- VMware虚拟网络编辑器中取消“使用本地DHCP服务将IP地址分配给虚拟机”的勾选。
- 修改/etc/sysconfig/network-scripts/中ifcfg开头的对应的网卡配置。
- 修改/etc/resolv.conf ,添加域名解析。
(1)修改网卡配置说明
注意当前网卡的名称,使用ifconfig可查看到,本机安装后网卡名称是:ifcfg-ens33;
打开此文件,主要配置以下几项(无则添加上去):
ONBOOT=yes 设置为开机后启动
#设置为静态
IPADDR=192.168.19.121 #此处设置固定的IP
NETMASK=255.255.255.0 #此处设置掩码
GATEWAY=192.168.19.2 #此处设置网关IP
BOOTPROTO=static
(2)修改/etc/resolv.conf 实现域名解析
注:主机的vmnet8网卡跟虚拟机必须同一网段
三、依赖安装
FastDFS运行需要一些依赖:
3.1 安装GCC依赖
GCC用来对C语言代码进行编译运行,使用yum命令安装:
sudo yum -y install gcc
3.2 安装unzip工具
unzip工具可以帮我们对压缩包进行解压
sudo yum install -y unzip zip
3.3 安装libevent
sudo yum -y install libevent
3.4 安装Nginx所需依赖
sudo yum -y install pcre pcre-devel zlib zlib-devel openssl openssl-devel
3.5 安装libfastcommon-master
这个没有yum包,只能通过编译安装:
-
解压刚刚上传的
libfastcommon-master.zip
tar -xvf libfastcommon-master.zip
-
进入解压完成的目录:
cd libfastcommon-master
-
编译并且安装:
sudo ./make.sh sudo ./make.sh install
四、FastDFS安装
4.1 编译安装
这里我们也采用编译安装,步骤与刚才的编译安装方式一样:
-
解压
tar -xvf FastDFS_v5.08.tar.gz
-
进入目录
cd FastDFS
-
编译并安装
sudo ./make.sh sudo ./make.sh install
-
校验安装结果
1)安装完成,我们应该能在/etc/init.d/
目录,通过命令ll /etc/init.d/ | grep fdfs
看到FastDFS提供的启动脚本:
其中:
-
fdfs_trackerd
是tracker启动脚本 -
fdfs_storaged
是storage启动脚本
2)我们可以在 /etc/fdfs
目录,通过命令查看到以下配置文件模板: (箭头标注的三个)
其中:
-
tarcker.conf.sample
是tracker的配置文件模板 -
storage.conf.sample
是storage的配置文件模板 -
client.conf.sample
是客户端的配置文件模板
4.2 启动tracker
FastDFS的tracker和storage在刚刚的安装过程中,都已经被安装了,因此我们安装这两种角色的方式是一样的。不同的是,两种需要不同的配置文件。
我们要启动tracker,就修改刚刚看到的tarcker.conf
,并且启动fdfs_trackerd
脚本即可。
-
编辑tracker配置
首先我们将模板文件进行赋值和重命名:
sudo cp tracker.conf.sample tracker.conf
sudo vim tracker.conf
打开tracker.conf
,修改base_path
配置:
- disabled=false #启用配置文件(默认启用)
- port=22122 #设置tracker的端口号,通常采用22122这个默认端口
- base_path=/leyou/fdfs/tracker # tracker的数据和日志存放目录
- http.server_port=6666 #设置http端口号,默认为8080
创建目录
刚刚配置的目录可能不存在,我们创建出来
sudo mkdir -p /leyou/fdfs/tracker
-
启动tracker
我们可以使用
sh /etc/init.d/fdfs_trackerd
启动,不过安装过程中,fdfs已经被设置为系统服务,我们可以采用熟悉的服务启动方式:
sudo service fdfs_trackerd start # 启动fdfs_trackerd服务,停止用stop
通过命令netstat -unltp|grep fdfs可以看到tracker服务运行的22122端口正常被监听:
另外,我们可以通过以下命令,设置tracker开机启动:
sudo chkconfig fdfs_trackerd on
4.3 启动storage
我们要启动tracker,就修改刚刚看到的tarcker.conf
,并且启动fdfs_trackerd
脚本即可。
-
编辑storage配置
首先我们将模板文件进行赋值和重命名:
sudo cp storage.conf.sample storage.conf
sudo vim storage.conf
打开storage.conf
,修改base_path
配置:
base_path=/leyou/fdfs/storage # storage的数据和日志存放目录
store_path0=/leyou/fdfs/storage # storage的上传文件存放路径
tracker_server=192.168.19.121:22122 # tracker的地址
-
创建目录
刚刚配置的目录可能不存在,我们创建出来
sudo mkdir -p /leyou/fdfs/storage
-
启动storage
我们可以使用
sh /etc/init.d/fdfs_storaged
启动,同样我们可以用服务启动方式:
sudo service fdfs_storaged start # 启动fdfs_storaged服务,停止用stop
端口监听:
另外,我们可以通过以下命令,设置tracker开机启动:
sudo chkconfig fdfs_storaged on
到此,可以看到此时已经正常监听tracker的22122端口和storage的23000端口,至此storage服务器就已经配置完成,确定了storage服务器启动成功后,还有一项工作就是看看storage服务器是否已经登记到 tracker服务器(也可以理解为tracker与storage是否整合成功),运行以下命令:
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
[root@localhost fdfs]# /usr/bin/fdfs_monitor /etc/fdfs/storage.conf
[2018-09-06 20:05:32] DEBUG - base_path=/leyou/fdfs/storage, connect_timeout=30, network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secret_key length=0, use_connection_pool=0, g_connection_pool_max_idle_time=3600s, use_storage_id=0, storage server id count: 0
server_count=1, server_index=0
tracker server is 192.168.19.121:22122
group count: 1
Group 1:
group name = group1
disk total space = 12277 MB
disk free space = 7387 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 = 192.168.19.121
ip_addr = 192.168.19.121 (localhost.localdomain) ACTIVE
http domain =
version = 5.08
join time = 2018-08-10 16:05:15
up time = 2018-09-06 14:21:44
total storage = 12277 MB
free storage = 7387 MB
upload priority = 10
store_path_count = 1
subdir_count_per_path = 256
storage_port = 23000
storage_http_port = 8888
current_write_path = 0
source storage id =
if_trunk_server = 0
connection.alloc_count = 256
connection.current_count = 0
connection.max_count = 1
total_upload_count = 114
success_upload_count = 114
total_append_count = 0
success_append_count = 0
total_modify_count = 0
success_modify_count = 0
total_truncate_count = 0
success_truncate_count = 0
total_set_meta_count = 0
success_set_meta_count = 0
total_delete_count = 0
success_delete_count = 0
total_download_count = 0
success_download_count = 0
total_get_meta_count = 0
success_get_meta_count = 0
total_create_link_count = 0
success_create_link_count = 0
total_delete_link_count = 0
success_delete_link_count = 0
total_upload_bytes = 4748434
success_upload_bytes = 4748434
total_append_bytes = 0
success_append_bytes = 0
total_modify_bytes = 0
success_modify_bytes = 0
stotal_download_bytes = 0
success_download_bytes = 0
total_sync_in_bytes = 0
success_sync_in_bytes = 0
total_sync_out_bytes = 0
success_sync_out_bytes = 0
total_file_open_count = 114
success_file_open_count = 114
total_file_read_count = 0
success_file_read_count = 0
total_file_write_count = 114
success_file_write_count = 114
last_heart_beat_time = 2018-09-06 20:05:23
last_source_update = 2018-09-06 17:58:12
last_sync_update = 1970-01-01 08:00:00
last_synced_timestamp = 1970-01-01 08:00:00
如上所示,看到192.168.19.121 ACTIVE 字样即可说明storage服务器已经成功登记到了tracker服务器。
现在FastDFS已经可以完成上传和下载了,但是FastDFS目前已不支持http协议,所以提供了nginx上使用FastDFS的模块fastdfs-nginx-module,下载地址如下:https://github.com/happyfish100/fastdfs-nginx-module,这样做最大的好处就是提供了HTTP服务并且解决了group中storage服务器的同步延迟问题,接下来就具体记录一下fastdfs-nginx-module的安装配置过程。
五、安装Nginx和FastDFS的Nginx模块
5.1 FastDFS的Nginx模块
-
解压
tar -xvf fastdfs-nginx-module_v1.16.tar.gz
-
配置config文件
# 进入配置目录 cd /home/leyou/fdfs/fastdfs-nginx-module/src/ # 修改配置 vim config # 执行下面命令(将配置中的/usr/local改为/usr): :%s+/usr/local/+/usr/+g
-
配置mod_fastdfs.conf
# 将src目录下的mod_fastdfs.conf复制到 /etc/fdfs目录: sudo cp mod_fastdfs.conf /etc/fdfs/ # 编辑该文件 sudo vim /etc/fdfs/mod_fastdfs.conf
-
修改一下配置:
connect_timeout=10 # 客户端访问文件连接超时时长(单位:秒) tracker_server=192.168.19.121:22122 # tracker服务IP和端口 url_have_group_name=true # 访问链接前缀加上组名 store_path0=/leyou/fdfs/storage # 文件存储路径
-
复制 FastDFS的部分配置文件到/etc/fdfs目录
cd /home/leyou/fdfs/FastDFS/conf/ cp http.conf mime.types /etc/fdfs/
5.2 安装Nginx
-
解压
tar -xvf nginx-1.10.0.tar.gz
-
配置
sudo ./configure --prefix=/opt/nginx --sbin-path=/usr/bin/nginx --add-module=/home/leyou/fdfs/fastdfs-nginx-module/src
-
编译安装
sudo make && sudo make install
-
配置nginx整合fastdfs-module模块
我们需要修改nginx配置文件,在/opt/nginx/conf/nginx.conf文件中:
-
启动
nginx # 启动 nginx -s stop # 停止 nginx -s reload # 重新加载配置