前期准备

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'}

ubuntu18.04下nginx配合fastdfs使用的安装和配置的更多相关文章

  1. Ubuntu18.04下MySQL8.0和Navicat15的安装与使用

    目录 一.MySQL8.0安装 二.Navicat安装并与MySQL连接 一.MySQL8.0安装 注意:若直接 sudo apt install mysql-server,你会发现安装后的版本是5. ...

  2. Ubuntu-18.04 下修改root用户密码,安装SSH服务,允许root用户远程登录,安装vsftp服务器

    修改root用户密码 打开终端,输入 sudo passwd root 指令: 安装SSH服务 ssh默认端口号是22,可以在/etc/ssh/sshd_config文件中修改 查看服务器否开启:ne ...

  3. ubuntu14.04下arm-linux-gcc 4.5.1的安装与配置

    使用的是友善之臂mini6410自带光盘中的. 1.对新版本arm-linux-gcc-5.4.1进行解压(注意,下面的C是大写的) tar zxvf arm-linux-gcc-4.5.1-v6-v ...

  4. Ubuntu18.04下的音频录制和编辑软件Ardour及QjackCtl(jackd gui)

    Ardour 是一个Linux和OSX下的多音轨录制和数字音频编辑软件. 需要配合ALSA或者JACK总线使用. 快速入门 http://brunoruviaro.github.io/ardour4- ...

  5. Ubuntu18.04下安装搜狗输入法

    Ubuntu18.04下安装搜狗输入法 第一步:安装 fcitx输入框架 sudo apt-get install fcitx 第二步:在官网下载 Linux 版本搜狗输入法 https://piny ...

  6. Ubuntu18.04下给PyCharm创建快捷方式

    Ubuntu18.04下给PyCharm创建快捷方式 该方法 WebStorm.PyCharm.Clion 等都适用. 步骤 终端输入: sudo gedit /usr/share/applicati ...

  7. ubuntu18.04 下利用conda安装opencv3

    ubuntu18.04 下利用conda安装opencv3 安装opencv3 conda install -c https://conda.anaconda.org/menpo opencv3 出现 ...

  8. ubuntu18.04下安装mysql后无法用mysqlworkbench访问

    问题描述:我在ubuntu18.04下执行以下命令安装mysql时遇到了mysqlworkbench无法连接root用户的问题.ubuntu18.04下默认安装mysql时是5.7版本的,但是5.7版 ...

  9. Ubuntu18.04下安装MySQL

    Ubuntu上安装MySQL非常简单只需要几条命令就可以完成. 1. sudo apt-get install mysql-server 2. apt-get isntall mysql-client ...

  10. Ubuntu18.04下搭建LAMP环境

    一.Apache2 web 服务器的安装 : 可以先更新一下服务器 1.sudo apt-get update             # 获取最新资源包 2.sudo apt-get upgrade ...

随机推荐

  1. 一个简单的科普-延迟与RT时间

    一个简单的科普-延迟与RT时间 背景 发现稍微一复杂就没人看. 这次像是写一个简单的科普文章. 主要说一下网络延迟还有网络的响应时间. 这里想通过一个题目进行引申. 如果Skylink全球商用: 中国 ...

  2. [转帖]Cgroups资源限制

    https://cloud.tencent.com/developer/article/2108816?areaSource=105001.13&traceId=QzVtWN5jGl8zeYZ ...

  3. [转帖]linux系统目录结构介绍

    linux的目录结构 Linux系统各个目录的作用 /: 根目录.有且只有一个根目录.所有的东西都是从根目录开始.举个例子:当你在终端里输入"/home",你其实是在告诉服务器,先 ...

  4. [转帖]整理常用的 vim 命令

    vim 是一款功能强大的文本编辑器,它是Linux下常用的编辑器之一,对于熟练掌握了 vim 的人来说,用它编辑文件,方便又快捷,能极大的提高工作效率 vim 功能强大,对应的命令也非常的多,对于初学 ...

  5. 从零开始配置vim(30)——DAP的其他配置

    很抱歉这么久才来更新这一系列,主要是来新公司还在试用期,我希望在试用期干出点事来,所以摸鱼的时间就少了.加上前面自己阳了休息了一段时间.在想起来更新就过去一个多月了.废话不多说了,让我们开始进入正题. ...

  6. 从零开始配置 vim(15)——状态栏配置

    vim 下侧有一个状态栏,会显示当前打开的文件等一系列内容,只是我们很少去关注它.而且原生的vim也支持对状态栏进行自定义.这篇文章主要介绍如何自定义状态栏 设置状态栏 我们可以采用 set stat ...

  7. python实现zip分卷压缩与解压

    1. python实现zip分卷压缩 WinHex 开始16进制一个一个文件对比 WinRar 创建的分卷压缩和单个 zip 文件的差异. 如果想把单个大文件 test.zip -> 分卷文件  ...

  8. 19.12 Boost Asio 获取远程进程

    远程进程遍历功能实现原理与远程目录传输完全一致,唯一的区别在于远程进程枚举中使用EnumProcess函数枚举当前系统下所有活动进程,枚举结束后函数返回一个PROCESSENTRY32类型的容器,其中 ...

  9. Win32汇编:仿写多态与虚函数

    多态性是面向对象的重要组成部分,利用多态可以设计和实现易于扩展的程序,所谓多态就是一个类函数有多重形态,具有不同功能的函数可以用同一个函数名,实现使用一个函数名调用不同内容的函数,从而返回不同的结果, ...

  10. 苹果iOS 17.2年底推送:iPhone 15 Pro的自定义操作按钮功能升级

    据报道,苹果会在年底推送iOS 17.2版本,新版系统将会修复iPhone 15系列WiFi速度慢的问题. 与此同时,iOS 17.2将会带来翻译功能,iPhone 15 Pro的自定义操作按钮切换到 ...