前提:下载压缩包 https://github.com/happyfish100 和nginx官网
fastdfs-6.06.tar.gz
fastdfs-nginx-module-1.22.tar.gz
libfastcommon-1.0.43.tar.gz
nginx-1.17.10.tar.gz
1.安装gcc
检查系统是否有安装GCC
gcc –version
安装GCC
yum -y install gcc gcc-c++ autoconf pcre pcre-devel make automake
yum -y install wget httpd-tools vim
2.安装libfastcommon
进入libfastcommon压缩包目录解压,编译,安装
tar -zxvf libfastcommonV1.0.7.tar.gz
进入解压的libfastcommon-1.0.7目录,编译
./make.sh
安装
./make.sh install
最后,libfastcommon.so文件到usr/lib下 ,请按照自己的实际文件路径修改被复制路径
注意: 在install 的时候 该so 可能安装到usr/lib下了
cp /data/fastDFS/software/libfastcommon-1.0.7/src/libfastcommon.so /usr/lib
3.安装FastDFS
解压FastDFS_v5.05.tar.gz
,然后编译安装FastDFS
tar -zxvf FastDFS_v5.05.tar.gz
./make.sh
./make.sh install
安装成功后将目录conf
内的文件拷贝到/etc/fdfs
目录下:
cp /data/fastDFS/software/FastDFS/conf/* /etc/fdfs/
4.安装tracker
进入/etc/fdfs
目录,修改tracker.conf
文件
# 日志文件路径 根据自己需要修改
base_path=/home/yuqing/fastdfs
# 组名 后面需要和storage.conf 里面的group_name一致
store_group=group1
之后,就启动tracker
,并查看是启动成功(出现如下提示,表示启动成功):restart重启
fdfs_trackerd /etc/fdfs/tracker.conf start
netstat -unltp | grep tracker
5.安装storage
由于storage和tracker运行的都是fastDFS程序,每一台服务器都部署一台fasfDFS,一台服务器是tracker,一台是storage
修改storage.conf
文件
# 日志路径 根据自己需要修改创建
base_path=/home/yuqing/fastdfs
# 实际储存文件路径,可以配置多个 根据自己需要修改创建
store_path0=/home/yuqing/fastdfs
# 连接tracker服务器地址
tracker_server=192.168.209.121:22122
# 必须和tracker的组名相同
group_name=group1
然后,就启动storage
,并查看是否成功
fdfs_storaged /etc/fdfs/storage.conf start
netstat -unltp | grep storage
最后,查看tracker
和storage
是不是在通信:
如下提示,出现ACTIVE
,表示二者均正常启动,至此就可以进行上传文件测试了。
6.测试图片上传
修改/etc/fdfs下client.conf
# 日志目录 自己改
base_path=/home/logs/client
# tracker端口 改成上面设置的
tracker_server=192.168.2.231:22122
如果报错:ERROR server: 192.168.1.22:22122, response status 28 != 0
说明磁盘空间不足!
7.安装fastdfs-nginx-module
首先解压fastdfs-nginx-module_v1.16.tar.gz
,修改/fastdfs-nginx-module/src/config文件。去掉所有的local(2、3个根据版本)
复制 fastdfs-nginx-module 源码中的配置文件到/etc/fdfs 目录, 并修改
cd fastdfs-nginx-module/src
cp mod_fastdfs.conf /etc/fdfs/
进入/etc/fdfs/修改mod_fastdfs.conf如下配置,其他默认
# 连接超时时间
connect_timeout=10
# Tracker Server
tracker_server=192.168.2.231:22122
# StorageServer 默认端口
storage_server_port=23000
# 如果文件ID的uri中包含/group**,则要设置为true
url_have_group_name = true
group_name=wechat
# Storage 配置的store_path0路径,必须和storage.conf中的一致
store_path0=/home/data/storage
# the base path to store log files
base_path=/home/logs/storage
8.安装Nginx
安装环境
# 检查是否已安装
yum list |grep gcc-c++
#gcc安装
yum install gcc-c++
#PCRE pcre-devel 安装
yum install -y pcre pcre-devel
# zlib 安装
yum install -y zlib zlib-devel
#OpenSSL 安装
yum install -y openssl openssl-devel
在nginx安装目录下执行如下命令:把module添加nginx中。通过设置安装参数方式添加模块。
解压、编译、安装。
tar -zxvf nginx-1.12.1.tar.gz
cd nginx-1.12.1
./configure --add-module=$YOUR_PATH/fastdfs-nginx-module/src
make && make install
查看Nginx的模块
# nginx 安装位置 /usr/local/
/usr/local/nginx/sbin/nginx -V
配置iNginx ,进入/usr/local/nginx/conf目录下修改nginx.conf
vim nginx.conf
添加
server {
# 这个端口 需要 和tracker.conf storage.conf 中 的 http_server_port一致 默认8080
listen 8080;
server_name 192.168.2.8;
location /wechat/M00 {
ngx_fastdfs_module;
}
}
启动
/usr/local/nginx/sbin/nginx
重新测试上传图片 返回的地址 +port 可访问图片