概述
〇. 准备
下载 依赖包libfastcommon-master.zip和安装包fastdfs-master.zip
下载 nginx-1.8.1.tar.gz 和 fastdfs-nginx-module-master.zip
ubuntu版本为: 18.10
一. 安装fastdfs依赖包
1. 解压缩libfastcommon-master.zip
unzip libfastcommon-master.zip
2. 进入到libfastcommon-master的目录中
cd libfastcommon-master
3. 编译依赖包
./make.sh
4. 安装依赖包
sudo ./make.sh install
二. 安装fastdfs
1. 解压fastdfs-master.zip
unzip fastdfs-master.zip
2. 进入到 fastdfs-master目录中
cd fastdfs-master
3. 编译fastdfs
./make.sh
4. 安装fastdfs
sudo ./make.sh install
三. 配置跟踪(调度)服务器tracker
1. 复制tracker的配置文件tracker.conf.sample, 并重命名为tracker.conf
sudo cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
2. 在/home/python/目录中创建目录 fastdfs/tracker: 用于存储追踪调度信息
mkdir -p /home/python/fastdfs/tracker
3. 修改tracker配置文件的信息
sudo vim /etc/fdfs/tracker.conf
修改 base_path=/home/python/fastdfs/tracker
四. 配置存储服务器storage
1. 复制storage的配置文件storage.conf.sample, 并重命名为storage.conf
sudo cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
2. 在/home/python/目录中创建目录 fastdfs/storage: 用于存储上传的文件
mkdir –p /home/python/fastdfs/storage
3. 修改storage配置文件信息
sudo vim /etc/fdfs/storage.conf
base_path=/home/python/fastdfs/storage
store_path0=/home/python/fastdfs/storage
tracker_server=自己ubuntu的ip地址:22122
五. 启动调度服务器tracker 和 存储服务器storage
方法1: (启动失败时,采用方法2)
sudo service fdfs_trackerd start
sudo service fdfs_storaged start
方法2:
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start
六. 测试是否安装成功
1. 复制client的配置文件client.conf.sample, 并重命名为client.conf
sudo cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
2. 修改client配置文件
sudo vim /etc/fdfs/client.conf
base_path=/home/python/fastdfs/tracker
tracker_server=自己ubuntu的ip地址:22122
3. 上传文件测试
方法1: (失败时,采用方法2)
fdfs_upload_file /etc/fdfs/client.conf 要上传的图片文件
例: fdfs_upload_file /etc/fdfs/client.conf images.jpg
方法2:
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf 要上传的图片文件
例: /usr/bin/fdfs_upload_file /etc/fdfs/client.conf images.jpg
如果返回类似group1/M00/00/00/wKgAf1wvCy6AG3FZAAA9Hv8O0zA328.jpg的文件id则说明文件上传成功
上传后的文件存放位置在/fastdfs/storage/data:
例如上述文件上传后的位置在: /home/python/fastdfs/storage/data/00/00/wKgAf1wvCy6AG3FZAAA9Hv8O0zA328.jpg
七. 安装nginx及fastdfs-nginx-module
1. 解压nginx-1.8.1.tar.gz
tar -zxvf nginx-1.8.1.tar.gz
2. 解压 fastdfs-nginx-module-master.zip
unzip fastdfs-nginx-module-master.zip
3. 进入nginx-1.8.1目录
cd nginx-1.8.1
4. 执行编译前需要安装如下依赖库
# 安装gcc g++的依赖库
sudo apt-get install build-essentialsudo apt-get install libtool
# 安装pcre依赖库(http://www.pcre.org/)
sudo apt-get updatesudo apt-get install libpcre3 libpcre3-dev
# 安装zlib依赖库(http://www.zlib.net)
sudo apt-get install zlib1g-dev
# 安装SSL依赖库(16.04默认已经安装了)
sudo apt-get install openssl
5. 创建安装目录
mkdir /usr/local/nginx
6. 执行预编译命令
sudo ./configure --prefix=/usr/local/nginx/ --add-module=/home/python/fastdfs-nginx-module-master/src
sudo make
执行预编译命令如果出现cc1: all warnings being treated as errors问题
解决方案:
修改文件 /home/python/nginx-1.8.1/objs/Makefile 去掉其中的 -Werror
sudo vim /home/python/nginx-1.8.1/objs/Makefile
执行预编译
sudo make install
7. 复制配置文件 fastdfs-nginx-module-master/src/mod_fastdfs.conf 到 /etc/fdfs/mod_fastdfs.conf
sudo cp fastdfs-nginx-module-master/src/mod_fastdfs.conf /etc/fdfs/mod_fastdfs.conf
8. 修改配置文件mod_fastdfs.conf内容
sudo vim /etc/fdfs/mod_fastdfs.conf
修改内容如下:
connect_timeout=10
tracker_server=自己ubuntu虚拟机的ip地址:22122
url_have_group_name=true
store_path0=/home/python/fastdfs/storage
9. 复制配置文件 fastdfs-master/conf/http.conf 到 /etc/fdfs/http.conf
sudo cp fastdfs-master/conf/http.conf /etc/fdfs/http.conf
10. 复制配置文件fastdfs-master/conf/mime.types 到 /etc/fdfs/mime.types
sudo cp fastdfs-master/conf/mime.types /etc/fdfs/mime.types
11. 复制配置文件nginx-1.8.1/conf/nginx.conf 到 /usr/local/nginx/conf/nginx.conf
sudo cp nginx-1.8.1/conf/nginx.conf /usr/local/nginx/conf/nginx.conf
在http部分中添加配置信息如下:
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;
}
}
12. 启动nginx
sudo /usr/local/nginx/sbin/nginx
八. 整体文件上传测试
1. 测试前需要保证模块mutagen已安装
pip3 install mutagen
2. 保证跟踪服务器, 存储服务器以及Nginx已打开
# 打开跟踪服务器
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
# 打开存储服务器
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start
# 打开Nginx
sudo /usr/local/nginx/sbin/nginx
3. 写一个测试代码
from fdfs_client.client import Fdfs_client
def main():
client = Fdfs_client("/etc/fdfs/client.conf")
ret = client.upload_by_filename("images.jpg")
print(ret)
if __name__ == '__main__':
main()
4. 如果有返回值如下, 说明上传成功:
{'Group name': 'group1', 'Remote file_id': 'group1/M00/00/00/wKgAf1w0bZyAVxnQAAA9Hv8O0zA358.jpg', 'Status': 'Upload successed.', 'Local file name': 'images.jpg', 'Uploaded size': '15.00KB', 'Storage IP': '192.168.0.127'}
5. (补充)查看文件上传位置
最后
以上就是寒冷裙子为你收集整理的fastDFS+nginx文件分布式存储服务器安装过程的全部内容,希望文章能够帮你解决fastDFS+nginx文件分布式存储服务器安装过程所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复