虚拟机准备,我这里是两台ubuntu1604的服务器,一台是tracker一台是storage
基本环境配置
在tracker的服务器上进行操作:
安装语言环境
sudo apt-get install build-essential
sudo apt-get install libevent-dev
事先上传好的文件
解压libfastcommon-1.0.42.tar.gz之后进入到该文件夹内会有一个make.sh,执行编译
./make.sh
编译之后再次执行命令
./make install
解压fastdfs-6.04.tar.gz之后进入到文件夹
执行编译
./make.sh
编译之后再次执行命令
./make install
然后进入到bin目录下是有一些配置文件的,后面都会用到,把这些配置文件进行拷贝
cp * /etc/fdfs
以上操作完毕之后在storage服务器上进行相同的操作
tracker修改配置文件
在tracker的服务器上,进入到/etc/fdfs路径下,修改tracker的配置
vim tracker.conf
base_path :的路径,这是用来存放数据、日志的,修改完毕之后启动tracker,
/usr/bin/fdfs_trackerd是启动的工具
/etc/fdfs/tracker.conf就是tracker的配置文件
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
storage修改配置文件
在storage的服务器上进行操作,修改配置
进入到/etc/fdfs路径下
vim storage.conf
group_name :这个是根据可以进行检验,按照自己的来
base_path :存放数据、日志的路径
storage_path0 :这是存放数据的路径
tracker_server :因为storage是要和tracker进行通信的,所以这个是配置tracker的地址信息
启动storage
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf
这里必须先启动tracker再启动storage,不然storage的心跳无法发送到tracker
测试上传
这时候我们就配置好了tracker和storage,我们可以进行测试,
在storage的服务器上修改client.conf
修改base_path和tracker_server就可以了
接下来就进行上传测试,在/usr/bin路径下有一个fdfs_test
/usr/bin/fdfs_test: 就是执行测试程序
/etc/fdfs/client.conf:测试的配置文件
upload:上传命令
icon.png:上传的图片(这个是我在事先上传好的)
/usr/bin/fdfs_test /etc/fdfs/client.conf upload icon.png
上传完毕之后,他返回的url地址是没法访问的,是需要用借助nginx来进行映射的
进行Nginx配置
进行Nginx的配合,这个是要在storage的服务器上进行配置,同样解压fastdfs-nginx-module-1.22.tar.gz,然后进入到其中的src下,修改config文件
去掉这其中的local,因为在之前的进行安装的时候是没有local的,是直接在/usr/include下的
还有一份mod_fastdfs.conf文件,将其进行拷贝,这是用来跟nginx直接进行配置的
cp mod_fastdfs.conf /etc/fdfs/
安装一下pcre pcre-devel,openssl
sudo apt-get install libpcre3 libpcre3-dev
sudo apt-get install openssl libssl-dev
安装zlib
sudo apt-get install zlib1g
sudo apt-get install zlib1g.dev
mkdir /var/temp/nginx -p
为nginx新增模块
./configure \
--add-module=/usr/local/FastDFS/fastdfs-nginx-module-1.22/src
然后
make
再
make install
接下来修改mod_fastdfs.conf 配置文件,在/etc/fdfs下的,之前拷贝过来的
base_path :日志文件
tracker_server :tracker的服务器地址
group_name :保持和strorage配置名称一致
url_hava_group_name :是否在url中显示group_name的名称,改为true
store_path0 :配置为strorage的存储路径一致,不然到时候访问不到图片
在nginx的配置文件中进行配置,将原先80的改成8888,groupName就是之前配置填写的groupName
server {listen 8888;server_name localhost;location /groupName {ngx_fastdfs_module;}}
然后重启一下nginx就可以字啊浏览器里访问了