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'}
ubuntu18.04下nginx配合fastdfs使用的安装和配置的更多相关文章
- Ubuntu18.04下MySQL8.0和Navicat15的安装与使用
目录 一.MySQL8.0安装 二.Navicat安装并与MySQL连接 一.MySQL8.0安装 注意:若直接 sudo apt install mysql-server,你会发现安装后的版本是5. ...
- Ubuntu-18.04 下修改root用户密码,安装SSH服务,允许root用户远程登录,安装vsftp服务器
修改root用户密码 打开终端,输入 sudo passwd root 指令: 安装SSH服务 ssh默认端口号是22,可以在/etc/ssh/sshd_config文件中修改 查看服务器否开启:ne ...
- 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 ...
- Ubuntu18.04下的音频录制和编辑软件Ardour及QjackCtl(jackd gui)
Ardour 是一个Linux和OSX下的多音轨录制和数字音频编辑软件. 需要配合ALSA或者JACK总线使用. 快速入门 http://brunoruviaro.github.io/ardour4- ...
- Ubuntu18.04下安装搜狗输入法
Ubuntu18.04下安装搜狗输入法 第一步:安装 fcitx输入框架 sudo apt-get install fcitx 第二步:在官网下载 Linux 版本搜狗输入法 https://piny ...
- Ubuntu18.04下给PyCharm创建快捷方式
Ubuntu18.04下给PyCharm创建快捷方式 该方法 WebStorm.PyCharm.Clion 等都适用. 步骤 终端输入: sudo gedit /usr/share/applicati ...
- ubuntu18.04 下利用conda安装opencv3
ubuntu18.04 下利用conda安装opencv3 安装opencv3 conda install -c https://conda.anaconda.org/menpo opencv3 出现 ...
- ubuntu18.04下安装mysql后无法用mysqlworkbench访问
问题描述:我在ubuntu18.04下执行以下命令安装mysql时遇到了mysqlworkbench无法连接root用户的问题.ubuntu18.04下默认安装mysql时是5.7版本的,但是5.7版 ...
- Ubuntu18.04下安装MySQL
Ubuntu上安装MySQL非常简单只需要几条命令就可以完成. 1. sudo apt-get install mysql-server 2. apt-get isntall mysql-client ...
- Ubuntu18.04下搭建LAMP环境
一.Apache2 web 服务器的安装 : 可以先更新一下服务器 1.sudo apt-get update # 获取最新资源包 2.sudo apt-get upgrade ...
随机推荐
- 【转帖】在ECS上配置skywalking-nginx-lua
https://help.aliyun.com/document_detail/197660.html 此处以在CentOS 7.0上的操作为例. 配置Lua运行环境. 安装工具库. yum in ...
- TCP内核参数与Nginx配置的简单测试
背景 昨天晚上整理了下几个TCP内核的参数. 学习到了一点内核参数的影响. 但是因为时间比较晚了没有继续钻研与nginx的关系 今天想着继续研究一下TCP的部分参数与nginx的关系 每个系统都不一样 ...
- 一个简单的监控java进程获取日志的办法
公司里面一个长时间运行的环境会出现问题, 这边简单写了一个脚本自动获取日志信息 脚本如下 注意 我的path 其实就是复用的 我们应用里面的jdk 剩下的就非常简单了. 每个日志都自动打包 并且移除 ...
- sed 删除包含某字符的一行 给包含某字符的一行添加 逗号的简单方法
今天处理环境折腾死了 方法: #给包含 configdata 的一行 添加 逗号结尾 find . -name "*.json" |xargs sed -i '/configdat ...
- Mark 一下 Redisson 可能需要升级版本
貌似有bug 我们高并发的情况下貌似遇到了 https://github.com/redisson/redisson/issues/2299
- error: Your local changes to the following files would be overwritten by merge
拉取代码出现 error: Your local changes to the following files would be overwritten by merge 解决方案 你团队其他成员修改 ...
- Spring框架源码分析
目录 Spring核心思想 Spring源码编译 自定义实现Spring框架IOC与DI Spring源码Ioc核心模块分析 BeanDefinition整体介绍 FactoryBean接口的使用 B ...
- linux下面权限的含义以及修改
linux中的权限 前言 数字权限 三位数字权限 读(r) 写(w) 执行(x) 无权限(-) 三位数字权限的转换 如何设置权限 最高位的含义 四位数字权限 SUID SGID SBIT 四位数字权限 ...
- 【一】AI Studio 项目详解【(一)VisualDL工具、环境使用说明、脚本任务、图形化任务、在线部署及预测】PARL
相关文章 [一]-环境配置+python入门教学 [二]-Parl基础命令 [三]-Notebook.&pdb.ipdb 调试 [四]-强化学习入门简介 [五]-Sarsa&Qlear ...
- C/C++ 通过Socket 传输结构体
本质上socket无法传输结构体,我们只有将结构体装换为字节数组,或者是字符串格式来传输,到了服务端在强制类型转换一下即可,下面的代码分别提供原生写法与通过boost的实现两种,直接改改,可用于收集目 ...