ubuntu18.04下nginx配合fastdfs使用的安装和配置

前期准备

1.安装依赖包

#  新装的ubuntu缺少gcc编译,需要先安装这个 
sudo apt-get  install  build-essential

1.解压缩 libfastcommon-master.zip文件
2.进入到libfastcommon-master的目录中
3.执行 ./make.sh
4.执行 sudo ./make.sh install


1.解压缩 fastdfs-master.zip文件
2.进入到fastdfs-master的目录中
3.执行 ./make.sh
4.执行 sudo ./make.sh install( 安装完成后在/usr/bin/目录下有fdfs_trackerd文件,后续 启动的时候 要用  )

配置跟踪服务器tracker

1. sudo cp /etc/fdfs/tracker.conf.sample  /etc/fdfs/tracker.conf
2.在 /home/python/目录创建目录  fastdfs/tracker
     sudo  mkdir -p /home/python/fastdfs/tracker
3.编辑/etc/fdfs/tracker.conf配置文件
      sudo vim /etc/fdfs/tracker.conf
4.修改内容 
bash_path=/home/python/fastdfs/tracker

配置存储服务器storage

1. sudo cp /etc/fdfs/storage.conf.sample  /etc/fdfs/storage.conf
2.在 /home/python/fastdfs/目录创建目录  storage
      mkdir -p /home/python/fastdfs/storage
3.编辑/etc/fdfs/storage.conf配置文件
      sudo vim /etc/fdfs/storage.conf
4.修改内容 
base_path=/home/python/fastdfs/storage
store_path0=/home/python/fastdfs/storage
tracker_server=自己ubuntu虚拟机的ip地址:22122

启动

sudo /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
sudo /usr/bin/fdfs_storaged /etc/fdfs/storage.conf

测试是否安装成功

1. sudo cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
2.编辑/etc/fdfs/client.conf配置文件
      sudo   vim /etc/fdfs/client.conf
3.修改内容
base_path=/home/python/fastdfs/tracker
tracker_server=自己ubuntu虚拟机的ip地址:22122
4.上传文件测试
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf  ~/Desktop/touxiang.jpg(要上传的文件) 
如果返回类似group1/M00/00/00/rBCwA1_SVWqAEdUkAABA5jaIBAY570.jpg的文件id说明文件上传成功 
此时我们上传的图片 数据就  保存在之前我们创建的storage目录下的data目录下 /home/python/fastdfs/storage/data

安装nginx及fastdfs-nginx-module

1.安装nginx之前需要提前安装一些依赖包
#openssl安装
sudo apt-get install openssl libssl-dev
#pcre安装
sudo apt-get install libpcre3 libpcre3-dev
#zlib安装
sudo apt-get install zlib1g-dev
1.解压缩 nginx-1.8.1.tat.gz
2.解压缩 fastdfs-nginx-module-master.zip
3.进入nginx-1.8.1目录
4.执行
sudo ./configure --prefix=/usr/local/nginx/ --add-module=fastdfs-nginx-module-master解压后的目录的绝对路径/src
sudo make
sudo  make install

# 可能会出现以下错误
cc1: all warnings being treated as errors
objs/Makefile:440: recipe for target 'objs/src/core/ngx_murmurhash.o' failed
make[1]: *** [objs/src/core/ngx_murmurhash.o] Error 1
make[1]: Leaving directory '/home/mac/Desktop/FastDFS/nginx-1.8.1'
Makefile:12: recipe for target 'install' failed

# 解决办法
进入到你ngxin解压目录下的objs目录中找到Makefile
我自己的在: cd ~/Desktop/FastDFS/nginx-1.8.1/objs/
sudo vim Makefile
修改第三行CFLAGS的参数
将 --Werror参数删除掉即可

5.sudo cp ~/Desktop/FastDFS/fastdfs-nginx-module-master/mod_fastdfs.conf  /etc/fdfs/mod_fastdfs.conf
6.sudo vim /etc/fdfs/mod_fastdfs.conf
7.修改 内容为
connect_timeout=10
tracker_server=自己ubuntu虚拟机的ip地址:22122
url_have_group_name=true
8.sudo cp 解压缩的fastdfs-master目录下conf目录下的http.conf  /etc/fdfs/http.conf
9.sudo cp 解压缩的fastdfs-master目录下conf目录下的mime.types  /etc/fdfs/mime.types
10.sudo vim /usr/local/nginx/conf/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

# 浏览器上访问
127.0.0.1:8888    #可以看到nginx启动成功的页面
# 再访问我们之前上传的图片返回的一串信息,当看到图片成功显示 后说明就没有问题
http://127.0.0.1:8888/group1/M00/00/00/rBCwA1_SfPGAEj9CAABA5jaIBAY052.jpg

python客户端上传测试

# 在安装个python与fdfs交互的包,直接将包放到django目录下
pip install fdfs_client-py-master.zip 
# 使用
>>> from fdfs_client.client import Fdfs_client
>>> client = Fdfs_client('/etc/fdfs/client.conf')
>>> ret = client.upload_by_filename('test')
>>> ret
{'Group name':'group1','Status':'Upload successed.', 'Remote file_id':'group1/M00/00/00/
	wKjzh0_xaR63RExnAAAaDqbNk5E1398.py','Uploaded size':'6.0KB','Local file name':'test'
	, 'Storage IP':'192.168.243.133'}
posted @ 2020-12-11 04:10  我在路上回头看  阅读(41)  评论(0编辑  收藏  举报