1.准备软件
解压各文件夹
2.安装gcc和libevent
yum install gcc-c++ libevent perl gcc -y
3.安装libfastcommonV1.22工具包
#解压
cd libfastcommon-1.22
./make.sh
./make.sh install
备注:安装完后检查/usr/lib/是否存在libfastcommon.so,如果没有把/usr/lib64/libfastcommon.so文件向/usr/lib/下复制一份(命令:cp /usr/lib64/libfastcommon.so /usr/lib)
4.安装配置tracker
cd fastdfs-6.03
./make.sh
./make.sh install
#查看该目录下是否有相应的文件 配置文件都放到/etc/fdfs文件夹
find /usr/bin/ -name "fdfs*"
#把配置文件复制到/etc/fdfs/,以后使用复制过去的配置文件启动服务器
切换到cd /fastdfs/fastdfs-6.03/conf
复制 cp * /etc/fdfs/
#创建tracker目录
mkdir -p /home/fastdfs/tracker
#配置tracker服务。
修改vim /etc/fdfs/tracker.conf文件
#修改tracker数据及日志路径
base_path=/fastdfs/tracker
#启动tracker,使用之前拷贝的配置文件启动
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
#重启命令
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
5.安装配置storage
#如果是在不同的服务器安装,第四步的1~4需要重新执行。(单机版可以不用考虑)
mkdir -p /home/fastdfs/storage
vim /etc/fdfs/storage.conf #修改以下三处内容
base_path=/fastdfs/storage #修改storage路径
store_path1=/home/yuqing/fastdfs2 #修改数据存储目录路径
tracker_server=192.168.1.11:22122 #配置tracker服务器地址,如果是集群则配置多个
配置完成后启动storage服务。
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
6.测试安装是否成功
mkdir -p /home/fastdfs/client
vim /etc/fdfs/client.conf
#修改以下内容
base_path=/fastdfs #修改基础路径
tracker_server=192.168.1.11:22122 #修改tracker服务器地址
测试上传
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /etc/fdfs/anti-steal.jpg
显示以上类似信息则表示fastdfs 安装完成
7.搭建nginx提供http服务
重新编译nginx,添加fastdfs-nginx模块
1.解压fastdfs-nginx模块,修改配置
cd fastdfs-nginx-module/src
vim mod_fastdfs.conf
#拷贝过去,忘记拷过去的后果就是nginx启动起来,只有master没有worker
cp mod_fastdfs.conf /etc/fdfs
base_path=/fastdfs/storage #修改storage文件及日志路径
tracker_server=192.168.1.11:22122 #修改tracker服务器地址,集群则配置多个
url_have_group_name = true #修改url是否带group名
备注:如果fastdfs不是最新版本出现运行报错可能需要修改以下信息(目前6.03版本无需修改可正常运行)
vim /fastdfs-nginx-module/src/config 把其中的local去掉。如果仍然报错看错误信息 并且查找文件路径,在CORE_INCS或CORE_LIBS中添加。
2.nginx安装及配置
安装依赖包
yum install -y zlib zlib-devel pcre pcre-devel openssl openssl-devel
编译安装 并添加fastdfs-nginx-module模块
./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=/usr/local/fastdfs-nginx-module/src #fastdfs-nginx-module模块路径
make && make install
#配置访问
cd /usr/local/nginx/conf
vim nginx.conf
#nginx
user root;
server {
listen 80;
server_name 192.168.1.11;
location / {
proxy_pass [http://tomcats](http://tomcats/);
index index.html index.htm;
}
location ~/group[0-9]/M00/{
root /home/fastdfs/store/data #数据存储路径
ngx_fastdfs_module;
}
}
3.测试访问
启动nginx通过上传返回的地址测试访问
8.配置各个服务自动启动
配置nginx systemd自动启动
在/usr/lib/systemd/system路径新建nginx.service
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
~
然后开启自动启动systemctl enable nginx.service
配置storage tracker自动启动
在/usr/lib/systemd/system路径新建fdfs_trackerd.service
[Unit]
Description=fastdfs tracker
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/fastdfs/tracker/data/fdfs_trackerd.pid
ExecStart=/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
ExecReload=/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
ExecStop=/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
然后开启自动启动systemctl enable fdfs_trackerd.service
配置storage systemd自动启动
在/usr/lib/systemd/system路径新建fdfs_storaged.service
[Unit]
Description=fastdfs storage
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=simple
PIDFile=/fastdfs/storage/data/fdfs_storaged.pid
ExecStart=/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start
ExecReload=/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
ExecStop=/usr/bin/fdfs_storaged /etc/fdfs/storage.conf stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
然后开启自动启动systemctl enable fdfs_storaged.service