FastDFS与Nginx的配合安装
FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。
本文从会从安装fastdfs到安装nginx并配合使用一步步的说明怎么做
我的经验是:安装一个工具之前,你需要搞清楚你要安装哪个版本,因为工具与工具之间配合如果因为版本不适配就会出现很多让人摸不着头脑的错,对于新手来说,实在是太难了,我就是新手。
一定要认真看文档,看官方的说明文档。
安装流程:
A.安装依赖包
- 获取libfastcommon安装包
git clone https://github.com/happyfish100/libfastcommon.git
- 解压安装包
ubzip libfastcommon-master.zip
- 进入目录
cd libfastcommon-master
- 进行编译
./make.sh
- 安装
sudo ./make.sh install
B.安装FastDFS
- 获取fdfs安装包
git clone https://github.com/happyfish100/fastdfs.git
- 解压安装包
unzip fastdfs-master.zip
- 进入目录
cd fastdfs-master
- 进行编译
./make.sh
- 安装
sudo ./make.sh install
C.配置文件
- 配置跟踪服务器tracker
sudo cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
# 创建目录
mkdir -p /home/admin/fastdfs/tracker
# 编辑/etc/fdfs/tracker.conf配置文件
sudo vim /etc/fdfs/tracker.conf
修改 base_path=/home/admin/fastdfs/tracker
- 配置存储服务器storage
sudo cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
# 创建目录
mkdir -p /home/admin/fastdfs/storage
# 编辑/etc/fdfs/storage.conf配置文件
sudo vim /etc/fdfs/storage.conf
修改:
base_path=/home/admin/fastdfs/storage
store_path0=/home/admin/fastdfs/storage
tracker_server=192.168.0.20:22122
# 注:填你的电脑的ip地址
D.启动服务
启动服务的时候有点小坑,所以会有两种走法。
正常走法:
sudo service fdfs_trackerd start
sudo service fdfs_storaged start
倘若出现Failed to start fdfs_trackerd.service: Unit fdfs_trackerd.service not found.这句话
就是没有启动,是因为服务没有添加到/usr/bin/,
那么就依照下面的这种:
cd ./fastdfs-5.11/tracker
sudo fdfs_trackerd /etc/fdfs/tracker.conf
cd /fastdfs-5.11/storage
sudo fdfs_storaged /etc/fdfs/storage.conf
# 然后查看下是否有fdfs这个进程
ps aux | grep fdfs
E.测试是否安装成功
# 拷贝一份示例配置文件为配置文件
sudo cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
# 编辑/etc/fdfs/client.conf配置文件,
sudo vim /etc/fdfs/client.conf
# 修改内容
base_path=/home/admin/fastdfs/tracker
tracker_server=ip:22122
fdfs_upload_file /etc/fdfs/client/conf ./text.txt
F.安装nginx及fastdfs-nginx-module
# 首先,你一定要仔细看fastdfs-nginx-module的安装文档,明白组件之间的适配版本是哪个。
# https://github.com/happyfish100/fastdfs-nginx-module/blob/master/INSTALL
# FastDFS版本>=6.03
# Nginx服务器版本应在1.15.1
# 下载fastdfs-nginx-module
wget https://github.com/happyfish100/fastdfs-nginx-module.git
# 下载nginx
http://nginx.org/download/nginx-1.15.1.tar.gz
nginx安装
下载:
# 1.openssl
git clone https://github.com/openssl/openssl.git
# 2.zlib
wget http://prdownloads.sourceforge.net/libpng/zlib-1.2.11.tar.gz
# 3.pcre
wget ftp://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz
安装:
# 安装Openssl
unzip openssl-master.zip
cd openssl-master
./config # 指定配置
sudo make # 编译
sudo make install # 安装
# 安装zlib
tar -zxvf zlib-1.2.11.tar.gz # 解压
cd zlib-1.2.11
./configure # 指定配置
sudo make # 编译
sudo make install # 安装
# 安装pcre
tar -zxvf pcre-8.43.tar.gz # 解压
cd pcre-8.43
./configure # 指定配置
sudo make # 编译
sudo make install # 安装
# 解压
tar -zxvf nginx-1.8.1.tar.gz
cd nginx-1.8.1
sudo ./configure --prefix=/usr/local/nginx/ --with-openssl=/home/ubuntu/openssl-master --with-zlib=/home/ubuntu/zlib-1.2.11 --with-pcre=/home/ubuntu/pcre-8.43 --add-module=/home/ubuntu/fastdfs-nginx-module-master/src
# 编译
sudo make
# 安装
sudo make install
–prefix=:指定安装目录
–with-openssl:指定依赖包解压后目录
–add-module:添加模块
G:nginx和fastdfs的配置
- 复制mod_fastds.conf到/etc/fdfs/目录下
sudo cp ./fastdfs-nginx-module-master/src/mod_fastdfs.conf /etc/fdfs/mod_fastdfs.conf
- 编辑这个文件
connect_timeout=10
tracker_server=ip:22122
url_have_group_name=true
store_path0=/home/ubuntu/fastdfs/storage
- 复制fastdfs-master/conf目录下的两个文件:http.conf和mime.types
sudo cp fastdfs-master/conf/http.conf /etc/fdfs/http.conf
sudo cp fastdfs-master/conf/mime.types /etc/fdfs/mime.types
- 修改nginx.conf配置文件
# 添加一下配置信息
server {
listen 8888;
server_name localhost;
location ~/group[0-9]/ {
ngx_fastdfs_module;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
- 启动nginx
cd /usr/local/nginx/sbin
# 启动
sudo ./nginx -c /usr/local/nginx/conf/nginx.conf
# 查看nginx服务进程(会有三个)
ps aux | grep nginx
H:测试
# 打开浏览器
#在地址栏里输入ip加端口和你之前fastdfs上传的文件返回的url,然后你能看到文本内容
http://127.0.0.1:8888/group1/M00/00/00/rBEABl3TxQ6ANpi7AAAADX0U3d0794.txt