提前准备所需4个包:
FastDFS_v4.06.tar.gz
fastdfs-nginx-module_v1.16.tar.gz
libevent-2.0.20-stable.tar.gz
nginx-1.11.8.tar.gz
将所需包都拷贝到/usr/local/FastDFS目录下

一、安装步骤:
依赖包
tar zxvf libevent-2.0.19-stable.tar.gz
./configure --prefix=/usr
make clean
make
make install

二、安装FastDFS
tar zxvf FastDFS_v4.06.tar.gz
解压成功后会看到一个FastDFS名称的文件夹
cd FastDFS进入到解压目录下执行编译
./make.sh
./make.sh install

如果安装报错如下:
../common/sched_thread.o:在函数‘sched_start’中:
/usr/local/FastDFS/FastDFS/tracker/../common/sched_thread.c:495:对‘pthread_create’未定义的引用
../common/pthread_func.o:在函数‘init_pthread_lock’中:
/usr/local/FastDFS/FastDFS/tracker/../common/pthread_func.c:32:对‘pthread_mutexattr_init’未定义的引用
/usr/local/FastDFS/FastDFS/tracker/../common/pthread_func.c:40:对‘pthread_mutexattr_settype’未定义的引用
/usr/local/FastDFS/FastDFS/tracker/../common/pthread_func.c:57:对‘pthread_mutexattr_destroy’未定义的引用
../common/pthread_func.o:在函数‘init_pthread_attr’中:
/usr/local/FastDFS/FastDFS/tracker/../common/pthread_func.c:84:对‘pthread_attr_getstacksize’未定义的引用
/usr/local/FastDFS/FastDFS/tracker/../common/pthread_func.c:115:对‘pthread_attr_setstacksize’未定义的引用
../common/pthread_func.o:在函数‘create_work_threads’中:
/usr/local/FastDFS/FastDFS/tracker/../common/pthread_func.c:156:对‘pthread_create’未定义的引用
../common/pthread_func.o:在函数‘kill_work_threads’中:
/usr/local/FastDFS/FastDFS/tracker/../common/pthread_func.c:182:对‘pthread_kill’未定义的引用
collect2: error: ld returned 1 exit status
make: *** [fdfs_monitor] 错误 1

说明在执行make.sh过程中找不到pthread,也就是不同系统pthread的位置不一样,
需要在make.sh配置当前系统pthread的路径。
找到libpthread.so和libpthread.a
find / -name libpthread.so
/usr/lib/x86_64-linux-gnu/libpthread.so

find / -name libpthread.a
/usr/lib/x86_64-linux-gnu/libpthread.a

打开make.sh编辑
if [ -f /usr/lib/libpthread.so ] || [ -f /usr/local/lib/libpthread.so ] || [ -f /lib64/libpthread.so ] || [ -f /usr/lib64/libpthread.so ] || [ -f /usr/lib/libpthread.a ] || [ -f /usr/local/lib/libpthread.a ] || [ -f /lib64/libpthread.a ] || [ -f /usr/lib64/libpthread.a ];
这段修改为找到的libpthread.so和libpthread.a路径
if [ -f /usr/lib/x86_64-linux-gnu/libpthread.so ] || [ -f /usr/lib/x86_64-linux-gnu/libpthread.a ];

如果还报错:
if [ 1 -eq 1 -a /usr/local/lib = "/usr/local/lib" ]; then sh ./fdfs_link_library.sh; fi
ln: 无法创建符号链接"/usr/lib64/libfastcommon.so": 没有那个文件或目录
ln: 无法创建符号链接"/usr/lib64/libfdfsclient.so": 没有那个文件或目录

修改FastDFS下/client/fdfs_link_library.sh.in
先查找这两文件
find / -name 'libfastcommon.so'
/usr/lib/libfastcommon.so
/usr/local/lib/libfastcommon.so

find / -name 'libfdfsclient.so'
/usr/lib/libfdfsclient.so
/usr/local/lib/libfdfsclient.so

64位系统

if [ "$OS_BITS" = "8" ]; then
ln -fs $TARGET_LIB/libfastcommon.so.1 /usr/lib64/libfastcommon.so
ln -fs $TARGET_LIB/libfdfsclient.so.1 /usr/lib64/libfdfsclient.so
fi
修改为
if [ "$OS_BITS" = "8" ]; then
ln -fs $TARGET_LIB/libfastcommon.so.1 /usr/lib/libfastcommon.so
ln -fs $TARGET_LIB/libfdfsclient.so.1 /usr/lib/libfdfsclient.so
fi

修改完后重新./make.sh install

三、
创建保存tracker数据文件和日志目录:/usr/local/FastDFS/fastdfs_tracker
创建保存storage数据文件和日志目录:/usr/local/FastDFS/fastdfs_storage

四、
修改conf/tracker.conf
base_path=/usr/local/FastDFS/fastdfs_tracker

#fastdfs-client插件项目中配置文件fdfs_client.conf的http.tracker_http_port = 9999
http.server_port=9999

修改storage.conf
base_path=/usr/local/FastDFS/fastdfs_storage
store_path_count=1 //这里只配了一个store_path0所以为1
store_path0=/usr/local/FastDFS/fastdfs_storage
tracker_server=192.168.1.102:22122
http.server_port=8888

五、启动和测试
修改conf/client.conf
base_path=/usr/local/fastdfs_client //事先创建/usr/local/fastdfs_client目录
tracker_server=192.168.1.102:22122

启动tracker命令:fdfs_trackerd /usr/local/FastDFS/FastDFS/conf/tracker.conf
如果报错
fdfs_trackerd: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory
需要复制 cp /usr/lib/libevent-2.0.so.5 /usr/lib64/

启动storage命令:fdfs_storaged /usr/local/FastDFS/FastDFS/conf/storage.conf

测试上传:
fdfs_test /usr/local/FastDFS/FastDFS/conf/client.conf upload /usr/local/mt.jpeg

上传成功后访问:http://192.168.1.102:8888/group1/M00/00/00/wKg4ZViMChWAZ5IZAAJ3HMOTGwQ16_big.jpeg
这时候还访问不了需要安装Nginx

六、安装nginx
sudo mkdir /usr/local/nginx

解压fastdfs-nginx-module_v1.16.tar.gz
tar zxvf fastdfs-nginx-module_v1.16.tar.gz

解压nginx-1.11.8.tar.gz
tar zxvf nginx-1.11.8.tar.gz

进入nginx-1.11.8
添加自定义模块(带有FastDFS模块的Nginx)Nginx
sudo ./configure --prefix=/usr/local/nginx --add-module=/usr/local/FastDFS/fastdfs-nginx-module/src

如果报错:
./configure: error: the HTTP rewrite module requires the PCRE library.
需要安装pcre-devel
sudo apt-get install libpcre3 libpcre3-dev (ubuntu系统 )

如果报错:
./configure: error: the HTTP gzip module requires the zlib library.
安装libssl-dev
sudo apt-get install libssl-dev

然后执行
sudo make
sudo make install

七、
编辑/usr/local/nginx/conf/nginx.conf
//listen对应FastDFS/conf/storage.conf中的http.server_port=8888
listen 8888;
location ~/group1/M00 {
root /usr/local/FastDFS/fastdfs_storage/data;
ngx_fastdfs_module;
}

编辑/usr/local/FastDFS/fastdfs-nginx-module/src/mod_fastdfs.conf
tracker_server=192.168.1.102:22122
url_have_group_name = true
store_path0=/usr/local/FastDFS/fastdfs_storage

拷贝
sudo cp /usr/local/FastDFS/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/

----Nginx命令----
启动Nginx
sudo /usr/local/nginx/sbin/nginx

重启Nginx
sudo /usr/local/nginx/sbin/nginx -s reload

启动Nginx成功后再访问就可看到上传的图片了:
http://192.168.1.102:8888/group1/M00/00/00/wKg4ZViMChWAZ5IZAAJ3HMOTGwQ16_big.jpeg

----FastDFS命令----
启动:
fdfs_trackerd /usr/local/FastDFS/FastDFS/conf/tracker.conf
fdfs_storaged /usr/local/FastDFS/FastDFS/conf/storage.conf
或者
sudo /usr/local/bin/fdfs_trackerd /usr/local/FastDFS/FastDFS/conf/tracker.conf
sudo /usr/local/bin/fdfs_storaged /usr/local/FastDFS/FastDFS/conf/storage.conf

停止:
tracker: /usr/local/bin/stop.sh fdfs_trackerd
storage: /usr/local/bin/stop.sh fdfs_storaged

查看:
/usr/local/bin/fdfs_monitor /usr/local/FastDFS/FastDFS/conf/storage.conf
或者
fdfs_monitor /usr/local/FastDFS/FastDFS/conf/storage.conf

FastDFS_v4.06安装简记的更多相关文章

  1. ganglia安装简记

    首先需要安装EPEL的源. yum install -y ganglia.x86_64 ganglia-gmetad.x86_64 ganglia-web.x86_64 ganglia-gmond.x ...

  2. Ubuntu学习总结-06 安装 Nginx

    Nginx是由俄罗斯人(zhan dou min zu)开发的一款高性能的http和反向代理服务器,也可以用来作为邮件代理.相比较于其他的服务器,具有占用内存少,稳定性高等优势. 一 Ubuntu源码 ...

  3. Ubuntu 16.06 安装拼音输入法 设置双拼

    一不小心把Ubuntu删东西删坏了 呜- 刚好跟可恶的  下载 文件夹告别了 现在百度上的相关教程多多少少有些问题,多数过时了. +++++++++++++++++++++说正事专用分隔符++++++ ...

  4. Sublime Text 3 安装简记

    1.下载:( Sublime Text Version 3.1.1 Build 3176 ) https://www.sublimetext.com/3 2.安装Package Control: &q ...

  5. CentOS 7 软件安装简记

    Install SW Record ================= $ sudo yum install vim-X11.x86_64 $ sudo yum install clang.x86_6 ...

  6. MySQL免编译二进制包安装简记

    相比较于MySQL的源代码安装来说.免编译二进制包的速度实在是快了太多,而且性能损失也不是很大,同时具有一定的定制性.所以,如果没有特殊的 需求,尽量用MySQL免编译二进制包来安装MySQL. 1. ...

  7. CentOS7安装OpenStack(Rocky版)-06.安装Neutron网络服务(控制节点)

    上一章介绍了独立的nova计算节点的安装方法,本章分享openstack的网络服务neutron的安装配制方法 ------------------- 完美的分割线 ----------------- ...

  8. CDH5离线安装简记

    需要的介质如下:CM: cloudera-manager-el6-cm5.4.3_x86_64.tar.gzCDH parcel: CDH-5.4.0-1.cdh5.4.0.p0.27-el6.par ...

  9. FastDFS_v4.06+nginx-1.4.2配置详解

    径不带group名(storage只有一个group的情况),如/M00/00/00/xxx:       location /M00 {            ngx_fastdfs_module; ...

随机推荐

  1. java中的基本数据类型一定存储在栈中吗?

    首先说明,"java中的基本数据类型一定存储在栈中的吗?”这句话肯定是错误的. 下面让我们一起来分析一下原因: 基本数据类型是放在栈中还是放在堆中,这取决于基本类型在何处声明,下面对数据类型 ...

  2. <crtdbg.h> 的作用

    1.在调试状态下让win程在输出窗口中显示调试信息,可以用_RPTn 宏n为显示参数比如_RPT0(_CRT_WARN,"text"); _RPT1(_CRT_WARN," ...

  3. Linux电源管理【转】

    转自:http://www.cnblogs.com/sky-zhang/archive/2012/06/05/2536807.html PM notifier机制: 应用场景: There are s ...

  4. ubuntu 下抓包

    笔记本安装了ubuntu 14.04, 利用笔记本的网卡进行抓包时,需要将网卡配置为monitor模式. (1)关闭无线网卡 sudo ifconfig wlan0 down (2)将无线网卡配置为m ...

  5. zabbix安装及简单配置

    Zabbix基本介绍: zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案.它能监视各种网络参数,保证服务器系统的安全运营:并提供柔软的通知机制以让系统管理员快 ...

  6. 注解图Annotation

    该图来源于 竹子-博客(.NET/Java/Linux/架构/管理/敏捷) http://www.cnblogs.com/peida/archive/2013/04/26/3038503.html,感 ...

  7. 12-关于DOM操作的相关案例

    1.模态框案例 需求: 打开网页时有一个普通的按钮,点击当前按钮显示一个背景图,中心并弹出一个弹出框,点击X的时候会关闭当前的模态框 代码如下: <!DOCTYPE html> <h ...

  8. 常用adb操作命令详解

    1. 查看当前运行的所有设备adb devices 返回当前设备列表 这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示2. 安装软件adb install验证是否 ...

  9. PYTHON-模块定义 搜索路径

    模块是什么: ***** 模块 是一系列功能的集合体 一个py文件就是一个模块 一个函数就是一个功能 例如 A.py 文件名A.py 模块名 A 模块有哪些来源 内置 第三方 自定义 模块有四种通用的 ...

  10. [Android四大组件之二]——Service

    Service是Android中四大组件之一,在Android开发中起到非常重要的作用,它运行在后台,不与用户进行交互. 1.Service的继承关系: java.lang.Object → andr ...